mythos-agent/mythos-agent
GitHub: mythos-agent/mythos-agent
一个 AI 驱动的代码安全审查助手,帮助团队在开发阶段发现并修复潜在安全问题。
Stars: 0 | Forks: 0
mythos-agent
AI 代码审查助手,用于应用程序安全。
开源。读取你的代码,标记潜在安全问题,解释推理过程,建议修复方案。
快速开始 • 工作原理 • 命令 • 狩猎模式 • 变体分析 • 集成 • 贡献 • 愿景 • 路线图
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` 的提交模式进行集成。标签:AI安全, Chat Copilot, CI集成, DevSecOps, GNU通用公共许可证, JavaScript安全, MITM代理, Node.js, Office文档漏洞, XML 请求, 上游代理, 云计算, 代码安全卫士, 代码审查, 安全代理, 安全开发, 安全静态分析, 实验性扫描器, 开源安全工具, 漏洞修复建议, 自动化攻击, 自动化漏洞检测, 规则引擎, 请求响应过滤, 软件供应链安全, 远程方法调用, 逆向工程平台