mcpField
A
ai-inventory

ai-inventory

github.com/snykセキュリティ68121 回インストール1 週間前に更新
リポジトリ

ai-inventory について

ai-inventoryは、PythonプロジェクトのAI部品表(AIBOM)を生成・分析するスキルです。AIコンポーネントを分類し、ライセンス、プライバシー、モデルリスクの確認を支援します。

主な機能

  1. 01CycloneDX v1.6形式のAIBOM生成
  2. 02モデル、データセット、フレームワーク、ツール、サービスの特定
  3. 03ライセンス、データプライバシー、モデルセキュリティのリスク評価
  4. 04JSON形式でのインベントリ保存
  5. 05コンプライアンス文書の作成

活用シーン

  1. 01デプロイ前のAIコンポーネントとライセンスの確認
  2. 02EU AI Act対応文書の整理
  3. 03サードパーティAIのデータ処理リスクの審査

MCP 対応

このスキルは `mcp_snyk_snyk_aibom` ツールを使ってAIBOMを生成します。READMEには、クライアント向けに公開するMCPサーバーのインターフェースは記載されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/snyk/studio-recipes --skill ai-inventory

インストール後、Claude Code で/ai-inventoryを入力して読み込まれたか確認します。

詳細

AI コンポーネントインベントリ

Python プロジェクト向けに AI Bill of Materials(AIBOM)を生成・分析し、セキュリティ、コンプライアンス、ガバナンスのために AI モデル、データセット、ML フレームワークを追跡します。

基本原則:ソフトウェアに含まれる AI コンポーネントを把握しましょう。

注記:これは実験的な機能です。現在は Python プロジェクトのみをサポートしています。


クイックスタート

# Step 1: Generate AIBOM for the project
mcp_snyk_snyk_aibom(path="/absolute/path/to/project")

# Step 2: (Optional) Save AIBOM to file for documentation
mcp_snyk_snyk_aibom(
  path="/absolute/path/to/project",
  json_file_output="/absolute/path/to/output/aibom.json"
)

# Step 3: Verify the returned JSON contains component entries before proceeding
# Step 4: Summarize findings and flag license/risk issues

前提条件

  • requirements.txt、setup.py、または pyproject.toml を含む Python プロジェクト
  • インターネット接続(分析に必要)
  • Snyk の実験的機能が有効になっていること

フェーズ 1:プロジェクトの検証

目標:プロジェクトが AI BOM の生成に適していることを確認します。

ステップ 1.1:Python プロジェクトであることを確認する

requirements.txt、setup.py、pyproject.toml、Pipfile、または .py ファイルなど、Python プロジェクトを示すファイルがあるか確認します。

エラー — Python プロジェクトではありません:Python を示すファイルが見つからない場合は処理を停止し、次の内容を報告します。

  • パスに Python ファイルが含まれていることを確認する
  • requirements.txt または pyproject.toml があることを確認する
  • この機能は Python プロジェクトのみをサポートしています
ステップ 1.2:AI/ML を示す要素を確認する

依存関係ファイルをスキャンして、既知の AI/ML パッケージを確認します。一般的な例として、torch、tensorflow、keras、transformers、datasets、scikit-learn、jax、openai、langchain、mlflow、wandb などがあります。この一覧は例示であり、ほかの AI/ML パッケージが見つかった場合は、適宜判断してください。

ステップ 1.3:該当しない場合に報告する

AI コンポーネントが検出されない場合:

## AI Inventory Result
**Project**: /path/to/project
**Status**: No AI components detected
This project does not appear to use AI/ML frameworks. AI BOM generation is not applicable.

フェーズ 2:AIBOM の生成

目標:包括的な AI Bill of Materials を作成します。

ステップ 2.1:AIBOM の生成を実行する

Python プロジェクトの絶対パスを指定して、mcp_snyk_snyk_aibom ツールを呼び出します。

mcp_snyk_snyk_aibom(path="/absolute/path/to/project")

エラー — ネットワークエラー:ツールが接続できない場合は、次の内容を報告します。

  • インターネット接続とファイアウォールを確認する(HTTPS の許可が必要です)
  • 数分後に再試行する

エラー — 実験的な機能が有効になっていません:アクセスが拒否された場合は、次の内容を報告します。

  • 実験的な機能へのアクセスについて Snyk サポートに問い合わせる
  • 組織の設定を確認し、CLI バージョンが AIBOM に対応していることを確認する
ステップ 2.2:AIBOM の出力を検証する

次に進む前に、返された JSON が有効で、少なくとも 1 つのコンポーネントエントリを含んでいることを確認します。応答が空、または形式が不正な場合はエラーを報告し、フェーズ 3 に進まないでください。

ステップ 2.3:出力を保存する(任意)

ドキュメント作成や後続のツールでの利用に備えて AIBOM をファイルに保存するには:

mcp_snyk_snyk_aibom(
  path="/absolute/path/to/project",
  json_file_output="/absolute/path/to/output/aibom.json"
)

フェーズ 3:コンポーネントの分析

目標:検証済みの AIBOM 出力から AI コンポーネントを把握し、分類します。

ステップ 3.1:コンポーネントのカテゴリ

AIBOM は、モデル、データセット、フレームワーク、ツール、サービスの 5 種類のコンポーネントを特定します。

ステップ 3.2:概要レポートを生成する

実際のスキャン結果を反映し、以下の構成で調査結果を提示します。

## AI Component Inventory
**Project**: <project name>
**Scan Date**: <date>
**Format**: CycloneDX v1.6

### Component Summary
| Category  | Count |
|-----------|-------|
| AI Models | N     |
| Datasets  | N     |
| Frameworks| N     |
| Tools     | N     |
| **Total** | N     |

### AI Models Detected
| Model | Source | License | Risk |
|-------|--------|---------|------|
| <from scan results> | ... | ... | ... |

### Datasets Referenced
| Dataset | Source | License | PII Risk |
|---------|--------|---------|----------|
| <from scan results> | ... | ... | ... |

### Frameworks & Tools
| Component | Version | License |
|-----------|---------|---------|
| <from scan results> | ... | ... |

フェーズ 4:リスク評価

目標:AI コンポーネントに潜在するリスクを特定します。

ステップ 4.1:ライセンスコンプライアンス

コンポーネントをリスクレベル別に分類します。低(MIT、Apache)、中(独自 API — 利用規約を確認)、高(ライセンスが不明または曖昧なもの、あるいは商用利用が禁止される可能性のある研究目的限定の条件)。

ステップ 4.2:データプライバシーに関する懸念

データの出所や PII の取り扱いが不明確なデータセットまたはモデルにフラグを立てます。データソースを文書化し、PII の取り扱い手順を確認し、データ保持ポリシーを検証することを推奨します。

ステップ 4.3:モデルセキュリティ

モデル固有のリスクを評価します。プロンプトインジェクション(LLM ベースのモデル — 入力検証で軽減)、モデル抽出(カスタムモデル/ファインチューニング済みモデル — アクセス制御を適用)、敵対的入力(ビジョンモデル — 入力検証)、バイアス/公平性(バイアスのテストを検討)。


フェーズ 5:ドキュメント作成

目標:コンプライアンス対応のドキュメントを作成します。

ステップ 5.1:コンプライアンスレポートを生成する
## AI Compliance Report
**Project**: <project name>
**Generated**: <date>
**Standard**: EU AI Act / Internal Governance

### AI System Classification
- **Risk Level**: [High/Limited/Minimal]
- **Category**: [Classification based on use case]

### Component Inventory
[Summary from Phase 3]

### License Compliance
- All components licensed: Yes/No
- Commercial use permitted: Yes/No
- Attribution required: [list components]

### Data Governance
- Data sources documented: Yes/No
- PII handling reviewed: Yes/No
- Consent verified: Yes/No

### Model Governance
- Model cards available: Yes/No
- Bias testing completed: Yes/No
- Performance benchmarks: Yes/No

### Approval Status
- [ ] Technical review
- [ ] Legal review
- [ ] Ethics review
- [ ] Deployment approved

ユースケース

  • デプロイ前の監査:AIBOM を生成 → ライセンスを確認 → データ/PII の取り扱いを確認 → 監査証跡として記録
  • 規制への準拠(EU AI Act):AIBOM を生成 → AI システムのリスクレベルを分類 → 機能/制限事項を記録 → 準拠チェックリストを作成
  • サードパーティー AI のレビュー:AIBOM を生成 → ライセンスを分析 → データの取り扱いを評価 → リスクと緩和策を記録

制約事項

  1. Python のみ:現在、Python プロジェクトのみをサポートしています
  2. 実験的:機能が変更されたり、制限が生じたりする場合があります
  3. ネットワークが必要:分析にはインターネット接続が必要です
  4. CycloneDX 出力:CycloneDX v1.6 形式のみを生成します
  5. 特定時点の状態:現在の状態を反映します。更新時には再生成してください

コメント