supply-chain-risk-auditor は何をしますか?
悪用や乗っ取りのリスクが高い依存関係を特定します。サプライチェーン攻撃対象領域の評価、依存関係の健全性評価、セキュリティエンゲージメントのスコープ設定時に使用します。
概要
このツールは、プロジェクトの依存関係を分析し、悪用や乗っ取りのリスクが高いパッケージを特定します。以下のようなシナリオで役立ちます:
- サプライチェーン攻撃対象領域の評価: プロジェクトがどのようなリスクにさらされているかを把握する。
- 依存関係の健全性評価: メンテナンスが活発でない、または脆弱性が報告されているパッケージを特定する。
- セキュリティエンゲージメントのスコープ設定: セキュリティ監査の優先順位を決定する。
サポートされているエコシステム
- Node.js (npm)
- Python (PyPI)
- Ruby (RubyGems)
- その他 (今後追加予定)
使用方法
インストール
npm install -g @trailofbits/supply-chain-risk-auditor
または
git clone https://github.com/trailofbits/supply-chain-risk-auditor.git
cd supply-chain-risk-auditor
npm install
基本的な使い方
プロジェクトの依存関係ファイルを指定して実行します:
supply-chain-risk-auditor --file package.json
複数のファイルを指定することもできます:
supply-chain-risk-auditor --file package.json --file requirements.txt
CI/CD パイプラインへの統合
GitHub Actions の例:
name: Supply Chain Risk Audit
on: [push, pull_request]
jobs:
audit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- run: npm install -g @trailofbits/supply-chain-risk-auditor
- run: supply-chain-risk-auditor --file package.json
出力例
依存関係リスク監査レポート
========================================
プロジェクト: my-app
日付: 2023-10-27
高リスク (> 7.0):
- [email protected] (スコア: 8.5) - 既知の脆弱性: 4, 最終更新: 2年前
- [email protected] (スコア: 7.8) - 既知の脆弱性: 2, メンテナーアクティビティ: 低
中リスク (4.0 - 7.0):
- [email protected] (スコア: 5.2) - 最終更新: 1年前
低リスク (< 4.0):
- その他すべての依存関係
推奨事項:
- lodash を 4.17.21 以上にアップグレードしてください。
- axios のメンテナーアクティビティを確認し、必要に応じて代替を検討してください。
設定
オプションの設定ファイル (supply-chain-risk-auditor.config.json) を使用して、リスクしきい値や除外リストをカスタマイズできます:
{
"riskThreshold": 7.0,
"excludePackages": ["some-known-safe-package"],
"includeDevDependencies": false
}
ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。詳細については LICENSE ファイルを参照してください。