AI AppSec について
AI AppSecは、Semgrepを使ってAIアプリケーションやエージェントのコードを静的解析し、再現可能なセキュリティ証拠を生成します。SHA-256付きのスキャンレシートにより、監査や修正前後の比較ができます。
主な機能
- 01AIアプリとエージェントのコードをスキャン
- 02出力実行・秘密情報・連携リスクを検出
- 03SHA-256付きスキャンレシートを生成
- 04修正前後のスキャン結果を比較
活用シーン
- 01コミットやマージ前のAIコード確認
- 02デプロイ前のLLMアプリのリスク確認
MCP 対応
AI、LLM、エージェントアプリのソースコードをスキャンするMCPツール `scan_ai_security` を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| timeout | number | いいえ | スキャンのタイムアウト時間(秒)。デフォルト:300。 |
| targetPath | string | はい | スキャンする AI アプリケーションのソースコードへの絶対パスまたは相対パスです。 |
| extendedScope | boolean | いいえ | スキャンにテスト/ドキュメント/サンプルを含めます。デフォルト:false(本番環境の範囲のみ)。 |
詳細
AI AppSec
AI アプリケーションとエージェント向けの、証拠に裏付けられた AppSec です。
HAIEC によって提供されています。
コミット、プッシュ、マージ、デプロイの前に、AI コードのセキュリティリスクを監査できます。
AI AppSec の機能
AI AppSec は、AI エージェントおよび AI アプリケーションのソースコードについて、決定論的で再現可能な静的セキュリティ証拠を生成します。実行エンジンとして Semgrep 1.173.0 を使用し、Public Core ルールパック(122 個の検出器、79 個のセキュリティチェック)を同梱しています。
主な特長:
- 静的解析のみ — 対象コードを実行しません
- 通常のスキャンにネットワークは不要(Semgrep のセットアップにはネットワークが必要な場合があります)
- HAIEC アカウントや API キーは不要
- 決定論的な証拠 — SHA-256 ダイジェストを含むスキャンレシート
- ダイジェストのフェイルクローズ — ルールパック/マニフェストを実行時に検証します
- 修正の証明 — チェック評価の安全性を確保した再スキャン比較
クイックスタート
# Install
npm install -g ai-appsec
# Check Semgrep status
ai-appsec doctor
# Install Semgrep engine (requires network)
ai-appsec setup
# Start MCP server (stdio transport)
ai-appsec
または、グローバルインストールせずに npx で使用できます。
npx ai-appsec doctor
npx ai-appsec setup
プレリリースチャンネル:
@nextは今後のプレリリース(例:ai-appsec@next)を追跡します。
使用するタイミング
開発者から次のように依頼された場合は、scan_ai_security を使用してください。
- 「これにセキュリティ上の問題がないか確認して」
- 「プッシュする前にこのタスクを監査して」
- 「この変更にセキュリティ上の問題がないかレビューして」
- 「この AI エージェントをスキャンして」または「この AI アプリをスキャンして」
- 「自分の LLM アプリケーションを確認して」
- 「この PR のセキュリティレビューをして」
- 「これは安全にマージできる?」
- 「デプロイ前に確認して」
- 「このコードに脆弱性がないか監査して」
- 「セキュリティスキャンを実行して」
- 「コミット前にセキュリティリスクがないか確認して」
scan_ai_security
MCP ツール scan_ai_security は、v0.1 で実装されている唯一のツールです。
AI/LLM/エージェントアプリケーションのソースコードをスキャンし、次のようなセキュリティリスクを検出します。
- 安全でない AI 出力の実行
- シークレットの露出
- RAG/モデル統合に関するリスク
- 安全でない AI API の使用
- 制御上の不備
- プロンプト/入力に関連するリスクシグナル
scan_ai_security が行わないこと
- AI システムの完全な保証は提供しません
- 実行時の動作に関する保証は提供しません
- コンプライアンス認証は提供しません
- 誤検知がゼロであることは保証しません
- 懸念事項の分類ごとの根本原因を証明しません
- 対象コードの実行、依存関係のインストール、パッケージマネージャーの実行は行いません
- コンプライアンス評価は行いません(コンプライアンス評価には追加の HAIEC 証拠が必要です)
検出結果
検出結果は、次の項目で分類されます。
- 検出結果の種類:PRESENCE、RISK_SIGNAL、CONTROL_GAP、VULNERABILITY
- 重大度:CRITICAL、HIGH、MEDIUM、LOW、INFO
- 判定:INFORMATIONAL、REVIEW、BLOCK
セキュリティ懸念ファミリー
セキュリティ懸念ファミリーは、判断に役立つ形で提示するため、意味的に互換性のある検出結果のインスタンスをまとめます。懸念ファミリーは決定論的なグルーピングビューです。必ずしも単一の脆弱性、重要な問題、または根本原因を示すものではありません。基礎となる検出結果のインスタンスは、引き続き監査できます。
懸念ファミリーの件数は、脆弱性の件数ではありません。Top 20/Top 50 は提示件数の上限であり、証拠の上限ではありません。
COMPLETE / PARTIAL / ERROR
- COMPLETE:スコープ内のサポート対象ファイルをすべて正常に解析しました。
- PARTIAL:一部のサポート対象ファイルを解析できませんでした(例:パーサーエラー)。 PARTIAL スキャンでは、検出結果が存在しないことを証明できません。不足している証拠を PASS と解釈することはありません。
- ERROR:エンジンエラーにより、スキャンを完了できませんでした。
カバレッジ
AI AppSec は、明示的なカバレッジの計上を提供します。
- DISCOVERED:対象の下で検出されたすべてのファイル
- INTENTIONALLY_EXCLUDED:スコープポリシーによって除外されたファイル
- UNSUPPORTED:サポート対象の拡張子(.py、.js、.jsx、.ts、.tsx)以外のファイル
- TARGETED:解析対象となるサポート対象ファイル
- ENGINE_REPORTED_SCANNED:Semgrep がスキャン済みと報告したファイル
- PARSE_FAILED:解析エラーが発生したファイル
- SUCCESSFULLY_ANALYZED:スキャン済みファイルから解析エラーのファイルを除いたもの
スキャンレシート
すべてのスキャンで、以下の SHA-256 ダイジェストを含む改ざん検知可能なスキャンレシートが生成されます。
- 検出結果セット
- 懸念事項ファミリーセット
- カバレッジファイルセット
- 評価対象となったセキュリティチェックと検出器
- セマンティックレシート識別子
COMPLETE スキャンでは、プロセスやオペレーティングシステムをまたいで再現可能なレシートが生成されます。PARTIAL スキャンでは、実行ごとのカバレッジの違いが保持されます。
エビデンスエンベロープ
各スキャンでは、レシートとスキャン実行コンテキストを関連付けるエビデンスエンベロープが生成されます。以下が含まれます。
- 生成元の識別情報
- ターゲットの識別情報(スキャン入力のダイジェスト、git コミット、変更状態)
- 実行ステータスと完全性
- セマンティックレシートダイジェスト
- エンベロープダイジェスト
修正の証明
修正後にターゲットを再スキャンし、レシートを比較します。修正の証明による比較は安全です。スキャン全体が完全に一致することを求めずに、特定のセキュリティチェックで検出された問題が解決されたことを検証します。
オフライン/ローカルでの実行
通常のスキャンは、前提条件をインストールした後、完全にオフラインで実行できます。
- HAIEC クラウドへのアクセスは不要です
- アカウントや API キーは不要です
- スキャン中にルールをダウンロードしません
- テレメトリは送信されません(Semgrep は
--metrics offを指定して呼び出されます)
Semgrep のセットアップ(ai-appsec setup)では、エンジンのインストールにネットワークアクセスが必要な場合があります。インストール後のスキャンはすべてローカルで実行されます。
Semgrep の前提条件
scan_ai_security には Semgrep 1.173.0 が必要です(バージョンの完全一致が必要です)。
# Check Semgrep status
ai-appsec doctor
# Install managed Semgrep (requires network)
ai-appsec setup
Semgrep はこのパッケージに同梱されていません。別途インストールする外部エンジンです。詳細は THIRD_PARTY_NOTICES.md を参照してください。
制限事項
- v0.1 で実装されているのは
scan_ai_securityのみです - 静的解析のみです。実行時の動作を示すエビデンスはありません
- コンプライアンスの認証や評価は行いません
- テナント分離チェックはありません(ロードマップ)
- LLM コンテンツの検証はありません(ロードマップ)
- デプロイのセキュリティゲーティングはありません(ロードマップ)
ライセンス
MIT License
Copyright (c) 2026 HAIEC
ライセンスの全文は LICENSE を参照してください。
セキュリティに関する報告
セキュリティ脆弱性を発見したと思われる場合:
- レビューが行われるまで、公開しないでください。
- GitHub のプライベート脆弱性報告から報告してください。
- 機密性のないバグは、GitHub Issuesを使用してください。
現在、バグ報奨金プログラムはありません。このプロジェクトは少人数のチームで保守されています。責任ある情報開示とご理解をお願いいたします。
ロードマップ
今後の HAIEC の機能(このパッケージでは未実装):
- テナント分離チェック(
scan_tenant_isolation) - LLM/実行時コンテンツの検証(
verify_llm_content) - デプロイのセキュリティゲーティング(
check_deploy_security) - ネイティブな決定論的データフロー解析
- 実行時エビデンス
- インベントリエビデンス
- 規制エビデンス
- コンプライアンス/アシュアランスの統合
- コンプライアンストゥイン
これらは独立した製品/エンジンとして提供されます。HAIEC のアーキテクチャ原則である「1 つのワークフロー、4 つの独立したチェック」を参照してください。
HAIEC
AI AppSec は HAIEC によって提供されています。HAIEC は、将来的に ai-appsec のエビデンスを実行時、インベントリ、規制、および外部のエビデンスと組み合わせ、より広範なコンプライアンスとアシュアランスを実現するプラットフォームです。
HAIEC は、出所、ライセンス、公開に関するリリースの最終判断を担い、創業者主導で開発されています。
関連プロジェクト
- LLMVerify — LLM コンテンツの検証(独立した製品、別リポジトリ)
- Tenant Isolation — テナント間の境界チェック(独立した製品、別リポジトリ)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。