サプライチェーン脅威の新しい種類
Aikido Securityのセキュリティ研究者は、目に見えないUnicode文字を利用してオープンソースリポジトリに悪意のあるコードを密輸する高度なサプライチェーン攻撃を発見しました。3月3日から3月9日の間に、同社はGitHub、NPM、Open VSXにアップロードされた151個の悪意のあるパッケージを特定しました。これらのパッケージには、標準的なコードエディタ、ターミナル、レビューインターフェイス内で完全に目に見えない実行可能なペイロードが含まれていました。
この技術は、攻撃者がソフトウェアサプライチェーンを標的にする方法の重大な進化を示しています。サプライチェーン攻撃はほぼ10年間持続した脅威ですが、通常は開発者を欺くためにタイポスクワッティングや名前の混同に依存しており、この最新のキャンペーンは従来の手動のコード審査を事実上無用にする追加の欺瞞層を追加しています。
目に見えないコードの仕組み
この攻撃は、テキストエディタ、ターミナルエミュレータ、またはGitHubのプルリクエストインターフェイスなどのWebベースのコード審査プラットフォームに表示される場合、可視表現を持たないUnicode文字のカテゴリを悪用しています。各悪意のあるパッケージの大部分は通常のコードのように見えますが、重要な悪意のある機能とそのペイロードはこれらの目に見えない文字を使用してエンコードされています。
開発者がコードを視覚的に検査するか、標準的なdiffツールを使用する場合、悪意のある部分は単に表示されません。ただし、JavaScriptエンジンまたはPythonインタプリタによってコードが解析および実行される場合、目に見えない文字がデコードされ、隠されたペイロードは合法的に見えるコードと一緒に実行されます。
このアプローチは事実上の二重現実を作成します。人間のレビュアーと多くの自動スキャンツールはクリーンなコードを見ていますが、実行時環境は認証情報を漏らしたり、バックドアをインストールしたり、開発環境を危険にさらしたりする可能性があるまったく異なる一連の指示を実行します。
規模と配布
Aikidoが特定した151個のパッケージは、複数のパッケージエコシステム全体に配布されました。GitHubリポジトリ、JavaScript用のNPMパッケージレジストリ、Visual Studio Code拡張機能のOpen VSXマーケットプレイスがすべて対象となりました。攻撃の広がりは孤立した事件ではなく調整されたキャンペーンを示唆しています。
多くの悪意のあるパッケージは、人気のあるオープンソースライブラリに密接に似た名前を使用しており、従来のタイポスクワッティングアプローチを新しい目に見えないコード技術と組み合わせていました。一部のパッケージは検出前に大量のダウンロード数を累積し、複数の組織の開発環境を危険にさらす可能性があります。
防御の含意
この発見は、現在のコード審査慣行と自動化されたセキュリティスキャンツールの適切性についての深刻な質問を提起しています。目に見えるコードパターンに対するパターンマッチングに依存する従来の静的分析ツールはこれらの脅威を完全に見逃すでしょう。徹底的なコード審査を実施している経験豊富な開発者でさえ、隠されたペイロードを検出することなく悪意のあるパッケージを承認する可能性があります。
セキュリティチームは現在、ソースコード内の目に見えないUnicode文字の存在を検出できるバイナリレベル分析ツールの実装を求めています。一部の統合開発環境は隠し文字を表示するように設定でき、新しいlintingルールはその存在にフラグを立てることができます。ただし、これらの防御措置の広範な採用は限定的なままです。
Aikido Securityは、去年孤立した事例でこの技術を初めて発見したことに注目しました。しかし、現在のキャンペーンの規模は大幅なエスカレーションを表しています。同社は侵害の指標を公開し、影響を受けたプラットフォームと協力して悪意のあるパッケージを削除し、再アップロードを防止しています。
業界の対応
オープンソースセキュリティコミュニティは、パッケージレジストリの検証メカニズムの強化を求める声で対応しています。一部の専門家は、パッケージが監査可能なソースコードから制御された環境でコンパイルされる強制的な透過的なビルドを提唱しており、開発者がレビューするものが実行されるもの正確に同じであることを保証しています。
GitHub、NPM、VSXマーケットプレイスを運営するMicrosoftは、特定されたパッケージの削除を開始し、同様の攻撃を防ぐための追加の保護措置を評価しています。このインシデントは、最新のソフトウェア開発が依存する広大なオープンソース依存関係エコシステムを保護するための継続的な課題を強調しています。
影響を受けたパッケージをインストールした可能性のある組織には、セキュリティ研究者は最近追加された依存関係の徹底的な監査を実施し、予期しないネットワーク接続をスキャンし、データ流出の兆候をシステムログで確認することをお勧めします。
この記事はArs Technicaのレポートに基づいています。元の記事を読む。

