mythos-agent について
mythos-agent は、アプリケーションセキュリティ向けのオープンソースの AI コードレビューアシスタントです。仮説ベースのスキャン、CVE のバリアント分析、多段階の検証を組み合わせて、問題の可能性を指摘します。根拠の説明と修正案を求める開発者やセキュリティチーム向けです。
主な機能
- 01仮説に基づく AI セキュリティスキャン
- 02既知 CVE のバリアント分析
- 03多段階による検出結果の検証
- 04シークレット、依存関係、IaC の検査
- 05修正パッチと SARIF レポート
- 06VS Code と GitHub Action への統合
活用シーン
- 01マージ前のコードのセキュリティレビュー
- 02既知 CVE と同じ根本原因を持つコードの探索
- 03コンプライアンス規格に対応づけたスキャンレポートの作成
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
English · 简体中文
mythos-agent
アプリケーションセキュリティ向けのAIコードレビューアシスタントです。
オープンソースです。コードを読み込み、潜在的なセキュリティ問題を検出し、推論の根拠を説明して、修正案を提案します。
クイックスタート • 仕組み • コマンド • ハントモード • バリアント分析 • 連携機能 • 貢献 • ビジョン • ロードマップ
mythos-agentは、セキュリティ重視のチームのレビュアーと同じ視点でコードをレビューします。 潜在的な問題パターンを調べ、既知のCVEのバリアントを確認し、検出結果を確信度に基づいてランク付けして、採用または却下できる修正案を提案します。全体像については VISION.mdをご覧ください。
新しいコントリビューターの方へ: 現在進行中の6か月間の作業計画は、ピン留めされたイシュー
[Roadmap] mythos-agent H1 2026 Goalsにあります。協力を募集している項目には🙋マークが付いています。初めての方は、good-first-issueのガイダンスをCONTRIBUTING.mdでご確認ください。セキュリティチームおよびEU CRA準拠の下流製造業者の方へ: 脆弱性開示のSLAについてはSECURITY.md、EU CRAにおける当社の役割宣言についてはdocs/security/cra-stance.md、公開脅威モデルについてはdocs/security/threat-model.md、バージョン管理、LTS、EOLのポリシーについてはRELEASES.mdをご覧ください。OpenSSF Best Practices Badge(Passing)の申請は2026年6月を予定しています。リリースにはSigstoreによる署名が付与され、下流の製造業者のコンプライアンス対応向けにCycloneDX SBOMが同梱されます。
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
クイックスタート
# Install
npm install -g mythos-agent
# Quick scan (no API key needed)
mythos-agent scan
# Full autonomous hunt (needs API key)
mythos-agent init
mythos-agent hunt
# Find variants of known CVEs
mythos-agent variants CVE-2021-44228
# Ask security questions
mythos-agent ask "are there any auth bypasses?"
# Check available tools
mythos-agent tools
仕組み
mythos-agentは、ほかのどのオープンソースツールも併せて実現していない3つの機能を組み合わせています。
1. 仮説に基づくスキャン
既知のパターンとの照合ではなく、AIが何が問題になり得るかを推論し、「このトランザクションは行をロックしていないため、競合状態が発生する可能性がある」や「この認証チェックは文字列比較を使っているため、タイミング攻撃を受ける可能性がある」といった仮説を生成します。
2. バリアント分析(Big Sleepの手法)
既知のCVEを指定すると、mythos-agentはコードベース内から、構造は似ているものの構文が異なるコードを見つけます。根本原因は同じで、場所が異なります。GoogleのBig Sleepが実際のゼロデイ脆弱性を20件発見したのも、この手法によるものです。
3. 多段階検証
すべての検出結果は、確信度のパイプラインを経由します。
- パターンスキャン → 候補
- AI による仮説 → 理論上のリスクを確認
- スマートファザー → 動的にテスト
- PoC ジェネレーター → 具体的なエクスプロイトにより実在することを証明
複数の段階を通過した検出結果のみが「確認済み」として報告されます。
コマンド
| コマンド | 説明 |
|---|---|
hunt [path] | 自律型マルチエージェントによるフルスキャン(偵察 → 仮説 → 分析 → エクスプロイト) |
scan [path] | 標準スキャン(パターン + シークレット + 依存関係 + IaC + 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 と同じ根本原因を持つコードをプロジェクト内で検索します。
# Search for Log4Shell-like patterns
mythos-agent variants CVE-2021-44228
# Auto-detect and scan for variants
mythos-agent variants --auto
亜種アナライザーは、CVE の根本原因のパターン(表面的な構文ではありません)を抽出し、構造的に類似したコードをコードベース内で検索します。
スキャナー(デフォルトで有効な15種類+実験的な28種類、329以上のルール)
デフォルトのスキャナーは、すべての mythos-agent scan の実行時に動作します。実験的なスキャナーは実装済みで、ユニットテストも完了しているクラスです。tarball に含まれていますが、CLI、HTTP、MCP、エージェントのいずれのエントリーポイントからも、まだ利用できません。これらは、配線不変条件テストの KNOWN_EXPERIMENTAL で管理されています。
| カテゴリ | 検出対象 | ルール数 | ステータス |
|---|---|---|---|
| コードパターン | SQLi、XSS、コマンドインジェクション、eval、SSRF など | 25以上 | デフォルト |
| フレームワークルール | React、Next.js、Express、Django、Flask、Spring、Go | 27 | デフォルト |
| シークレット | AWS、GitHub、Stripe、API キー、DB URL、秘密鍵+エントロピー | 22 | デフォルト |
| 依存関係(SCA) | OSV API を介した既知の CVE(10種類のロックファイル形式) | OSV | デフォルト |
| IaC | Docker、Terraform、Kubernetes の設定ミス | 13 | デフォルト |
| AI/LLM セキュリティ | プロンプトインジェクション、AI 出力の安全でない eval、コスト攻撃 | 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 | state の欠落、PKCE なし、インプリシットフロー、クライアントシークレットの漏えい | 7 | 実験的 |
| SSTI | 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 には補完的な分析機能も含まれています(スキャナーの合計数には含まれません)。コールグラフ+汚染分析エンジン、DAST スマートファザー、AI 仮説エージェント、バリアント分析、Git 履歴のマイニングです。
外部ツールとの統合: Semgrep(30以上の言語)、Gitleaks(100以上のパターン)、Trivy(SCA+コンテナー)、Checkov(1000以上の IaC ポリシー)、Nuclei(9000以上の DAST テンプレート)
統合
| プラットフォーム | 内容 |
|---|---|
| VS Code | インライン診断とワンクリック AI 修正に対応した拡張機能 |
| GitHub Action | push/PR 時にスキャンし、SARIF を Code Scanning にアップロード |
| PR Review Bot | プルリクエスト内の脆弱な行にインラインコメントを追加 |
| ダッシュボード | mythos-agent dashboard で起動するローカル Web UI |
| SARIF | GitHub Code Scanning、VS Code、あらゆる SARIF ツールに対応 |
| ポリシーエンジン | SOC2、HIPAA、PCI-DSS、OWASP のコンプライアンスマッピング |
AI プロバイダー
| ティア | プロバイダー | 状況 |
|---|---|---|
| 1 — プライマリ | Anthropic(Claude Sonnet / Opus / Haiku) | 十分にテスト済みです。docs/benchmarks/external-scores.md に掲載されている検出率の数値は、このティアを使用して算出されています。 |
| 2 — 互換(現在はプロキシ経由、ステージ 2 でネイティブ対応) | OpenAI 互換のあらゆるもの — OpenAI、DashScope/OpenRouter 経由の Qwen、Gemini、Mistral、vLLM、Ollama、LM Studio、Bedrock など | 現在は、.mythos.yml の baseURL を設定するか、ANTHROPIC_BASE_URL 環境変数を設定して、Anthropic 互換プロキシ(LiteLLM、OpenRouter、Vercel AI Gateway、Bedrock)経由でルーティングします。ネイティブな OpenAI SDK サポートはステージ 2 で導入予定です。 |
| 3 — ローカル/コミュニティ | ローカルの Ollama / LM Studio / vLLM | ティア 2 と同じコードパスを使用します。プライバシーとゼロコストが用途となるため、別途記載しています。ベストエフォートでの対応です。エージェントによるツール使用の品質は、ローカルモデルの規模に依存します。 |
パターンスキャン、シークレット、依存関係、IaC は、API キーなしで動作します。
ティアシステムのポリシーと段階的なロールアウトの詳細については、docs/multi-model.md を参照してください(この README は概要であり、同ドキュメントが正式なリファレンスです)。
比較
| 機能 | mythos-agent | Semgrep | Snyk | CodeQL | Nuclei |
|---|---|---|---|---|---|
| パターンスキャン | あり | 最良 | あり | あり | テンプレート |
| 仮説スキャン | あり | なし | なし | なし | なし |
| バリアント分析 | あり | なし | なし | 部分対応 | なし |
| AI ガイド付きファジング | あり | なし | なし | なし | テンプレート |
| PoC 生成 | あり | なし | なし | なし | なし |
| AI 詳細分析 | あり | なし | 限定的 | なし | なし |
| 脆弱性チェーン | あり | なし | なし | なし | なし |
| AI 自動修正 | あり | なし | 修正 PR | なし | なし |
| 自然言語クエリ | あり | なし | なし | なし | なし |
| シークレット | あり | あり | あり | なし | なし |
| SCA | あり | なし | 最良 | なし | なし |
| IaC | あり | なし | あり | なし | テンプレート |
| DAST | あり | なし | なし | なし | 最良 |
| オープンソース | あり | 部分対応 | なし | あり | あり |
この機能表は機能の比較であり、精度を主張するものではありません。 OWASP Benchmark、CyberSecEval 3、Vul4J、および当社の CVE リプレイハーネスを使った、Semgrep CE/Snyk Code/CodeQL との再現可能で第三者が実行可能な精度の数値については、docs/benchmarks/external-scores.md を参照してください。
コントリビューション
詳細については、CONTRIBUTING.md を参照してください。
git clone https://github.com/mythos-agent/mythos-agent.git
cd mythos-agent && npm install && npm run build && npm test
アーキテクチャ
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/ 44 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 アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。