Copenhagen0x/audit-pipeline-cli

GitHub: Copenhagen0x/audit-pipeline-cli

面向 Solana DeFi 协议的自主安全审计流水线,通过多代理侦察、经验性 PoC 验证和形式化证明实现从漏洞发现到修复验证的全自动闭环。

Stars: 0 | Forks: 0

# JELLEO **Solana DeFi 的自主免疫系统。** 四大相互关联的支柱——反事实主网检测、跨协议漏洞类别传播、闭环修复捆绑包,以及链上证明注册表——它们共同将静态 PDF 审计报告替换为自适应、自主的、生态系统可组合的安全机制。基于 F7-disclosure 方法论构建。首次部署:Anatoly Yakovenko 的 Percolator 永续 DEX。 历史记录:F7 披露至 [aeyakovenko/percolator-prog#39](https://github.com/aeyakovenko/percolator-prog/pull/39) —— 公开记录,回归测试覆盖范围在 `aeyakovenko/percolator-prog` 的 `main` 分支中被正式标记为 "PR39/F7"(提交 [`a1afd2e`](https://github.com/aeyakovenko/percolator-prog/commit/a1afd2e))。 **近期能力提升 (2026-04-28):** 工具使用深度审计模式 (`hunt-deep`) —— 代理拥有 `read_file`、`grep`、`find_function` 功能,并迭代探索源代码以提供带行号引用的判定。漏洞披露模式挖掘器 (`learn-from-disclosures`) 从公开的漏洞报告中自动生成同源假设。自定义 PoC 编写器 (`confirm`) 生成针对特定发现的 Rust 测试,并在 `cargo test` 下运行它们。有关示例输出,请参阅 [OUTREACH/jelleo-one-pager.md](OUTREACH/jelleo-one-pager.md) 和 [examples/](examples/)。 ## 四大支柱 (产品架构) Jelleo 的产品定位由四大相互关联的支柱组成。每个支柱都是一个独立的产品能力,它们与其他部分相互组合,形成自主免疫系统闭环: | 支柱 | 作用 | 现有原语 | |---|---|---| | **P1 — 反事实主网检测** | 针对分叉状态的逐笔交易并行模拟 —— 标记反事实状态与实际状态发生背离的交易,在攻击链完成之前实时进行。 | `shadow` (第 6 层) | | **P2 — 跨协议漏洞类别传播** | 当生态系统中的任何地方披露了某个漏洞时,自动提取其结构模式,并在几分钟内搜索所有已索引的协议以查找同类漏洞。 | `propagate`, `learn-from-disclosures` | | **P3 — 闭环修复捆绑包** | 漏洞被确认后,生成修复补丁,通过形式化证明(借助 Kani)验证其保留了所有其他不变量,校验测试套件,并将 漏洞 + 修复 + 证明 + 测试 捆绑为一个 PR。 | `confirm`, `synth-kani`, Ed25519 签名 | | **P4 — 链上证明注册表** | 每次审计周期都会发布一个经过加密签名的 Merkle 根,用于证明在哪个 commit SHA 处验证了哪些不变量。可组合的链上原语,其他协议可将其作为前置条件要求。 | Ed25519 签名,已签名的披露包 | P1 负责实时检测。P2 负责跨协议传播防御。P3 负责实现从披露到验证修复的闭环。P4 使每个周期在密码学层面上可组合。它们共同将静态 PDF 审计报告模型替换为自适应、自主且可链上组合的安全基础设施。 ## 实现流水线 上述四大支柱被实现为在每次上游 commit 时触发的分层狩猎周期。各层级组合成支柱;支柱是产品,而层级是技术架构: | 层级 | 能力 | |---|---| | **0** — 规范/代码偏差 | 持续检测协议规范与实现之间出现背离的位置(F7 级别)。 | | **1** — 多代理侦察 | N 个并行的 Claude 代理,每个代理负责一个假设。带有严重性标签的按目标假设库。 | | **1.5** — 对抗性辩论 | 针对每个有争议的判定提供第二意见挑战者。将被静默虚张声势的 FALSE 判定提升回候选集。 | | **1.6** — 跨协议传播 | 当得出一个发现时,会在已索引的语料库中搜索相同的模式。(支撑支柱 2。) | | **2** — 经验性 PoC | 在 `cargo test` 下运行自动搭建的状态守恒测试。触发的 PoC 可从经验上确认该发现。(支撑支柱 3。) | | **2.5 / 3** — Kani 形式化验证 | NL 到 Kani harness 的综合,带有编译-修复-重试循环。关于不变量的 SAFE 证明;关于违规的 CEX 证明。(支撑支柱 3。) | | **4** — LiteSVM 端到端 | BPF 级别的可达性 + 边界分析。验证公共 API 是否能将状态驱动至已验证的见证。 | | **5** — 跨平台复现 | 对比本地与主网等效 VPS 之间的测试输出差异,以消除平台伪影。 | | **6** — 实时主网影子 | 7x24 小时的 RPC 轮询 + 对已部署二进制文件进行字节级账户状态增量检测。(支柱 1 的基础。) | 每个判定 —— 确认、驳回或升级 —— 都会写入一个 SQLite 发现数据库,包含派生严重性(Critical / High / Medium / Low / Info)、强制生命周期状态机(`new → triaged → confirmed → disclosed → fixed → verified`)以及完整的审计轨迹状态转换记录。 ## 运维层 | 能力 | 详情 | |---|---| | **Slack / Discord 告警** | 确认发现后的实时 webhook 推送,附带严重性标签与周期元数据。 | | **GitHub Issue 自动建档** | 高于可配置严重性阈值的确认发现会自动起草(或自动建档)至目标代码库。生命周期状态转换为 `disclosed`。 | | **HTML 仪表盘** | 独立式 HTML 仪表盘,包含 KPI、严重性细分、目标卡片、近期发现以及 daemon 刷新状态。可从部署主机提供服务或附加到电子邮件中。 | | **按周期 + 每周 HTML 报告** | 品牌化执行报告,包含严重性评分标准、发现详情、审计轨迹。 | | **目标接入** | 单条命令 —— `audit-pipeline onboard ` —— 克隆、固定版本、搭建脚手架并注册新目标。为 `perp_dex`(为 Percolator 定制,125 个假设)提供基线假设库,并将 `lending` / `amm` 语料库作为第 2 年及以后的多协议脚手架。 | | **多目标能力** | 架构支持 N 个程序并行运行,并为每个目标提供完全隔离。首次部署仅为 Percolator;多协议扩展是第 2 年及以后的目标。 | ## 生产强化 | | | |---|---| | **systemd 管理的服务** | `jelleo-shadow`, `jelleo-watch`, `jelleo-health`, `jelleo-backup` —— 故障时自动重启,可在重启后存活。 | | **健康监控** | systemd 计时器每 5 分钟进行一次健康检查;在状态退化时(daemon 日志停滞、数据库损坏、错过周期)向 Slack 发送告警。 | | **每日数据库备份** | 每日 UTC 时间 04:30 执行 SQLite `.backup`,可配置轮换(默认 30 份副本)。 | | **速率限制器 + 带退避的重试** | 针对每个外部接口(Anthropic, GitHub, Solana RPC)的滑动窗口速率限制器。在遇到瞬时故障(429/502/503/504、超时、连接错误)时进行指数退避重试。 | | **结构化日志** | JSON 格式,按天轮换,默认保留 14 天。可通过管道导入任何日志传送流水线。 | | **硬性支出上限** | 在框架层面强制执行按周期和按天的支出上限。当达到上限时,周期会干净地中止。 | | **可复现性** | 每个发现都固定到 engine + wrapper 的 SHA 上。对同一 SHA 重新运行会得出相同的判定(受限于 LLM 的非确定性 —— 辩论机制对此进行了补偿)。 | ## 历史记录 | | | |---|---| | **F7 — Percolator 剩余守恒** | [aeyakovenko/percolator-prog#39](https://github.com/aeyakovenko/percolator-prog/pull/39)。2026 年 4 月披露 —— 识别出一种自交易保险抽水攻击类别。维护者关闭了该 PR 而未合并拟议的金库借记修复方案;选择引擎现有的保护措施(有界的 dt、有界的价格波动、偿付能力包络验证、A1 回归套件)作为防御路径。该披露在形式上被映射到 `main` 分支上标记为 "PR39/F7" 的 A1 回归覆盖范围([提交 `a1afd2e`](https://github.com/aeyakovenko/percolator-prog/commit/a1afd2e))。 | | **持续的 Percolator 覆盖** | Jelleo 7x24 小时针对 Percolator 引擎和 wrapper 代码库运行。每次 commit 都会触发一次完整的狩猎周期。 | | **假设库** | 磁盘上有 125 个手工整理的不变量:12 个基线 (`percolator.yaml`),101 个深层协议 (`percolator_deep.yaml`),12 个由 F7 衍生的同源假设 (`percolator_strict_helper_class.yaml`)。 | | **经验确认样本** | 三个由 `confirm` 自主生成并在真实引擎下通过 `cargo test` 的 Rust 集成测试。公开于 [examples/confirmed-tests/](examples/confirmed-tests/)。 | ## 架构 (简述) `watch --on-update` 触发 `hunt`,它将编排 `recon --auto` → `debate --auto` → `poc` → `synth-kani --auto` → 写入 `findings.db` → 生成周期产物 → 可选的告警/建档。 所有模块都是独立的 CLI 命令,仍可单独调用以用于离线分析、自定义工作流或人机协同调查。 ``` ─── Core 5-layer pipeline ───────────────────────── audit-pipeline init # scaffold a new audit workspace at pinned SHAs audit-pipeline provision-vps # one-time VPS setup (Rust + Solana + Kani + tmux) audit-pipeline sync # sync target repo to a VPS workspace audit-pipeline recon # render Layer 1 multi-agent hypothesis prompts audit-pipeline poc # generate Layer 2 PoC scaffold audit-pipeline kani # author + dispatch Layer 3 Kani harnesses audit-pipeline litesvm # author + dispatch Layer 4 LiteSVM tests audit-pipeline cross-check # Layer 5 cross-platform compare audit-pipeline disclose # generate disclosure docs from findings.yaml audit-pipeline run # interactive end-to-end walkthrough ─── Force multipliers ──────────────────────────── audit-pipeline spec-check # Layer 0: spec ↔ code gap analysis (--auto) audit-pipeline debate # Layer 1.5: adversarial second-opinion (--auto) audit-pipeline propagate # Layer 1.6: cross-protocol pattern search audit-pipeline synth-kani # Layer 2.5/3: NL → Kani harness with compile-fix-retry (--auto) audit-pipeline shadow start # Layer 6: 24/7 mainnet shadow audit audit-pipeline shadow tail # view recent alerts ─── Live source-code tracking ──────────────────── audit-pipeline freshness # one-shot: how stale is your workspace vs upstream? audit-pipeline watch # continuous: pull new commits + auto-rerun audit ─── Autonomous hunt loop (production entrypoint) ─ audit-pipeline hunt # recon → debate → PoC → Kani → DB → Slack/GitHub ─── Operations / commercial layer ──────────────── audit-pipeline onboard # one-shot: clone repo + scaffold + register target audit-pipeline dashboard # self-contained HTML status dashboard audit-pipeline report cycle # per-cycle HTML report audit-pipeline report weekly # rolling 7-day HTML summary audit-pipeline issue draft # render Markdown issue body for a finding audit-pipeline issue file # file via `gh issue create` audit-pipeline issue auto-file-confirmed # batch-file confirmed (severity floor) audit-pipeline health # daemon health check (systemd-timer integration) audit-pipeline narrative generate # LLM-generated finding writeups (description + reproduction + fix) audit-pipeline sign keygen / sign / verify # Ed25519-signed disclosure packages ─── Deep-audit layer (tool-using agents) ───────── audit-pipeline hunt-deep # tool-using agent loop: read_file + grep + find_function # produces line-cited verdicts audit-pipeline confirm # write custom Rust PoC test, compile, cargo test, classify # converts NEEDS_LAYER_2 leads -> confirmed/refuted ─── Hypothesis generation (autonomous) ──────────── audit-pipeline learn-from-disclosures # extract attack patterns from public GH issues, # generate sibling hypotheses audit-pipeline expand-coverage # generate hyps from spec.md, Kani-coverage gaps, # and wrapper public instruction handlers ``` ## 合作洽谈 如需持续审计合作、更深层次的假设库、自定义不变量开发或平台合作关系:请在本代码库中开启一个 issue,或通过 [Copenhagen0x](https://github.com/Copenhagen0x) 中的联系方式与我们取得联系。 ## 工程师安装 (面向贡献者和自托管运维人员) ``` git clone https://github.com/Copenhagen0x/audit-pipeline-cli cd audit-pipeline-cli pip install -e . ``` 需要 Python 3.10+。对于支持 LLM 的 `--auto` 模式,请设置 `ANTHROPIC_API_KEY`。对于 VPS 端工具链 (Rust 1.95+, Solana 3.1+, Kani 0.67+):`audit-pipeline provision-vps`。 生产部署 (systemd 管理): ``` sudo bash deploy/install_systemd.sh ``` 此操作将安装 `jelleo-{shadow,watch,health,backup}.{service,timer}`,拆除所有现有的 tmux 会话,启用相关单元并验证状态。 ## 许可证 Apache-2.0。详见 `LICENSE`。 方法论代码库:[Copenhagen0x/solana-audit-pipeline](https://github.com/Copenhagen0x/solana-audit-pipeline)
标签:Cargo, CISA项目, DeFi, F7披露, PoC生成, Rust, Solana, Web3安全, Web报告查看器, 云安全监控, 代码分析, 免疫系统, 凭证管理, 加密货币, 区块链, 区块链安全, 去中心化金融, 可视化界面, 子域名变形, 安全防护, 对称加密, 工具调用, 智能合约安全, 网络安全, 网络流量审计, 自动化审计, 跨协议漏洞, 逆向工具, 链上监控, 防御系统, 隐私保护, 静态分析