依存関係のリスク: AIが発明したパッケージ
モダンなアプリは何十ものサードパーティパッケージに依存していて、AIはそれらを気軽に提案する。2つのリスクが付いてくる。
第一に、タイポスクワッティングと幻覚パッケージ。 攻撃者は、本物とほんの少しだけ違う名前(requests ではなく reqeusts)で悪意あるパッケージを公開し、タイプミスに賭ける。AIは時に、存在しないパッケージを自信たっぷりにimportする——そしてその癖に気づいた攻撃者は、まさにその名前をマルウェア入りで登録できる。AIが提案するものをインストールする前に、ちらっと確認すること。本当に存在するか、まともなダウンロード数とリポジトリがあるか、名前は期待どおりのつづりか。
第二に、未検証の依存関係全般。 追加するパッケージはすべて、あなたのアプリの全権限で動くコードだ。依存関係が増えるほど、バグとサプライチェーン攻撃の両方の攻撃面が増える。無名なものの長い尾よりも、数少ない、よく知られたライブラリを優先し、1つ追加する前に*「これに本当にパッケージが必要か、それとも10行で済むか?」*と問うこと。
エコシステムのauditツールを定期的に実行すること(npm audit、pip-audit など)——それはすでにインストール済みのものの中の既知の脆弱性を指摘してくれて、AIはそれが報告したものを直すのが得意だ。