Skip to content

Releases: chainreactors/proton

Proton Native 9ad650edcca6b70afb63f338009671b06108bc76

Choose a tag to compare

fix(ci): preserve JNA directory structure in artifact upload

Each build job outputs to out/<jna-dir>/ and uploads the out/ tree.
merge-multiple then reconstructs the full directory layout correctly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

v0.3.2

Choose a tag to compare

@M09Ic M09Ic released this 01 Jul 10:21

found v0.3.2 binaries

v0.3.1

Choose a tag to compare

@M09Ic M09Ic released this 30 Jun 10:07

v0.3.1

proton 引擎更新

  • fix(scan): 修复多行文件扫描时 opResult 合并丢失 — 后续行的 matches/extracts 不再被静默丢弃
  • fix(template): Template.Execute 切换到 Request.ExecuteWithResults,正确支持文件/目录/glob 路径输入以及模板定义的 extensions/denylist 过滤
  • refactor: Finding/MatchEvent 类型迁移至 utils/parsers,统一跨项目类型定义
  • fix(compat): 修复 Go 1.17 构建兼容性,通过 build tag 隔离 Go 1.18+ 依赖

found 工具更新

  • fix(build): macOS 构建跳过 UPX 压缩(macOS 不支持 UPX)
  • fix(darwin): 修复 macOS mach_task_self() CGO 编译问题(宏包装为 C 函数)
  • docs: README 更新,补充进程扫描、网络捕获、注册表扫描、baseline、zombie 模式、C FFI 等文档
  • ci: goreleaser 构建后自动上传二进制到 proton release

v0.3.0

Choose a tag to compare

@M09Ic M09Ic released this 11 Jun 17:45

v0.3.0

proton 从文件扫描工具重构为纯匹配引擎 SDK,所有数据采集、CLI、Runner 等高级功能迁移至 found

proton 引擎更新

Breaking Changes

  • 移除 Scanner.Scan() — 不再内置目录遍历
  • 移除 ProcessFile() — 替换为 ReadFile() + ScanData()
  • 移除 CLI 入口、pkg/runner/sysinfo/(迁移至 found)
  • FFI 移除内置模板,ProtonNewScanner 改为 path-based
  • template.Execute 切换到 Scanner 后端

SDK API

接口 模式 用途
ScanData([]byte, label, group) 一次性,按行 文本匹配
ScanBlock([]byte, label, group) 一次性,滑动窗口 二进制匹配
NewLineWriter(label, cb) 流式 io.WriteCloser 持续文本流
NewBlockWriter(label, cb) 流式 io.WriteCloser 持续二进制流
ReadFile(path, group) 文件读取 返回 []FileContent

三层匹配管线

prefilter (bytes.Contains) → Aho-Corasick DFA → RE2 regex

FFI (C ABI)

int    ProtonNewScanner(const char* templatePath);
char*  ProtonScanData(int handle, const void* data, int len, const char* label);
char*  ProtonScanBlock(int handle, const void* data, int len, const char* label);
void   ProtonFreeScanner(int handle);
void   ProtonFreeString(char* s);

支持 Python/Rust/C/C++ 等任何 C FFI 语言集成。

其他改进

  • perf: 用 slice 替代 fileResult map,池化读缓冲区,迭代式 AC
  • perf: 内存扫描切换到 []byte API,减少分配
  • feat: Go 1.17 兼容性,通过 build tag 隔离 go-re2/fastwalk
  • refactor: protocols/file 迁移到 proton/file

found 工具更新

新功能

  • 进程扫描: --pid / --process 扫描进程内存、环境变量、命令行、FD、连接、管道
  • 网络捕获: --listen 实时抓包 + BPF 过滤 + TCP 流重组
  • 注册表扫描: --registry 扫描 Windows 注册表,--registry-hive 扫描离线 hive 文件
  • 系统级扫描: --config / --docker / --history / --git / --coredump / --keyring / --tmpfs
  • 实时监控: --clipboard 剪贴板监控,--keylog 击键监控
  • Zombie 模式: -o zombie 提取可操作的凭据目标(JDBC/ODBC/URL)
  • Baseline 工作流: -f baseline.json + --baseline 增量扫描,抑制已知发现
  • CI 集成: --fail-on 按严重级别退出非零
  • Ad-hoc 搜索: -e 正则表达式直接搜索,类似 ripgrep
  • 模板管理: --validate / -d / --update-templates
  • 文件收集: --collect 将匹配文件打包为 zip

改进

  • 从 proton 迁移 runner、sysinfo、sys protocol 到 found
  • macOS 支持 CGEventTap 击键监控
  • Windows 环境变量/命令行读取增强错误处理
  • 新增 37 个数据库后渗透服务模板
  • 新增 CLI 密码、curl auth header、连接字符串检测模板

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 31 May 12:58

found v0.2.0

found CLI 已从独立仓库迁入 proton,后续 proton 将改名为 found。此版本起请从本仓库获取 release。

🆕 New Features (vs found v0.1.1)

Template Management

  • --validate — 验证模板语法、必填字段、正则编译,支持 CI 集成(非零退出码)
  • -d / --template-display — 按 ID 或文件路径查看模板内容
  • --update-templates — 从 git 仓库(支持私有仓库)clone/pull 模板
  • --template-url — 指定模板仓库 URL(自动保存到 ~/.config/found/config.yaml
  • --update-template-dir — 自定义模板安装目录
  • 本地模板自动发现:~/.config/found/templates/ 存在时自动加载,无需 -t

Extract Rules

  • 新增 extract/ 模板分类(36 条规则),使用 nuclei file 协议格式替代旧版 extract.yaml
  • 分类覆盖:cloud、crawl、credential、info-leak、token

🔧 Engine Improvements (proton core)

  • Unified Scanner — 单次遍历多模板评估,三层过滤流水线(bytes.Contains → Aho-Corasick → RE2)
  • Aho-Corasick 迁移 — 使用 chainreactors/utils/ahocorasick,支持 LeftMostLongestMatch
  • 归档文件透明扫描(tar/tar.gz/zip/7z/rar)
  • 扩展目录裁剪规则(node_modules、pycache、.gradle 等)
  • 行号与字节偏移量追踪

📦 Architecture

  • found CLI 合并到 proton,统一为单一仓库
  • templates/ 改为 Go 包 template/(单数),templates/ 路径用于数据 submodule
  • pkg/data/*.binpkg/templates.gogo generate 生成,不再纳入 git 管理
  • CI:自动测试(push/PR)+ GoReleaser 自动发布(tag)

⬆️ Upgrade Notes

  • 所有 CLI 用法不变,二进制名仍为 found
  • 从本仓库 release 页面下载替换即可
  • 如使用 go installgo install github.com/chainreactors/proton@latest