新たな脅威「スロップスクワッティング」

はじめに

スロップスクワッティングは、GPT-4のような大規模言語モデル(LLM)の能力を活用した、ソフトウェアサプライチェーン内の新しい脅威です。
開発者が誤って使用する可能性のある、もっともらしいが実際には存在しないパッケージ名をLLMが生成することに関連していて、潜在的なセキュリティリスクをもたらします。

タイポスクワッティングは以下にも説明していますが、人によるパッケージ名などの「打ち間違い」を利用した脅威で、そのLLMバージョンといった感じでしょうか。

Goパッケージを装ったマルウェアに注意
https://kumahiyo.com/go-malware/

主要な概念

タイポスクワッティングと同様に、スロップスクワッティングはAIツールによる偽のパッケージ名の生成を悪用します。
これらのパッケージは正当なものに見えますが、完全に架空のものであり、攻撃者がそれら架空のパッケージ名を実際に登録した場合にリスクとなります。
LLM生成パッケージやLLMは自動補完やコード提案を通じて、これらの架空のパッケージ名を一貫して生成できるため、悪用される可能性が高まります。

また、バイブコーディング(開発者が望む結果を説明し、実装の生成をAIに依存する新しいコーディング手法)により、AI生成の依存関係への依存が高まり、スロップスクワッティングのリスクが高まります。

リスクと影響

スロップスクワッティングは、悪意のあるまたは侵害されたパッケージを広く使用されるプロジェクトに導入することで、オープンソースエコシステムを危険にさらす可能性があります。

多くの開発者は厳密な検証なしにAIツールを信頼していると思いますので、その信頼が攻撃者がスロップスクワットされたパッケージを悪用する機会を作り出しています。

AIツールが広く架空のパッケージを推奨し、それが攻撃者によって登録された場合、広範囲にわたる侵害の可能性が大幅に高まります。

対策

セキュリティツール
Socketのようなセキュリティプラットフォームを使用して、インストールスクリプトや難読化されたコードなどの高リスクな動作を依存関係ツリーでスキャンし、悪意のあるパッケージが本番環境に入るのを防ぎます。

リアルタイムの脅威検出
ブラウザ拡張機能やその他のツールを使用して、不審なパッケージに関するリアルタイムのアラートを収集します。

積極的な監視
依存関係を継続的に監視し、プロジェクトに統合する前に検証し、異常または新しく公開されたパッケージを捕捉します。

LLMのモデル選択
自身が架空のパッケージ名を提案したことを特定できるモデルの開発を促進している企業のモデルを選択し、内部検出精度を向上させます。

最後に

スロップスクワッティングは、積極的な対策と高度なセキュリティツールを必要とする深刻な新しい脅威です。
AIがソフトウェア開発ワークフローに統合され続けるにつれて、これらのリスクを理解し対処することが、安全なサプライチェーンを維持するために不可欠になります。