ハッカーは、悪意のあるコードを隠したGitHubプロジェクトで埋め尽くしています

ハッカーは、悪意のあるコードを隠したGitHubプロジェクトで埋め尽くしています

8 hardware

サイバー犯罪者は「見えない」Unicode文字で悪意のあるコードを隠蔽する

Aikido Security の新しい調査によると、3月初旬に GitHub に 151 件のプロジェクトが登場し、そこには隠されたスパイコードが含まれていたことが判明しました。悪意のあるパッケージは、人間には空白や空行に見える Unicode 文字を使用していますが、通常の JavaScript 実行時に実行可能なバイトコードへ変換され、`eval()` 関数に渡されます。

攻撃の仕組み
1. ライブラリ名
パッケージは「React」や「Node.js」のような有名な商用ソリューションと同じ名前で呼ばれています。これにより開発者は誤って安全だと判断し、プロジェクトに組み込んでしまいます。

2. 「読みやすい」コード + 隠されたフラグメント
コードの大部分は普通に読めるプログラムに見えますが、その内部には「見えない」文字で埋められたブロックがあります。手動で閲覧すると消えてしまいますが、実行時に活性化します。

3. テストリポジトリ
こうした悪意のあるパッケージは GitHub のみならず、NPM、Open VSX、Visual Studio Code マーケットプレイスでも発見されています。

なぜ検出が難しいか
- プロジェクトへの変更は通常の更新やバグ修正、リファクタリングに見えます。
- 専門家によれば、攻撃者は大規模言語モデル AI を使ってコードを自動生成しており、人手をほとんど必要とせず 150 件以上のプロジェクトを迅速に作成できます。

文字の歴史
ラテン文字対応の Unicode 文字は数十年前にシステムに追加されました。2024 年以降、ハッカーはチャットボットへの悪意あるリクエストやリポジトリ内コードを隠蔽するためにこれらを使用し始めています。従来の静的解析ツールでは検出できず、JavaScript 実行時に小さなデコーダーが実際のバイトコードを露呈します。

開発者への対策
1. 依存関係を確認する – 外部ライブラリを導入する前に、そのソースコードと変更履歴を注意深く調べます。
2. 自動チェック – リンター、見えない文字検出スキャナー、ダイナミック振る舞い解析ツールを使用します。
3. 更新管理 – パッケージがダウンロード後に削除されていないか確認し、潜在的な脅威を早期発見します。

将来展望
AI がこの手法で使われるという仮説が裏付けられれば、こうした攻撃の検出と対処はますます難しくなるでしょう。しかし、ソースコードと依存関係を慎重に検証する意識的なアプローチこそが、同様の脅威から最も効果的に守る方法です

コメント (0)

感想を共有してください。礼儀正しく、話題に沿ってお願いします。

まだコメントはありません。コメントを残して、あなたの意見を共有してください!

コメントを残すにはログインしてください。

コメントするにはログイン