開発環境: DataDog Supply Chain Firewall (scfw) で npm / PyPI の危険パッケージ導入を止める
開発マシン上で npm / pip などのインストールを scfw 経由にすると、既知の悪意ある・侵害されたパッケージをインストール前にブロックできる。個人の実験から、Datadog Code Security 連携の組織展開まで選べる。
どんな時に使う?
- サプライチェーン攻撃が続くなか、手元の
npm install/pip installを守したい - npm/pnpm: minimum-release-age でサプライチェーン攻撃を避けつつ、緊急パッチだけ一時的に解除する や npm/pnpm/bun/deno: 依存パッケージの install スクリプトを既定で止める と併用したい
導入の流れ
bash
# Go 1.26+ がある場合
go install github.com/DataDog/supply-chain-firewall/scfw@latest
# または GitHub Releases のバイナリを checksum 検証して /usr/local/bin へ
scfw --help
scfw configure --alias-npm --alias-pip --alias-poetry
# 以降、npm / pip が scfw 経由になる(configure の案内に従う)
# 単発で通す例
scfw run npm install lodash- Local モード: DataDog の malicious-software-packages-dataset と OSV.dev で判定(実験・個人向け)
- Datadog Code Security: 組織ポリシー(ALLOW/BLOCK)とログ。送るのはパッケージメタデータとコマンドで、ソースコードは送らない
注意点
- Python 版(v3)は非推奨。現行は Go 単体バイナリ。
- 未知のゼロデイは止められない。依存の待機期間・スクリプト無効化・Actions の SHA pin などと重ねる。
- エイリアス設定を外し忘れると、チームメンバーごとに防御の有無がバラつく。
出典
- @Frichette_n 2026-05-20: @Frichette_n · 2026-05-20
- リポジトリ: github.com