calc1f4r/Horus

GitHub: calc1f4r/Horus

一个便携式的多运行时智能合约 AI 审计工作流框架,通过分层检索架构和可复用 Playbook 将漏洞知识库与多阶段审计流程有机结合,让不同 AI Agent 在统一方法论下协同完成从侦察到报告的全流程审计。

Stars: 0 | Forks: 0

# Horus **用于智能合约审计的便携式 Agentic 工作流。** Horus 是一个安全知识体系,旨在让多个 Agent 运行时能够在相同的数据库、相同的检索规则和相同的审计 Playbook 下协同工作。 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![Patterns](https://img.shields.io/badge/patterns-2%2C258-brightgreen)](DB/manifests) [![Manifests](https://img.shields.io/badge/manifests-14-orange)](DB/manifests) [![Hunt Cards](https://img.shields.io/badge/hunt%20cards-1%2C522-red)](DB/manifests/huntcards) [![Agents](https://img.shields.io/badge/agents-35-blueviolet)](.github/agents) [![Reports](https://img.shields.io/badge/raw%20reports-22%2C200%2B-yellow)](reports)
## 这个仓库究竟是什么 Horus 不是一个普通的应用程序,也不仅仅是一个提示词集合。 它是一个分层系统: 1. 知识源:`DB/` 中精心整理的漏洞条目,`reports/` 中的原始发现,`DeFiHackLabs/` 中的利用 PoC,以及 `invariants/` 中的参考属性。 2. 检索层:生成的路由器、清单、关键词索引和 Hunt Cards,让 Agent 在阅读长篇内容之前缩小上下文范围。 3. 工作流层:可复用的审计 Playbook、技能、规则和共享参考。 4. 运行时层:针对 Claude、Codex、GitHub、Gemini CLI 和基于编辑器的 Agent 的运行时特定入口和生成界面。 5. 执行层:grep-prune(grep 剪枝)、分片分区、合并、PoC、Fuzzing(模糊测试)、形式化验证和评判流程。 该仓库的目的是让不同的 Agent 执行相同的审计工作流,而不是强迫每个运行时从头重新发现方法论。 ## 为什么会有 Horus 大多数 AI 审计系统以以下两种方式之一失败: - 它们拥有庞大的语料库,但没有严格的方法来只检索重要的内容 - 它们拥有复杂的提示词,但没有持久的知识基底或可复现的工作流 Horus 将这些部分结合在一起: - 检索以路由优先和 grep 优先 - 数据库条目被索引成紧凑的机器可用工件 - 审计生命周期被编码为可复用的 Agent Playbook - 这些 Playbook 通过多个运行时界面暴露 结果是一个可以支持快速查找、变体分析和完整多阶段审计的仓库。 ## 运行时兼容性 兼容性模型是经过深思熟虑的。一些运行时在这里拥有原生界面;其他的则将相同的 Playbook 作为工作区指令来使用。 | 运行时 | 支持模型 | 主要界面 | |---|---|---| | Claude Code | 原生源运行时 | [`CLAUDE.md`](CLAUDE.md), [`.claude/agents/`](.claude/agents), [`.claude/skills/`](.claude/skills), [`.claude-plugin/plugin.json`](.claude-plugin/plugin.json) | | Codex CLI | 原生生成运行时 | [`AGENTS.md`](AGENTS.md), [`.agents/skills/`](.agents/skills), [`.codex/agents/`](.codex/agents), [`.codex/config.toml`](.codex/config.toml) | | 面向 GitHub 的 Agent 文档 | 仓库原生文档界面 | [`.github/agents/`](.github/agents) | | Gemini CLI | 原生工作区指令和技能 | [`GEMINI.md`](GEMINI.md), [`.agents/skills/`](.agents/skills) | | Cursor | 便携式工作区消费 | [`AGENTS.md`](AGENTS.md), [`CLAUDE.md`](CLAUDE.md), [`.claude/agents/`](.claude/agents) | | VS Code | 便携式工作区消费 | [`AGENTS.md`](AGENTS.md), [`CLAUDE.md`](CLAUDE.md), [`GEMINI.md`](GEMINI.md), [`.claude/agents/`](.claude/agents) | 核心规则: - `.claude/` 是规范的工作流源代码树 - `.agents/skills/` 和 `.codex/` 是从 `.claude/` 生成的 - `.github/agents/` 是面向 GitHub 的文档/运行时界面 - Cursor 和 VS Code 通过这些指令文件和 Playbook 消费仓库,而不是通过专用的生成集成层 ## 系统架构图 ``` Knowledge Sources DB/ + reports/ + DeFiHackLabs/ + invariants/ | v Retrieval Generation scripts/generate_manifests.py | v DB/index.json DB/manifests/*.json DB/manifests/huntcards/*.json DB/manifests/keywords.json | v Audit Workflow Playbooks .claude/agents/ + .claude/skills/ + .claude/resources/ + .claude/rules/ | +------------------------------+ | | v v Runtime Entry Points Codex Compatibility Generation CLAUDE.md scripts/sync_codex_compat.py AGENTS.md -> .agents/skills/ GEMINI.md -> .codex/agents/ .github/agents/ -> .codex/resources/ -> .codex/rules/ -> .codex/config.toml ``` ## 检索架构 Horus 的设计围绕检索最小化原则。 ``` Tier 1 DB/index.json Tier 1.5 DB/manifests/huntcards/*.json Tier 2 DB/manifests/*.json Tier 3 DB/**/*.md ``` Agent 应该如何使用它: 1. 从 [`DB/index.json`](DB/index.json) 开始。 2. 根据协议上下文或关键词解析相关的清单。 3. 使用 Hunt Cards 对目标代码库进行 grep 并剪枝不相关的模式。 4. 使用清单解析精确的 `lineStart` 和 `lineEnd` 范围。 5. 只读取那些目标数据库 Markdown 范围。 这是本仓库的核心设计约束。直接读取所有数据库文件或所有报告将违背该架构设计。 ## 端到端审计工作流 大规模工作流被编码在 Agent 系统和具体的辅助脚本中。 ### 基础阶段 1. 侦察:检测协议结构、范围、语言和可能的清单。 2. 上下文构建:分析合约/函数并生成系统上下文。 3. 不变量提取:在深入发现之前编写和审查系统属性。 ### 发现阶段 4. 数据库驱动的猎寻:grep-prune(剪枝) Hunt Cards,对存活的 Cards 进行分片,并运行并行的变体猎寻。 5. 推理发现:针对相同目标运行更深层次的领域推理。 6. 多角色分析:从多个心智模型并行进行审计。 7. 验证缺口猎寻:显式搜索缺失的检查和规范性问题。 ### 分流与证明 8. 合并并分流候选发现。 9. 在有用的地方生成 PoC。 10. 在有用的地方生成 Fuzzing 或形式化验证工件。 ### 评判与报告 11. 预评判发现。 12. 完善有效的发现。 13. 深度审查已完善的问题。 14. 组装仅包含在验证循环中存活下来的发现的最终报告。 该工作流由 Agent 驱动,但也有脚本支持。分片的 Hunt Cards 循环存在于: - [`scripts/grep_prune.py`](scripts/grep_prune.py) - [`scripts/partition_shards.py`](scripts/partition_shards.py) - [`scripts/merge_shard_findings.py`](scripts/merge_shard_findings.py) 有关更长的演练,请参阅 [`docs/agentic-workflow.md`](docs/agentic-workflow.md)。 ## 真实数据源 vs 生成界面 这种区分对于维护至关重要。 ### 规范输入 - [`DB/**/*.md`](DB) - [`TEMPLATE.md`](TEMPLATE.md) - [`Example.md`](Example.md) - [`scripts/generate_manifests.py`](scripts/generate_manifests.py) - [`.claude/agents/`](.claude/agents) - [`.claude/skills/`](.claude/skills) - [`.claude/resources/`](.claude/resources) - [`.claude/rules/`](.claude/rules) ### 生成输出 - [`DB/index.json`](DB/index.json) - [`DB/manifests/*.json`](DB/manifests) - [`DB/manifests/huntcards/*.json`](DB/manifests/huntcards) - [`.agents/skills/`](.agents/skills) - [`.codex/agents/`](.codex/agents) - [`.codex/resources/`](.codex/resources) - [`.codex/rules/`](.codex/rules) - [`.codex/config.toml`](.codex/config.toml) 常规维护规则: - 不要手动编辑生成的清单或 Hunt Cards - 不要手动编辑生成的 Codex 运行时文件 - 更新源内容或源 Playbook,然后重新生成 ## 细粒度仓库指南 | 区域 | 作用 | |---|---| | [`DB/`](DB) | 精心整理的漏洞数据库和生成的搜索工件 | | [`reports/`](reports) | 用于研究和条目创建的大型原始发现语料库 | | [`DeFiHackLabs/`](DeFiHackLabs) | 用于漏洞利用衍生模式的 Exploit(漏洞利用)语料库子模块 | | [`invariants/`](invariants) | 规范的不变量参考库 | | [`scripts/`](scripts) | 生成器、验证器、分片工具、迁移实用程序、运行时同步 | | [`.claude/`](.claude) | 规范的 Playbook、技能、规则和共享参考 | | [`.github/agents/`](.github/agents) | 面向 GitHub 的 Agent 定义和资源 | | [`.agents/skills/`](.agents/skills) | 生成的 Codex 仓库本地技能 | | [`.codex/`](.codex) | 生成的 Codex Agent、资源、规则和配置 | | [`CLAUDE.md`](CLAUDE.md) | Claude 入口指令 | | [`AGENTS.md`](AGENTS.md) | Codex 入口指令 | | [`GEMINI.md`](GEMINI.md) | Gemini CLI 入口指令 | | [`docs/`](docs) | 架构、数据库、工作流和仓库参考文档 | ## 主要 Agent 系列 | 系列 | 代表性 Agent | 目的 | |---|---|---| | 编排 | `audit-orchestrator`, `audit-context-building`, `system-synthesizer` | 协调完整的审计生命周期 | | 不变量 | `invariant-writer`, `invariant-reviewer`, `invariant-indexer` | 定义和强化预期的系统属性 | | 发现 | `invariant-catcher`, `protocol-reasoning`, `missing-validation-reasoning` | 通过数据库查找和推理发现问题 | | 多角色 | `persona-bfs`, `persona-dfs`, `persona-mirror`, `persona-state-machine` | 从不同的分析风格攻击同一目标 | | 证明 / 报告 | `poc-writing`, `issue-writer`, `report-aggregator` | 证明并打包发现 | | 形式化验证 | `chimera-setup`, `medusa-fuzzing`, `halmos-verification`, `certora-verification` | 生成测试工具和形式化规约 | | 评判 | `sherlock-judging`, `cantina-judge`, `code4rena-judge`, `judge-orchestrator` | 验证可报告性和严重性 | | 数据库维护 | `variant-template-writer`, `defihacklabs-indexer`, `solodit-fetching`, `db-quality-monitor` | 扩展和维护知识库 | 规范的源 Playbook 位于 [`.claude/agents/`](.claude/agents)。Codex 生成的镜像位于 [`.codex/agents/`](.codex/agents)。 ## 按运行时选择从这里开始 ### Claude Code 从 [`CLAUDE.md`](CLAUDE.md) 开始。对于面向插件的使用,仓库还附带 [`.claude-plugin/plugin.json`](.claude-plugin/plugin.json)。 ### Codex CLI 从 [`AGENTS.md`](AGENTS.md) 开始。生成的运行时界面位于 [`.agents/skills/`](.agents/skills) 和 [`.codex/`](.codex)。 ### 面向 GitHub 的 Agent 文档 从 [`.github/agents/`](.github/agents) 开始。 ### Gemini CLI 从 [`GEMINI.md`](GEMINI.md) 开始。Gemini 使用这些指令以及 `activate_skill` 工具从 `.agents/skills/` 动态加载工作流。 ### Cursor / VS Code 将仓库视为工作区本地的 Playbook 包: 1. 从 [`AGENTS.md`](AGENTS.md), [`CLAUDE.md`](CLAUDE.md), 或 [`GEMINI.md`](GEMINI.md) 开始 2. 在 [`.claude/agents/`](.claude/agents) 中打开相关的源 Playbook 3. 遵循从路由器到 Hunt Cards 再到精确数据库行读取的相同分层检索流程 ## 按任务选择从这里开始 ### 搜索数据库或进行变体分析 1. 读取 [`DB/index.json`](DB/index.json)。 2. 加载相关的 Hunt Cards 或清单。 3. 从清单中解析出精确的行范围。 4. 仅读取匹配的数据库条目切片。 ### 运行完整审计 从您正在使用的运行时的协调器开始: - Claude: [`.claude/agents/audit-orchestrator.md`](.claude/agents/audit-orchestrator.md) - Codex: [`.codex/agents/audit-orchestrator.toml`](.codex/agents/audit-orchestrator.toml) - 面向 GitHub 的文档: [`.github/agents/audit-orchestrator.md`](.github/agents/audit-orchestrator.md) ### 添加或编辑数据库条目 1. 读取 [`TEMPLATE.md`](TEMPLATE.md) 和Example.md`](Example.md)。 2. 编辑数据库源 Markdown。 3. 重新生成清单和 Hunt Cards。 4. 运行质量检查。 ### 更改路由或清单行为 编辑 [`scripts/generate_manifests.py`](scripts/generate_manifests.py),然后重新生成输出。 ### 更改运行时 Playbook 编辑规范的 `.claude/` 源文件,然后重新生成兼容 Codex 的界面。 ## 常用命令 ``` python3 scripts/generate_manifests.py python3 scripts/db_quality_check.py python3 scripts/sync_codex_compat.py python3 scripts/sync_codex_compat.py --check python3 scripts/grep_prune.py DB/manifests/huntcards/all-huntcards.json python3 scripts/partition_shards.py audit-output/hunt-card-hits.json python3 scripts/merge_shard_findings.py audit-output python3 scripts/update_codebase_structure.py ``` ## 文档导航 | 文档 | 用途 | |---|---| | [`docs/agentic-workflow.md`](docs/agentic-workflow.md) | 端到端的系统和工作流概述 | | [`docs/codex-architecture.md`](docs/codex-architecture.md) | 面向 Codex 的源码、生成项和运行时界面说明 | | [`docs/codebase-structure.md`](docs/codebase-structure.md) | 详细的逐目录仓库映射 | | [`docs/db-guide.md`](docs/db-guide.md) | 数据库编写、搜索和 Hunt Card 工作流 | | [`AGENTS.md`](AGENTS.md) | Codex 工作指南 | | [`CLAUDE.md`](CLAUDE.md) | Claude 工作指南 | | [`GEMINI.md`](GEMINI.md) | Gemini CLI 工作指南 | ## 贡献 请参阅 [`CONTRIBUTING.md`](CONTRIBUTING.md)。 如果您更改了数据库源文件,请重新生成清单。如果您更改了 `.claude/` 的 Playbook,请重新生成面向 Codex 的输出。倾向于更新规范来源,而不是直接修补生成的工件。 ## 许可证 MIT。请参阅 [`LICENSE`](LICENSE)。
标签:CISA项目, Claude, Cursor, CVE检测, DeFi安全, DLL 劫持, Gemini, GitHub Copilot, Homebrew安装, OpenAI Codex, Ruby, Subfinder, URL发现, VS Code, Web3安全, 云安全监控, 代理运行时, 代码安全, 区块链安全, 可复用剧本, 大语言模型, 安全工程, 安全检测, 安全知识系统, 实时处理, 对称加密, 工作流自动化, 形式化验证, 智能合约审计, 检索增强生成, 漏洞枚举, 知识库, 自动化审计, 逆向工具, 防御加固, 静态分析