cognis-digital/reentryx

GitHub: cognis-digital/reentryx

REENTRYX 是一款面向 Solidity/Vyper 智能合约的重入漏洞静态与符号执行检测器,支持 SARIF 输出以实现 CI 门控。

Stars: 0 | Forks: 0

REENTRYX # REENTRYX ### 静态 + 符号执行检测器,能够标记 Solidity/Vyper 中的重入、跨函数和只读重入路径,并输出用于 CI 门控的 SARIF 报告。 [![PyPI](https://img.shields.io/pypi/v/cognis-reentryx.svg?color=6b46c1)](https://pypi.org/project/cognis-reentryx/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/3de4076bfc162720.svg)](https://github.com/cognis-digital/reentryx/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) *Web3 与智能合约安全 —— 链上安全与分析。*
``` pip install cognis-reentryx reentryx scan . # → prioritized findings in seconds ``` ## 使用说明 —— 分步指南 1. **安装** (Python 3.9+): pip install reentryx # 或: pipx install reentryx 2. **扫描 Solidity 源码。** 将 `scan` 指向一个或多个文件或目录: reentryx scan contracts/ 3. **缩小检测器范围并输出机器可读报告。** 使用 `--only` 运行特定规则,并使用 `--format` 输出 `table`、`json` 或 `sarif` 格式: reentryx scan contracts/Vault.sol --only reentrancy --format json -o findings.json 4. **阅读结果。** 每个发现都包含检测器 ID、严重程度和源码位置。`sarif` 格式可直接上传至代码扫描仪表板;当存在发现时,进程将以非零状态退出(使用 `--exit-zero` 可禁止此行为)。 5. **浏览知识库** 以查看存在哪些检测器: reentryx rules --format table 6. **在 CI 中进行门控。** 输出 SARIF 供 GitHub 代码扫描使用,并在出现任何发现时使构建失败: reentryx scan contracts/ --format sarif -o reentryx.sarif ## 目录 - [为什么选择 reentryx?](#why) · [功能](#features) · [快速开始](#quick-start) · [示例](#example) · [架构](#architecture) · [AI 技术栈](#ai-stack) · [对比](#how-it-compares) · [集成](#integrations) · [随处安装](#install-anywhere) · [相关工具](#related) · [贡献](#contributing) ## 为什么选择 reentryx? 只读重入是 2023-2025 年间大多数 linter 仍然遗漏的漏洞类别;一款专注、快速、原生支持 MCP 且能让 PR 阻塞合并的检测器,正在审计公司中迅速流行。 `reentryx` 是单一用途、可脚本化且可自托管的:将其指向目标,即可根据您工作流已有的格式(table · JSON · SARIF)获取优先排序的结果,在 CI 中据此进行门控,并允许 agent 通过 MCP 驱动它。
↑ 返回顶部
## 功能 - ✅ 分析源码 - ✅ 分析文件 - ✅ 发现结果输出为 Json - ✅ 发现结果输出为 Sarif - ✅ 支持 Linux/macOS/Windows · Docker · devcontainer 运行 - ✅ 提供 Python、JavaScript、Go 和 Rust 移植版 (`ports/`)
↑ 返回顶部
## 快速开始 ``` pip install cognis-reentryx reentryx --version reentryx scan . # scan current project reentryx scan . --format json # machine-readable reentryx scan . --fail-on high # CI gate (non-zero exit) ```
↑ 返回顶部
## 示例 ``` $ reentryx scan . [HIGH ] REE-001 example finding (./src/app.py) [MEDIUM ] REE-002 another signal (./config.yaml) 2 findings · risk score 5 · 38ms ```
↑ 返回顶部
## 架构 ``` flowchart LR IN[input] --> P[reentryx
analyze + score] P --> OUT[report] ```
↑ 返回顶部
## 从任何 AI 技术栈中使用 `reentryx` 可以与所有流行的 AI 使用方式互操作: - **MCP 服务器** —— `reentryx mcp` (Claude Desktop, Cursor, Cognis.Studio, [uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet)) - **兼容 OpenAI / JSON** —— 将 `reentryx scan . --format json` 通过管道传递给任何 agent 或 LLM - **LangChain · CrewAI · AutoGen · LlamaIndex** —— 一行代码即可将 CLI/JSON 封装为工具 - **CI / 脚本** —— 为非 AI 流水线提供退出码 + SARIF
↑ 返回顶部
## 对比 | | **Cognis reentryx** | Slither | |---|:---:|:---:| | 可自托管,无需账号 | ✅ | 视情况而定 | | 单一命令,零配置 | ✅ | ⚠️ | | 用于 CI 的 JSON + SARIF | ✅ | 视情况而定 | | 原生支持 MCP (AI agent) | ✅ | ❌ | | 多语言移植版 (JS/Go/Rust) | ✅ | ❌ | | 开源许可证 | ✅ COCL | 视情况而定 | *秉承 **Slither** 的精神,以 Cognis 的方式重新塑造。遗漏了致谢?提交一个 PR 吧。*
↑ 返回顶部
## 集成 接入您的技术栈:用于代码扫描的 **SARIF**,用于任何场景的 **JSON**,用于 AI agent 的 **MCP 服务器** (`reentryx mcp`),以及用于 SIEM/Slack/Jira 的 webhook 转发器。详见 [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md)。
↑ 返回顶部
## 安装 —— 各种方式、各种平台 ``` pip install "git+https://github.com/cognis-digital/reentryx.git" # pip (works today) pipx install "git+https://github.com/cognis-digital/reentryx.git" # isolated CLI uv tool install "git+https://github.com/cognis-digital/reentryx.git" # uv pip install cognis-reentryx # PyPI (when published) docker run --rm ghcr.io/cognis-digital/reentryx:latest --help # Docker brew install cognis-digital/tap/reentryx # Homebrew tap curl -fsSL https://raw.githubusercontent.com/cognis-digital/reentryx/main/install.sh | sh ``` | Linux | macOS | Windows | Docker | 云平台 | |---|---|---|---|---| | `scripts/setup-linux.sh` | `scripts/setup-macos.sh` | `scripts/setup-windows.ps1` | `docker run ghcr.io/cognis-digital/reentryx` | [DEPLOY.md](docs/DEPLOY.md) (AWS/Azure/GCP/k8s) |
↑ 返回顶部
## 相关 Cognis 工具 - [`forkfuzz`](https://github.com/cognis-digital/forkfuzz) —— 主网分叉不变性模糊测试器,针对实时状态和有状态序列重放您的合约,以在部署前破坏协议不变性。 - [`approvewarden`](https://github.com/cognis-digital/approvewarden) —— 扫描任何钱包中危险的 ERC-20/721/1155 代币授权和无限额度,对资金流失风险进行评分并生成撤销交易。 - [`mevscope`](https://github.com/cognis-digital/mevscope) —— 重放交易或地址历史,以归因三明治攻击、抢跑和尾跑 MEV 提取,并进行每笔交易的损失核算。 - [`rugradar`](https://github.com/cognis-digital/rugradar) —— 代币合约风险扫描器,在您盲目投资前检测蜜罐、隐藏的铸币/黑名单函数、所有者后门以及未锁定的流动性。 - [`storagelens`](https://github.com/cognis-digital/storagelens) —— 对跨代理升级的合约存储布局进行差异比对和解码,以捕获存储碰撞和未初始化插槽漏洞。 - [`sigsleuth`](https://github.com/cognis-digital/sigsleuth) —— 将原始 calldata 和 EIP-712 类型化数据解码为人类可读的意图,标记盲签和恶意的 permit/Permit2 载荷。 **探索该套件 →** [🗂️ 全部 170+ 工具](https://github.com/cognis-digital/cognis-neural-suite) · [⭐ awesome-cognis](https://github.com/cognis-digital/awesome-cognis) · [🔗 cognis-sources](https://github.com/cognis-digital/cognis-sources) · [🤖 uncensored-fleet](https://github.com/cognis-digital/uncensored-fleet) · [🧠 engram](https://github.com/cognis-digital/engram)
↑ 返回顶部
## 互操作性 `{}` 与包含 300+ 工具的 Cognis 套件组合使用 —— 统一的 JSON 输入/输出以及共享的、兼容 OpenAI 的 `/v1` 骨干网络。请参阅 **[INTEROP.md](INTEROP.md)** 了解套件图谱、组合模式以及参考技术栈。 ## 许可证 源码可见,基于 **Cognis Open Collaboration License (COCL) v1.0** 授权 —— 可免费用于个人、内部评估、研究和教育用途;**商业/生产环境使用需要获取许可证** (licensing@cognis.digital)。参见 [LICENSE](LICENSE)。
Cognis Digital · Cognis Neural Suite 中 170+ 工具之一 · 让明天更美好
标签:SARIF, Solidity, Vyper, Web3安全, 图数据库, 智能合约审计, 符号执行, 请求拦截, 逆向工具, 重入漏洞检测, 错误基检测, 静态代码分析