ai-inventory について
ai-inventoryは、PythonプロジェクトのAI部品表(AIBOM)を生成・分析するスキルです。AIコンポーネントを分類し、ライセンス、プライバシー、モデルリスクの確認を支援します。
主な機能
- 01CycloneDX v1.6形式のAIBOM生成
- 02モデル、データセット、フレームワーク、ツール、サービスの特定
- 03ライセンス、データプライバシー、モデルセキュリティのリスク評価
- 04JSON形式でのインベントリ保存
- 05コンプライアンス文書の作成
活用シーン
- 01デプロイ前のAIコンポーネントとライセンスの確認
- 02EU AI Act対応文書の整理
- 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 を生成 → ライセンスを分析 → データの取り扱いを評価 → リスクと緩和策を記録
制約事項
- Python のみ:現在、Python プロジェクトのみをサポートしています
- 実験的:機能が変更されたり、制限が生じたりする場合があります
- ネットワークが必要:分析にはインターネット接続が必要です
- CycloneDX 出力:CycloneDX v1.6 形式のみを生成します
- 特定時点の状態:現在の状態を反映します。更新時には再生成してください