GitHubで発見された隠れた悪意コードキャンペーンと対策

セキュリティ研究者が、隠れた悪意のあるコードを含むGitHubプロジェクトを投稿する大規模なキャンペーンを発見しました。これらのリポジトリは、コードレビュー時に視覚的にほぼ検出不可能な特殊なUnicode文字を使用しています。開発者には空白や行のように見えますが、インタプリタで処理されると、このコードは正しくデコードされて有害なアクションを実行します。

Aikido Securityの専門家によると、3月3日から9日までの間に、この方法で準備された少なくとも151個のパッケージがプラットフォーム上に現れました。これらのプロジェクトは、人気のあるライブラリや有名なソフトウェアツールを装うことが多く、開発者が誤って使用する可能性を高めています。一見するとコードは安全で読みやすいですが、危険な関数は見えない文字のシーケンス内に隠されており、従来の手動チェックでは脅威を検出できません。同様の発見は、NPM、Open VSX、VS Code拡張機能マーケットプレイスなど、他のプラットフォームですでに記録されています。

専門家はこのキャンペーンを、仮にGlasswormと名付けられたグループに関連付けています。リポジトリが非常に説得力あるように見えるため、メンバーの特定は極めて困難です。これらには定期的にドキュメンテーションの更新、バージョン変更、バグ修正、コードリファクタリングが含まれており、すべて活発なプロジェクト開発を模倣しています。専門家は、このような現実的な変更を大量に作成するために、攻撃者が生成AIモデルを使用した可能性を示唆しています。

技術的には、この攻撃は、一部のUnicode文字が空白と視覚的に区別できないが、ラテンアルファベット文字として解釈できるという事実を悪用しています。その結果、小さな組み込みデコーダがこれらのシンボルから実際のバイトを抽出し、コード実行関数に渡します。研究者は、悪意のあるパッケージは十分なダウンロードを集めた後に削除されることが多いため、発見されたプロジェクトはキャンペーン全体のほんの一部を表している可能性があると指摘しています。