Every dependency you add is a supply chain attack waiting to happen

Ben Hoyt

追加する依存関係は、すべて潜伏中のサプライチェーン攻撃だ

原文は Ben Hoyt により に公開されました。 このブログを購読する

私のエッセイ「The small web is beautiful」では、依存関係を減らすことでプログラムが小さくなるという話をしました。しかし、それはプログラムをより安全にすることにもつながります。

ご存知のとおり、最近ではサードパーティのライブラリが実際に侵害されることがあります。大規模な例ではXZバックドアがあり、より最近ではTrivyのインシデントLiteLLMが侵害された件(実際にはTrivyが原因でした)が起きています。

Trivyについて興味深いのは、これが実行時の依存関係ですらなく、開発時の依存関係だということです。しかし、開発用の依存関係が侵害されただけでも、認証情報が盗まれたり、プロジェクトが乗っ取られたりする可能性があります。

注意深い読者なら、私のタイトルが厳密には正確ではないことにお気づきかもしれません。問題なのは追加するすべての依存関係ではなく、アップデートするすべての依存関係なのです。最初に依存関係を評価したとき(そしてハッシュをlockfileに追加したとき)には、おそらく十分に精査したはずです。しかし、プロジェクトでDependabotを使っていると、依存関係はほとんどレビューされないまま自動的に更新されてしまいます。

おそらくDependabotを無効にするべきでしょう。私の経験では、必要になるまで古いバージョンを使い続ける場合よりも、自動更新によって引き起こされる問題のほうが多くなります。

ですから、プロジェクトに新しい依存関係を追加する前には、二度、いや三度考えてみてください。Goの格言にもあるように、「ちょっとした依存より、ちょっとしたコピーのほうがまし」です。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント