検出された脆弱性への Factory AI と Snyk Studio によるパッチ適用
Factory AI の Droids を使ったプログラミングは、とても気持ちの良い体験です。一体感があり、スムーズで、興味をそそります。まるでゲームをプレイしているような感覚です。この理想へのこだわりは、UI だけでなくパートナーシップにも表れています。その中でも重要な統合の 1 つが Linear との連携です (Linear は、Jira の競争相手として台頭してきた新興アプリです。リアクティブな Web アプリのアニメーションやキーボードショートカットによる豊かな UX で知られています)。Claude Code、OpenAI Codex、Gemini CLI などのツールが「オフラインの Word 文書」だとすれば、Factory AI が提供するのは「最初からチームのコラボレーションを念頭に置いて構築されたオンラインの Google ドライブ」と言えるでしょう。

開発者の体験には、Web サイト内に組み込まれた完成度の高いチュートリアルが含まれており、次の手順を段階的に案内してくれます。
Factory CLI をダウンロードする
Droid IDE 拡張機能を VS-Code またはお好みのフォーク (Cursor や WindSurf) に追加する
自分の Droid (Factory AI の専門 AI エージェント) にブラウザまたは IDE 上で最初のタスクを与える
Linux を使用している場合は、次のように Factory CLI をインストールできます。
curl -fsSL https://app.factory.ai/cli | shVSCode 用の拡張機能はここから入手します。インストール後、`Ctrl-Shift-P` でコマンドパレットを開き、Run Factory Droid を選択します。

Droid とは?
Factory AI は、一般的なソフトウェア開発タスクを幅広くカバーする専門 AI エージェントを提供しています。これは Droid と呼ばれます。

Code Droid: アイデアからマージ可能なコード変更までを自動化します。明確な要件に基づいて新しい機能やコンポーネントを作成し、Code Droid がコードベースを理解して、プロジェクト固有のパターンやベストプラクティスに沿って実装します。複雑なパターンや非効率的なパターンを特定し、機能を維持してパフォーマンスを高めつつ、よりクリーンでメンテナンスしやすいソリューションに変換することで、既存コードを改善します。エラーログを分析し、根本原因を特定して、コードベース内のバグ修正を開発します。包括的なユニットテストを作成し、コードの信頼性を確保してアプリケーションでのリグレッションを防ぎます。
Knowledge Droid: エンジニアリングリサーチ、技術ドキュメント、オンボーディングガイドを担当します。API リファレンス、アーキテクチャ概要、コンポーネントの関係などを含め、コードベースの包括的なドキュメントを生成し、チームの理解と新メンバーのオンボーディングを改善します。複雑なシステム、アーキテクチャ上の決定、実装の詳細を明確に説明し、チームメンバーがコンポーネント間の相互運用の仕組みを理解しやすいようサポートします。コードベースやドキュメントから特定の情報を素早く検索および抽出し、実装の詳細を調べたり特定の機能を理解したりする際の時間を短縮します。
Reliability Droid: インシデント調査、RCA 作成、複雑なマルチサービスシステムのデバッグを行います。エラーログ、メトリクス、システムの挙動を調査して、障害やパフォーマンス低下のパターンと原因を迅速に特定することで、本番環境のインシデントを分析します。タイムライン、影響評価、根本原因特定、予防措置を含む包括的な根本原因分析文書を作成し、ステークホルダーと共有します。サーキットブレーカー、リトライロジック、緩やかな劣化処理パターンなどの堅牢なエラー処理メカニズムを開発し、システムの回復力を高め、連鎖障害を防ぎます。
Product Droid: 機能計画、PRD の作成、プロジェクト管理を担当します。新機能向けに、機能概要、ユーザーストーリー、受け入れ基準、技術的考慮事項、実装フェーズを含む詳細なプロダクト要求仕様書を生成します。異なるユーザータイプやシナリオに応じた詳細な受け入れ基準付きユーザーストーリーを作成し、開発チームがユーザー視点で機能要件を理解しやすいようサポートします。機能リクエストを分析し、「影響 vs 労力」評価を含む優先順位付けフレームワークを開発して、プロダクトチームが実装順を判断する際に役立てます。
このような現代的な AI エージェントへのアプローチ (すなわち「あらかじめ構築された専門エージェントのライブラリを提供する」という手法) により、ユーザーは LLM の限られたコンテキストウィンドウを最大限に活用できます。Claude Code、OpenAI Codex、Gemini CLI などのツールが提供する単一エージェントも、多様なタスクに応用可能ではありますが、Factory AI は、特定の目的ごとにコンテキストを専門的に管理することで多様なタスクに対応できるエージェントを開発者に提供することに時間を費やします。これは、ライブラリにも含まれる汎用 Droid を否定するわけではありません。汎用 Droid は、専門 Droid がカバーできない用途にも活用できることは言うまでもありません。
幸いにも、Factory AI は特定の LLM ベンダーにユーザーを縛り付けることはありません。最も有名なベンダーはすぐに利用可能です (下記参照)。推論特化などの独自バリアントを持つ LLM についても、同じ UI ダイアログ内で簡単に選択できます。

MCP サポート
他の AI エージェント用 CLI と同様に、Droid CLI は Model Context Protocol (MCP) を強力にサポートしています。お気に入りの MCP サーバーの追加は簡単です。
█████████ █████████ ████████ ███ █████████
███ ███ ███ ███ ███ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███
███ ███ █████████ ███ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███
███ ███ ███ ███ ███ ███ ███ ███ ███
█████████ ███ ███ ████████ ███ █████████
v0.19.9
You are standing in an open terminal. An AI awaits your commands.
ENTER to send • \ + ENTER for a new line • @ to mention files
Current folder: /home/owler/Documents/Snyk/snyk-mcp-demos/pygoat
Auto (Low) - edits and read-only commands shift+tab cycles Sonnet 4
╭─────────────────────────────────────────────────────────────────────╮
│ > Try "Search the documentation for this library" │
╰─────────────────────────────────────────────────────────────────────╯
? for help IDE ◌ | MCP ✓
● Usage: mcp add [options] <name> <command>
Add a new MCP server to the configuration
Arguments:
name Server name
command Command to start the server
Options:
-e, --env <key=value...> Environment variables (can be used multiple
times)
--transport <type> Transport type (defaults to "stdio") (default:
"stdio")
-h, --help display help for command
shift+tab to cycle modes Sonnet 4
╭────────────────────────────────────────────────────────────────────────────────╮
│ > /mcp add -h │
╰────────────────────────────────────────────────────────────────────────────────╯
? for help IDE ◌
たとえば、公式の Snyk MCP Server は、マシンにすでにインストールされている前提で、Droid CLI 内から次のように追加できます。
/mcp add SNYK "snyk mcp -t stdio"
● Starting MCP server "SNYK"...
Command: snyk
Args: ["mcp","-t","stdio"]
Environment variables: noneしかし、これで何ができるのでしょうか?すでに高機能な Droid に利用可能なツールセットを拡張する利点は何でしょうか?シェルコマンドの実行や、ファイルの読み取り/書き込み/編集のサポートは、すでに組み込み済みです。
AI エージェント (Droid) を使って脆弱性へのパッチ適用を自動化
この例では、OWASP プロジェクトリーダーである adeyosemanputra 氏のpyGoat リポジトリをクローンしました。このプロジェクトは、教育目的で意図的に複数の脆弱性を含んでおり、それぞれが丁寧にドキュメント化されています。以下は、Snyk 独自の IDE 拡張機能によって検出された脆弱性の一部です。

また、Droid に MCP サーバーを利用させて、同じ脆弱性の一部をリスト化させることもできます。以下を参照してください。
> Please run a code scan on the codebase with Snyk.
⛬ I'll help you run a Snyk code scan on the pygoat codebase. Let me first check the
authentication status and then perform the scan.
PLAN Updated: 3 total (2 pending, 1 in progress, 0 completed)
○ Check Snyk authentication status
○ Run Snyk code scan on pygoat codebase
○ Review and report scan results
[MCP] SNYK:SNYK_AUTH_STATUS
↳stephen.thoemmes
⛬ Great! You're authenticated as stephen.thoemmes. Now I'll run the Snyk code scan on
the pygoat codebase to identify security vulnerabilities.
PLAN Updated: 3 total (1 pending, 1 in progress, 1 completed)
○ Check Snyk authentication status
○ Run Snyk code scan on pygoat codebase
○ Review and report scan results
[MCP] SNYK:SNYK_CODE_SCAN (/home/owler/Documents/Snyk/factory/pygoat)
↳
Testing /home/owler/Documents/Snyk/factory/pygoat ...
✗ [Low] Use of Hardcoded Credentials
Path: introduction/playground/A9/api.py, line 17
Info: Do not hardcode credentials in code. Found hardcoded credential used in a
condition.
…
✗ [High] SQL Injection
Path: introduction/views.py, line 871
Info: Unsanitized input from an HTTP parameter flows into
introduction.models.sql_lab_table.objects.raw, where it is used in an SQL query. This
may result in an SQL Injection vulnerability.
…
✔ Test completed
Organization: stephen.thoemmes
Test type: Static code analysis
Project path: /home/owler/Documents/Snyk/factory/pygoat
Summary:
101 Code issues found
15 [High] 44 [Medium] 42 [Low]
PLAN Updated: 3 total (0 pending, 0 in progress, 3 completed)
○ Check Snyk authentication status
○ Run Snyk code scan on pygoat codebase
○ Review and report scan results
⛬ The Snyk code scan has completed successfully! Here's a summary of the security
findings:
Scan Results Summary
Total Issues Found: 101
• 15 High severity vulnerabilities
• 44 Medium severity vulnerabilities
• 42 Low severity vulnerabilities
Key High-Severity Issues Found:
1. SQL Injection - Multiple instances in views.py
2. Code Injection - eval() usage with unsanitized input
3. Command Injection - subprocess.Popen with unsanitized input
4. Path Traversal - File operations with unsanitized paths
5. XML External Entity (XXE) Injection - Insecure XML parsing
6. Deserialization vulnerabilities - pickle.loads and yaml.load with untrusted data
7. Hardcoded cryptographic keys - JWT keys hardcoded in source
8. Hardcoded secrets - Non-cryptographic secrets in code
Medium/Low Severity Issues:
• Hardcoded passwords and credentials
• CSRF protection disabled on multiple endpoints
• Insecure cookie configurations (missing HttpOnly/Secure flags)
• Weak hashing algorithms (MD5)
• Debug mode enabled in production
• SSRF vulnerabilities
This is a comprehensive security assessment showing that pygoat (being a
deliberately vulnerable application for educational purposes) contains numerous
intentional security flaws across all severity levels, making it an excellent
training platform for learning about web application security vulnerabilities.この例は、DevSecOps ワークフローにおける新しいパラダイムの可能性を示しています。これまで、セキュリティは開発工程から切り離され、後回しにされることが多い課題でした。しかし今では、脆弱性の検出と処置を開発プロセスの中に直接統合できるようになりました。Factory AI の専門エージェントと Snyk のような MCP サーバーを組み合わせることで、セキュリティ問題を単に検出するだけでなく、すぐに修正し、正確性を再検証することが可能になります。しかも、それは開発者が日常的に作業している同じインタフェース上で完結します。
Factory AI と Snyk Studio の次のステップ
MCP の採用が進み、より多くのセキュリティツールが MCP サーバーを実装するようになるにつれて、Droid が脆弱性を修正するだけでなく、セキュリティテストを生成し、修正内容を反映したドキュメントを更新して、さらには複雑な問題の手動レビューのためにチケットを作成するという未来を想像できます。Factory の Droid システムと MCP プロトコルのどちらもモジュール型であるため、これらの機能は相互運用性を維持したまま独立して進化することができます。
類似ワークフローの導入を検討しているチームにとって、セットアップはとても簡単です。Factory CLI をインストールし、好みの MCP サーバーを追加して、脆弱性へのパッチ適用を開始すれば、自動パッチ適用プロセスへの信頼性を高められます。重要なのは、AI エージェントを「人間の代替」ではなく、セキュリティチームの戦力を拡張する存在として扱うことです。AI エージェントは定型的で理解しやすい修正の処理を得意としているので、人間は創造的な問題解決を要する新たなセキュリティ課題に集中できます。
MCP サーバーエコシステムのセキュリティ強化について詳しく知りたい方は、当社の電子ブックを今すぐダウンロードしてください。
電子ブック
MCP サーバーエコシステムのセキュリティ強化
新たに出現しつつある攻撃経路を分析し、実際のインシデント事例を紐解きながら、フローを理解した実践的な防御戦略でそれらに対抗する方法を探ります。