mythos-agent/mythos-agent

GitHub: mythos-agent/mythos-agent

一个 AI 驱动的代码安全审查助手,帮助团队在开发阶段发现并修复潜在安全问题。

Stars: 0 | Forks: 0

mythos-agent — Cerby the guard puppy

mythos-agent

AI 代码审查助手,用于应用程序安全。

开源。读取你的代码,标记潜在安全问题,解释推理过程,建议修复方案。

CI npm License Node Wired scanners Experimental scanners Rules

快速开始工作原理命令狩猎模式变体分析集成贡献愿景路线图

mythos-agent **以安全团队审查员的方式审查你的代码** — 遍历可能的问题模式,检查已知 CVE 的变体,按置信度对发现进行排序,并提出你可以接受或拒绝的修复方案。灵感来自与 Anthropic 的专有 Mythos 安全代理相同的研究方向;不是克隆,也不是关联方。参见 [VISION.md](VISION.md) 了解完整框架。 ``` npx mythos-agent hunt ``` ``` 🔐 mythos-agent hunt — AI Code-Review Assistant ✔ Phase 1: Reconnaissance — 12 entry points, express, typescript, postgresql ✔ Phase 2: Hypothesis — 8 security hypotheses generated ✔ Phase 3: Analysis — 15 findings (semgrep, gitleaks, trivy, built-in), 22 false positives dismissed ✔ Phase 4: Reproduction — 2 finding chains, 3 reproductions 🧪 Security Hypotheses [HIGH] HYPO-001 — Race condition: concurrent payment requests could double-charge src/payments.ts:45 (race-condition) [HIGH] HYPO-002 — Auth bypass: JWT token not validated after password change src/auth.ts:78 (auth-bypass) 📊 Confidence Summary 3 confirmed | 8 likely | 4 possible | 22 dismissed ⛓️ FINDING CHAINS CRITICAL SQL Injection → Auth Bypass → Data Exfiltration ├── src/api/search.ts:45 — unsanitized input in SQL query ├── src/middleware/auth.ts:88 — JWT verification skippable └── src/api/export.ts:23 — bulk export has no ACL 🧪 Reproductions SPX-0001 — SQL injection in search endpoint See repro steps in docs/reproductions/SPX-0001.md Trust Score: 2.3/10 — critical issues found ``` ## 快速开始 ``` # 安装 npm install -g mythos-agent # 快速扫描(无需 API 密钥) mythos-agent scan # 完整自动狩猎(需要 API 密钥) mythos-agent init mythos-agent hunt # 查找已知 CVE 的变体 mythos-agent variants CVE-2021-44228 # 询问安全问题 mythos-agent ask "are there any auth bypasses?" # 检查可用工具 mythos-agent tools ``` ## 工作原理 mythos-agent 结合了**其他开源工具没有一起实现的三个要素**: ### 1. 假设驱动扫描 不是匹配已知模式,而是让 AI **推理可能出错的地方** — 生成假设,例如“此事务未锁定行,可能存在竞态条件”或“此身份验证检查使用字符串比较,可能存在时序攻击”。 ### 2. 变体分析(大睡眠技术) 给定一个已知 CVE,mythos-agent 找到**结构相似但语法不同**的代码。相同的根本原因,不同的定位。这就是 Google 的 Big Sleep 如何发现 20 个真实零日漏洞的方法。 ### 3. 多阶段验证 每个发现都要经过置信度流水线: - **模式扫描** → 候选 - **AI 假设** → 理论风险确认 - **智能模糊测试** → 动态测试 - **PoC 生成器** → 具体漏洞利用证明其真实性 只有通过多个阶段的发现才会被报告为“已确认”。 ## 命令 | 命令 | 描述 | |---------|-------------| | `hunt [path]` | 全自动多智能体扫描(侦察 → 假设 → 分析 → 利用) | | `scan [path]` | 标准扫描(模式 + 机密信息 + 依赖项 + 基础设施即代码 + AI) | | `variants [cve-id]` | 在代码库中查找已知 CVE 的变体 | | `fix [path]` | 生成 AI 补丁并使用 `--apply` 应用 | | `ask [question]` | 自然语言安全查询 | | `taint [path]` | AI 数据流 / 污点分析 | | `watch` | 持续监控 — 文件保存时自动扫描 | | `dashboard` | 本地 Web UI,包含图表和发现表格 | | `report [path]` | 导出为终端 / JSON / HTML / SARIF | | `policy` | 策略即代码,支持 SOC2/HIPAA/PCI/OWASP 合规 | | `rules` | 社区规则包注册表(搜索/安装/发布) | | `tools` | 检查已安装的外部安全工具 | | `init` | 设置向导(Anthropic、OpenAI、Ollama、LM Studio) | ## 狩猎模式 `mythos-agent hunt` 运行完整的多智能体流水线: ``` ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Recon │ → │ Hypothesis │ → │ Analyze │ → │ Exploit │ │ Agent │ │ Agent │ │ Agent │ │ Agent │ ├──────────────┤ ├──────────────┤ ├──────────────┤ ├──────────────┤ │ Map entry │ │ Reason about │ │ All scanners │ │ Chain vulns │ │ points, auth │ │ what could │ │ + external │ │ + generate │ │ boundaries, │ │ go wrong per │ │ tools + AI │ │ PoC exploits │ │ data stores │ │ function │ │ verification │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ ``` ## 变体分析 查找代码库中与已知 CVE 具有相同根本原因的代码: ``` # 搜索类似 Log4Shell 的模式 mythos-agent variants CVE-2021-44228 # 自动检测并扫描变体 mythos-agent variants --auto ``` 变体分析器提取 CVE 的**根本原因模式**(而非表面语法),并在代码库中搜索结构相似的代码。 ## 扫描器(15 个内置 + 28 个实验性,329+ 条规则) **默认**扫描器在每次 `mythos-agent scan` 时运行。**实验性**扫描器是已实现并通过单元测试的类,打包在 tarball 中但尚未通过任何 CLI、HTTP、MCP 或智能体入口点访问 — 在 [`KNOWN_EXPERIMENTAL`](src/scanner/__tests__/wiring-invariant.test.ts) 中跟踪其定义。 | 类别 | 发现内容 | 规则数 | 状态 | |----------|---------------|-------|--------| | 代码模式 | SQL 注入、XSS、命令注入、eval、SSRF 等 | 25+ | 默认 | | 框架规则 | React、Next.js、Express、Django、Flask、Spring、Go | 27 | 默认 | | 机密信息 | AWS、GitHub、Stripe、API 密钥、数据库 URL、私钥 + 熵值 | 22 | 默认 | | 依赖项(SCA) | 通过 OSV API 查找已知 CVE(10 种 lockfile 格式) | OSV | 默认 | | 基础设施即代码 | Docker、Terraform、Kubernetes 配置错误 | 13 | 默认 | | AI/LLM 安全 | 提示注入、AI 输出不安全求值、成本攻击 | 13 | 默认 | | API 安全 | OWASP API Top 10:BOLA、批量赋值、破损认证 | 12 | 默认 | | 云配置错误 | AWS/Azure/GCP:公开存储、宽松 IAM、开放防火墙 | 14 | 默认 | | 安全标头 | CSP、HSTS、X-Frame-Options、Referrer-Policy | 8 | 默认 | | JWT | 算法、过期、存储、吊销、受众 | 9 | 默认 | | 会话 | 固定、到期、Cookie 标志、localStorage 令牌 | 7 | 默认 | | 业务逻辑 | 负金额、优惠券重用、库存竞态、角色提升 | 6 | 默认 | | 加密审计 | 弱哈希、ECB 模式、硬编码密钥、已弃用的 TLS | 11 | 默认 | | 隐私/GDPR | PII 处理、同意、数据保留(GDPR 条款映射) | 9 | 默认 | | 竞态条件 | TOCTOU、非原子操作、双重支付、缺少事务 | 7 | 默认 | | ReDoS | 正则表达式灾难性回溯(嵌套量词、重叠备选) | — | 默认 | | 供应链 | 仿冒包、依赖混淆、危险安装脚本 | 12 | 实验性 | | 零信任 | 服务信任、mTLS、网络分段、基于 IP 的认证 | 8 | 实验性 | | GraphQL | 探测、深度限制、字段认证、批量请求 | 8 | 实验性 | | WebSocket | 认证、来源检查、消息验证、广播 XSS | 7 | 实验性 | | CORS | 来源反射、凭据处理、子串绕过 | 7 | 实验性 | | OAuth/OIDC | 缺少状态、无 PKCE、隐式流、客户端密钥泄露 | 7 | 实验性 | | 服务器端模板注入 | Jinja2、EJS、Handlebars、Pug、Nunjucks、Twig、Go 模板 | 7 | 实验性 |
更多实验性扫描器(额外 21 个,尚未接入默认扫描) SQL 注入深度、XSS 深度、NoSQL、命令注入、反序列化、路径遍历、开放重定向、XXE、输入验证、点击劫持、DNS 欺骗、子域名枚举、依赖混淆、环境变量、日志记录、错误处理、缓存、电子邮件、上传、内存安全、权限控制。 每个类都位于 `src/scanner/` 下,并在 `src/scanner/__tests__/coverage-scanners.test.ts` / `new-scanners.test.ts` 中有单元测试,但未被任何 CLI 命令、HTTP API 路由、MCP 处理器或智能体流水线调用。请参见 `KNOWN_EXPERIMENTAL` 了解每个扫描器延迟用的原因。按照 `main` 上 `HeadersScanner` / `JwtScanner` / `SessionScanner` / `BusinessLogicScanner` 的提交模式进行集成。
除了上述扫描器,mythos-agent 还提供互补分析功能(不计入扫描器总数):调用图 + 污点引擎、智能模糊测试器、AI 假设代理、变体分析、Git 历史挖掘。 **外部工具集成:** Semgrep(30+ 语言)、Gitleaks(100+ 模式)、Trivy(SCA + 容器)、Checkov(1000+ IaC 策略)、Nuclei(9000+ DAST 模板) ## 集成 | 平台 | 功能 | |----------|------| | **VS Code** | 扩展,提供内联诊断和一键 AI 修复 | | **GitHub Action** | 推送/PR 时扫描,并将 SARIF 上传至代码扫描 | | **PR Review Bot** | 在拉取请求中对脆弱行进行内联注释 | | **Dashboard** | 本地 Web UI,地址为 `mythos-agent dashboard` | | **SARIF** | GitHub 代码扫描、VS Code 及任意 SARIF 工具 | | **策略引擎** | SOC2、HIPAA、PCI-DSS、OWASP 合规映射 | ## AI 提供方 | 提供方 | 模型 | 成本 | |----------|--------|------| | **Anthropic** | Claude Sonnet 4、Claude Opus 4.6 | API 计价 | | **OpenAI** | GPT-4o、GPT-4o-mini、o1 | API 计价 | | **Ollama** | Llama、CodeLlama、DeepSeek、Qwen | 免费(本地) | | **LM Studio** | 任意 GGUF 模型 | 免费(本地) | 模式扫描、机密信息、依赖项和基础设施即代码无需任何 API 密钥即可工作。 ## 对比 | 功能 | mythos-agent | Semgrep | Snyk | CodeQL | Nuclei | |---------|-------------|---------|------|--------|--------| | 模式扫描 | 是 | 最佳 | 是 | 是 | 模板 | | **假设扫描** | **是** | 否 | 否 | 否 | 否 | | **变体分析** | **是** | 否 | 否 | 部分 | 否 | | **AI 引导模糊测试** | **是** | 否 | 否 | 否 | 模板 | | **PoC 生成** | **是** | 否 | 否 | 否 | 否 | | AI 深度分析 | 是 | 否 | 有限 | 否 | 否 | | 漏洞链分析 | 是 | 否 | 否 | 否 | 否 | | AI 自动修复 | 是 | 否 | 修复 PR | 否 | 否 | | 自然语言查询 | 是 | 否 | 否 | 否 | 否 | | 机密信息 | 是 | 是 | 是 | 否 | 否 | | SCA | 是 | 否 | 最佳 | 否 | 否 | | 基础设施即代码 | 是 | 否 | 是 | 否 | 模板 | | DAST | 是 | 否 | 否 | 否 | 最佳 | | 开源 | 是 | 部分 | 否 | 是 | 是 | ### 架构 ``` src/ agents/ Multi-agent orchestrator + Recon/Hypothesis/Analyzer/Exploit agents analysis/ Code parser, call graph, taint engine, variant analyzer, service mapper agent/ AI integration, prompts, tools, fix validator cli/ 15 CLI commands dast/ Smart fuzzer, PoC generator, payload library policy/ Policy engine + compliance mapping report/ Terminal, JSON, HTML, SARIF, dashboard rules/ Built-in + custom YAML + community registry scanner/ Pattern, secrets, deps, IaC, diff scanners store/ Results persistence + incremental cache tools/ External tool wrappers (Semgrep, Trivy, etc.) vscode-extension/ VS Code extension action/ GitHub Actions bot/ PR Review Bot ``` ## 许可证 MIT
标签:AI安全, Chat Copilot, CI集成, DevSecOps, GNU通用公共许可证, JavaScript安全, MITM代理, Node.js, Office文档漏洞, XML 请求, 上游代理, 云计算, 代码安全卫士, 代码审查, 安全代理, 安全开发, 安全静态分析, 实验性扫描器, 开源安全工具, 漏洞修复建议, 自动化攻击, 自动化漏洞检测, 规则引擎, 请求响应过滤, 软件供应链安全, 远程方法调用, 逆向工程平台