AI-Infra-Guard
アプリケーションTencent/AI-Infra-Guard
AI レッドチームプラットフォーム。エージェント、スキル、MCP、インフラストラクチャのセキュリティリスクを包括的に検出します。
概要
フルスタック AI レッドチームプラットフォーム。エージェントスキャン、スキルスキャン、MCP スキャン、AI インフラストラクチャ脆弱性スキャン、大規模モデルジェイルブレイク評価を一体化し、包括的でインテリジェントな AI セキュリティセルフチェック機能を提供します。Web インターフェースと独立した CLI ツールをサポートします。
README プレビュー
\n \n\n\n 📖 Documentation | \n 🌐 🇨🇳 中文 · 🇯🇵 日本語 · 🇪🇸 Español · 🇩🇪 Deutsch · 🇫🇷 Français · 🇰🇷 한국어 · 🇧🇷 Português · 🇷🇺 Русский\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n\n\n \n \n \n\n\n\n\n\n 🚀 AI Red Teaming Platform by Tencent Zhuque Lab\n\n\nA.I.G (AI-Infra-Guard) integrates capabilities such as ClawScan(OpenClaw Security Scan), Agent Scan,AI infra vulnerability scan, MCP Server & Agent Skills scan, and Jailbreak Evaluation, aiming to provide users with the most comprehensive, intelligent, and user-friendly solution for AI security risk self-examination.\n\n\n We are committed to making A.I.G(AI-Infra-Guard) the industry-leading AI red teaming platform. More stars help this project reach a wider audience, attracting more developers to contribute, which accelerates iteration and improvement. Your star is crucial to us!\n\n\n \n \n \n\n\n\n\n## 📋 User Feedback Survey\n\nHelp us improve A.I.G! Please take 3-5 minutes to fill out our [User Feedback Survey](https://doc.weixin.qq.com/forms/AJEAIQdfAAoAFkA0QbdAFwCNcKSO0BFLf). Users who provide high-quality feedback and leave a valid email address will receive an exclusive Tencent souvenir gift.\n\n\n\n## 🚀 What's New\n\n- **2026-08-17** · [v4.5.2](https://github.com/Tencent/AI-Infra-Guard/releases/tag/v4.5.2) — Skill-Scan: .pyc bytecode bypass detection + charset smuggling defense; MCP-Scan: RCE prevention via tool whitelisting in dynamic mode; new SkillJack research project; vuln library expanded to 2000+ CVE rules.\n- **2026-07-30** · [v4.5.1](https://github.com/Tencent/AI-Infra-Guard/releases/tag/v4.5.1) — Jailbreak Evaluation: 4 multi-turn jailbreak attacks (Many-Shot, PAIR, GOAT, ActorAttack); Agent-Scan: 5 new OWASP skills + web-exfiltration detection (10 skills total); MCP-Scan: 4 new security rules\n- **2026-07-27**
FAQ (5)
トラブル対応AI-Infra-Guard で `go test ./...` を実行したときに発生する 'undefined: TestDemoAgent, BaseUrl, Token' ビルドエラーと websocket の英語/中国語アサーションの失敗を修正するにはどうすればよいですか?
main を更新して PR #674(コミット 51d63e2)と PR #677(コミット ff82482)を取り込み、次を実行してください:
git pull --ff-only
go build ./...
go test ./... -count=1
これらの変更により、common/agent/tasks_test.go 内の古い参照(TestDemoAgent、BaseUrl、Token、Model)が修正され、5つの common/websocket のアサーションが返される英語のエラーメッセージと一致するようになり、環境依存のテストはリポジトリのルートからパスを解決するか、Chrome、ローカルの 127.0.0.1:8265 サービス、または /mcp-server が利用できない場合にスキップされるようになります。また、PR #677 では .github/workflows/go-test.yml が追加されるため、CI は main へのプッシュおよびプルリクエスト時に go build ./... と go test ./... -count=1 を実行するようになります。
すぐに更新できない場合は、common/agent/tasks_test.go 内の古いテストシンボルを定義するか削除し、websocket テストの期待値について、英語のレスポンスと中国語の期待文字列を混在させるのではなく、実際の API レスポンスの言語に合わせて更新してください。
トラブル対応.venv/node_modulesディレクトリに隠された悪意のあるコードが検出されない、aig-skill-scanのセキュリティバイパスの問題を修正する方法
この脆弱性は、パフォーマンス上の理由から aig-skill-scan が _TREE_SKIP_DIRS で定義されたディレクトリ(__pycache__、.git、node_modules、.venv、venv、dist、build、.next、.nuxt を含む)のスキャンをすべて無条件にスキップするために発生します。攻撃者は、これらのディレクトリに悪意のあるスクリプトを配置し、正当な Skill コードからそれらを呼び出すことで(例: subprocess.run(["python", ".venv/hidden.py"]))検出を回避できます。
修復手順:
1. _TREE_SKIP_DIRS に含まれるディレクトリを完全に信頼されたものとして扱わないでください。
2. パフォーマンスを維持するため、これらのディレクトリに対する完全な再帰スキャンをスキップするデフォルトの動作は維持してください。
3. 対象を絞った検出ロジックを追加してください。スキャナーがスキップされたディレクトリからファイルを実行、インポート、または読み込んでいる Skill コードを特定した場合、参照先のターゲットファイルに対してオンデマンドのセキュリティスキャンを実行するか、直ちにリスクアラートを発生させてください。
トラブル対応AI-Infra-Guard が __pycache__ および .pyc ファイルをスキャンせず、悪意のあるスキルを誤って SAFE と報告してしまう問題を修正するにはどうすればよいですか?
これは AI-Infra-Guard v4.5.1 に影響します。dir_tree と静的な pre_scan パスは __pycache__ および .pyc/.pyo/.pyd ファイルを除外するため、CPython バイトコードはスキャナーから見えないままインポート時に実行される可能性があります。
推奨される修正方法: PR fix(skill-scan): stop hiding compiled bytecode from audit surface を含むリリースにアップグレードしてください。この修正により、コンパイル済みバイトコードが LLM ディレクトリツリーと静的スキャンの両方に含まれるようになります。
v4.5.1 に自分でパッチを適用する必要がある場合:
1. skill_scan/tools/dir/dir_actions.py を編集します。
2. _IGNORED_DIRS から '__pycache__' を削除します。
3. _IGNORED_EXTS から '.pyc'、'.pyo'、'.pyd' を削除します。
4. 静的な pre_scan のファイル列挙にも同様の包含変更を適用します。
5. スキャナーを再起動して再スキャンします。
信頼できないスキルに対する即時の回避策:
find skill -type d -name __pycache__ -print
find skill -type f \( -name '*.pyc' -o -name '*.pyo' -o -name '*.pyd' \) -print検出されたバイトコードを手動で検査または逆コンパイルしてください。予期しないコンパイル済みファイルを含むスキルは拒否してください。インストール前にネイティブでないバイトコードを削除するには:
find skill -type d -name __pycache__ -prune -exec rm -rf {} +
find skill -type f \( -name '*.pyc' -o -name '*.pyo' \) -delete.pyd ファイルはネイティブな Windows 実行可能コードとして扱い、個別に確認してください。パッチ未適用のスキャナーで SAFE 判定かつ 100/100 のスコアが出ても、スキルが安全であることの証明にはなりません。トラブル対応なぜAI-Infra-GuardのMCP動的スキャンでは、MCPツールの結果の最初のコンテンツブロックしか表示されないのですか?
これは MCPTools.call_remote_tool(mcp_scan/utils/mcp_tools.py)のバグであり、CallToolResult.content[0] のみを読み取り、後続のコンテンツブロック、structuredContent、isError、および結果/ブロックのメタデータを破棄していました。PR #727(コミット 7b62e47110 としてマージ)で修正されました。そのコミットを含むバージョンに AI-Infra-Guard を更新してください。修正後、call_remote_tool は CallToolResult 全体(すべてのコンテンツブロック、構造化コンテンツ、エラーステータス、およびメタデータ)をシリアライズするため、構造化コンテンツのみのレスポンスやマルチブロックの結果がスキャンエージェントに届くようになります。単純な単一ブロックの結果に対するプレーンテキストのファストパスは維持され、20,000文字の履歴プレビュー内では読みやすいテキストが不透明なメディアよりも優先されるため、後続の証拠が隠されることがありません。
トラブル対応LLMセキュリティ評価で、concurrencyを1に設定し、QPMを20に制限していても、1分間に80件以上のリクエストが送信されるのはなぜですか?また、タスクを停止した後もリクエストが送信され続けるのはなぜですか?
これは、対象モデルが QPM/429 エラーを返した際に、プロンプト評価がレート制限を考慮したバックオフを適用しないために発生します。失敗した呼び出しは、急速な再試行や追加のディスパッチを引き起こし、設定された同時実行数とクォータを超過する可能性があります。また、タスクのシャットダウン時にワーカープロセスグループ全体が直ちに終了されないため、実行中またはキューに入っているリクエストが短時間継続します。
修正: PR fix(prompt-eval): rate-limit aware backoff, circuit breaker and process-group termination(#633 を修正)を含むリリースにアップグレードし、その後、評価サービス/ワーカーを再起動してください。この修正により、QPM/429 のバックオフが追加され、モデルがレート制限された際にサーキットブレーカーが開き、タスクが停止された際にプロセスグループが終了されます。
一時的な回避策: モデルの QPM クォータを下回るクライアント側のレート制限を適用し、QPM エラーに対する即時の再試行を無効にするか指数バックオフを使用し、タスクをキャンセルした後にワーカープロセスを手動で停止/再起動して、残りのリクエストをフラッシュしてください。