後輩が見ている SaaS スタートアップで、本番デプロイ直前に「見覚えのない依存パッケージ」が CI のログから出てきた、と相談が来た。バージョン番号は 0.0.1、メンテナのアカウントは作成1週間。typosquat(正規ライブラリ名に似せた偽物)だ。
きっかけは、開発者が AI コーディング支援ツールに「このログ解析ライブラリ入れて」と頼んだら、出力されたパッケージ名を疑わずに pip install した、それだけだ。
人間が選んでいない依存は、人間がレビューしない。CI で動的に取得される依存は、署名検証も来歴確認も飛ばされる。今のサプライチェーン攻撃の入り口はここだ。
3つやれ。
・lockfile を Git にコミットしてバージョンを固定する
・依存追加には人間のレビューを必須にする
・本番ビルド前に SBOM(部品表)と CVE データベースの突き合わせを自動化する
みんなのリポジトリ、最後に依存を増やしたのは「人間」だったか?