記事用の抽象的なテクニカルイラスト。濃紺の背景にフラットなベクタースタイルの図:左側には、シンプルな線アイコンで描かれた様式化されたサーバーラックの小さなクラスター。右側には、細いシアンとブルーの線が多数の小さな円形ノードを結ぶネットワーク。サーバーの上には、詩の行を表す2本の薄いバーが付いた開いた本のアイコンがあり、単一の破線でそのクラスターに結ばれ、公開文書からマシンアドレスへの参照パスを示唆している。イラストにはテキスト、数字、ロゴは一切表示されない。OrcaRouterのロゴは右下隅に合成されている。
AI Safety Incidents

ボットネットがGitHubの詩に指令サーバーを隠し、露出した3,400台のAIサーバーをマイニングプロキシに変えた

著者

Rowan Sterling

公開日

最新モデル · 20すべてのモデルを見る →
ベンチマーク:Artificial Analysis · 毎日更新
すべての記事に戻る

2026年10月7日、Lumen TechnologiesのBlack Lotus Labsは、金銭的動機に基づくボットネットキャンペーンに関する調査結果を公開した。同社がCanto Incognitoとして追跡しているこのキャンペーンのマルウェアを、同社はPoeLLMと命名した。このキャンペーンは、研究者らによると、少なくとも2026年4月以降、米国と西ヨーロッパに集中する3,400台以上のインターネット接続サーバーを侵害しており、被害者はランダムなマシンではない。Lumenによれば、被害は主に次の脆弱なデプロイである:LiteLLMとOllama、加えてGotenberg PDFコンバーターとGitea開発ツールキットを実行する数百台のサーバー、さらにIvanti Sentryアプライアンスも対象に含まれる。一度感染すると、これらのサーバーは暗号通貨のマイニングに使われ、スキャナーやエクスプロイトサーバーとして再利用された——Black Lotus LabsのRyan EnglishがCyberScoopとのインタビューで「AI対応プロキシの私設軍」と呼んだものだ。同じベンダー報告書はThe Hacker Newsにも共有され、同メディアは同日に独自の記事を公開した。

この記録を読む価値があるのは、規模の大きさではない。それはコマンド・アンド・コントロールの設計にある。マルウェアにはハードコードされたドメインも、フォールバックIPも存在しない。現在のC2サーバーのアドレスは、公開GitHubリポジトリでホストされている詩から抜き出した4つの単語をもとに、実行時に計算される。その詩を書き換えれば、ボットネット全体が移動する。

実際に何が侵害されたのか

Lumenの報告書によると、被害対象はインターネットから到達可能だった企業向けAIおよび開発者向けサービス、すなわちLiteLLMとOllamaのデプロイメント、数百台のGotenberg PDF変換サーバー、そしてGiteaでした。Lumenの研究者らは、このキャンペーンがIvanti Sentryにも及んだと評価しました。主なスキャン対象は、それぞれGotenbergとLiteLLMのデフォルト待受ポートであるポート3000と4000でした。

マシンへの到達方法にとって重要な脆弱性が2つあり、報告書はその両方について慎重に扱っている:

• Ivanti Sentry、CVE-2026-10520。Lumen によると、同社の研究者たちは、Ivanti のセキュアモバイルゲートウェイにおけるこの脆弱性を調査中に、PoeLLM インフラに初めて遭遇した。2026年6月初旬、侵害された Ivanti Sentry の被害者がある専用サーバー 5.78.73[.]122 に接続し、その直後に他の脆弱なデバイスのスキャンを開始した。ただし留保がある点に注意されたい。Lumen 自身の主要な要点リストには、このキャンペーンは「Ivanti Sentry を標的としている可能性がある」と記されている一方で、同じ報告書の本文では同アプライアンスが実際の被害者として描写されている。この内部的な不一致は一次資料に存在するものである。

• LiteLLM、CVE-2026-42271。Lumenが調査したPoeLLMサンプル1件は、LiteLLMのエンドポイント「/mcp-rest/test/connection」を標的としており、Lumenによれば、これはCVE-2026-42271として識別されたLiteLLMのコマンドインジェクション脆弱性について「悪用経路であった可能性が高い」という。CyberScoopの報告は、同じエントリポイントを、CVEを明示せずにIvanti Sentryの最大深刻度の欠陥として説明しており、LiteLLMの欠陥については扱っていない。The Hacker NewsはどちらのCVEも挙げていない。LiteLLM MCPエンドポイントの欠陥は、このアーカイブが2026年の早い時期に記録していたものであり、それはこのキャンペーンが文書化される前のことだった。

盗まれたアクセスによって攻撃者が手に入れたのは、計算資源とデータだった。「露出したAI/LLMサービスが価値を持つのは、ソフトウェアの脆弱性のせいだけではない。有用なデータを含んでいたり、マイニングに適した強力なハードウェア上で稼働していたりする可能性があるからでもある」とLumenは書いている。EnglishはCyberScoopに対し、このマルウェアにはリモートコード実行機能も備わっており、それによって攻撃者が被害者サーバー上で稼働するAIモデルを悪用し得る——ただしこれは能力として述べられたものであり、観測された結果ではない

ルックアップテーブルでもある詩

問題のGitHubアカウントは「ejejejdfbbebe」で、そのリポジトリはnodejs.orgウェブサイトのソースのフォークであり、Node.js自体とは明らかな関連はない。その中で、元のリポジトリには存在しないファイル名「dash.css」というファイルに、運営者は「接続の本質について」と題された2連の詩を置いた。Lumenは2026年4月13日の最初のコミット以降、それに対する更新を11回と数えた。CyberScoopは、文言が「少なくとも12回」変更されたと報じている。

2026年9月にLumenが記録したところによれば、第1スタンザは次のように読まれていた:「driverの静かなハミングの中で、機械たちが語り始める。ダイオードの脈動の一つひとつが、銅の血管に光を通していく。私たちは闇に、1バイトずつ意味を運ぶことを教えた——稲妻から組み上げられた、冷たく澄んだ言語を。」第2スタンザには次の一行が含まれている:「暗号化の壁の向こうで、信号が道を見つける。遠くのサーバーの刻む音が応え返す。」

A screenshot of a technical explainer card titled 'Four words from a poem, read as a number'. The left column is headed 'Extracted from the verse' and quotes two lines of the poem with four words highlighted: driver, diode, encryption and distant servers. A note below explains that the fourth word is recovered by searching for the string 'of distant servers', stepping back to the previous whitespace and requiring the four bytes before the word to spell 'the '. The right column is headed 'Matched in a hard-coded dictionary' and lists four mappings: driver equals 92, diode equals 119, decryption equals 165, string equals 74. A result box at the bottom reads 'C2 address 92.119.165[.]74'. A footer reads 'Extraction logic and conversion key per Lumen Black Lotus Labs; worked example from a sample recovered June 23, 2026. Card rendered by OrcaRouter.'

抽出は機械的だ。Lumen が呼ぶ関数 extract_poem_phrase_field は、詩の中の固定位置から3つのフレーズを引き出す — 「In the silent hum of 」とそれに続くコンマの間のテキスト、「each pulse of 」と「 threading,」の間、そして「Beyond the wall of 」と次のコンマの間のテキスト。4番目の単語は別の方法で復元される。文字列「of distant servers,」を検索し、前の空白までさかのぼり、その前の4バイトが「the 」と綴られていることを確認して、その後の単語を取得する。次に、4つの単語それぞれが、バイナリにコンパイルされたハードコードされた辞書と照合され、得られた4つの数字が連結されて IPv4 アドレスになる。2026年6月23日に Lumen が復元したサンプルでは、「driver」は92にマッピングされ、「diode」は119、「decryption」は165、「string」は0となり — 92.119.165[.] が得られる。

観測された11回の改訂を通じて変わったのは4つのキーワードだけで、デコードパターンは一度も変わらなかったため、ボットネットを移設するのにオペレーターが要したのは、公開テキストファイルへの数回の編集だけだった。「詩を使う手法で最も興味深いのは、C2通信に使われるIPアドレスが、被害者のネットフロー以外では見えないことだ」とEnglish氏はCyberScoopに語った。「これを偶然目にする人にとって、これはGitHubにあるただの詩にすぎない。リンクも、ダウンロードするファイルも、高度なモデルでさえ悪意ありと簡単にフラグ付けできるような暗号化テキストもない。それを参照しているマルウェアにアクセスできない限り、この詩を悪意あるものと特定したり、その中に隠されたIPアドレスを知ったりする理由は、どのセキュリティ研究者にもないはずだ。」

ルーメンは、この詩はおそらくAIによって書かれたものだと同社は考えていると述べ、それを「発見」ではなく「推論」と位置づけている。その根拠について、イングリッシュ氏はThe Hacker Newsにこう語った。この詩はどの言語でも成立したはずだが、アクター自身の好みはイタリア語であるように見える、と。これは文章スタイルに関する判断であり、そのテキストを特定のモデルに帰属させるフォレンジックな特定ではない。

マルウェアが侵入した後に何をするか

Lumenが解析したペイロードは、「libgcrypt」という名前で配布されたELFファイルであり、SHA-256ハッシュは6fab94577364beec314afae3b082dd680933f08a8349b9f35b92667e8231b501です。Lumenの解析によると、リモートシェル、IronおよびXMRig暗号通貨マイナー、HTTPおよびHTTPSスキャン機能、脆弱な標的に対するエクスプロイト配備を同梱しています。

感染したホストは、複数のC2ポート(3778、5001、5002、999)のいずれかにビーコンを送信し、C2サーバーのポート81から追加のファイルをダウンロードするよう指示される(観測されたパスには /private/python3.6 と /private/bins.sh が含まれていた)。マイニングの支払いはロシアのマイニングサービスKryptexに送金される:Lumenは被害者が 5.180.174[.]162:8029 と 46.21.245[.]211:7029 に接続しているのを観測した。これらのIPは edge-ru-07[.]kryptex[.]network をホストしている。初期のC2との接触後、最初の900人の被害者に最も共通する特徴は、そのKryptexエンドポイントとの接触だった。

ボットネットは自己増殖もする。侵害されたサーバーはスキャナーとエクスプロイトサーバーに変えられた。エクスプロイトサーバーは、新たに見つけたターゲット上の露出したサービスに細工されたHTTP POSTを送信し、C2からマルウェアをダウンロードするよう指示する。より最近では、LumenはSSHポートや他のログインポータルを標的とする被害者のプールを確認しており、これを分散型ブルートフォースフレームワークによる可能性のある実験と解釈している。Lumenはそれを未熟で実証されていないものと明確に位置づけている。標的の多くはイタリアの専用サーバーであり、研究者らはその能力が「開発の初期段階にあった可能性がある」と評価している。

タイムライン、そして一致しない2つの数字

A screenshot of a timeline card titled 'How the campaign unfolded, April to October 2026', subtitled 'Active since at least April 2026; disclosed 7 October 2026 by Lumen Black Lotus Labs'. The entries read: 'APR 13, 2026 — First commit to the GitHub repository. First decoded C2 is 191.37.28.160, a router in Brazil.' 'APR 13, +1 HOUR — That C2 contacts 57.131.5.211:80 in Italy, hosting malwarescan[.]xyz (registered February 2026).' 'MAY 2026 — Broader scanning and exploitation begins, especially against LiteLLM and Gotenberg. New C2 at 120.224.114.212, geolocated to China.' 'EARLY JUNE 2026 — A compromised Ivanti Sentry victim contacts 5.78.73.122, then begins scanning for other vulnerable devices.' 'MID-JUNE 2026 — Peak of operations: almost 2,200 affected servers, with nearly 800 active per day.' 'JUNE – SEP 2026 — The poem is revised 11 times; each revision points the botnet at a new C2. 12 C2 addresses identified in total.' 'OCT 7, 2026 — Lumen publishes. The staging repository is no longer accessible and the C2s are null-routed; three C2s were still active at publication.' A footer reads 'Dates and figures per Lumen Black Lotus Labs, published Oct 7, 2026. Card rendered by OrcaRouter.'

キャンペーンで最初に解読されたC2は191.37.28[.]160で、ブラジルのルーターであり、ポート2222で外部に公開されたBoaウェブサーバーを備え、CVE-2018-21027とCVE-2018-21028に脆弱だった——ただし、Lumenはこれらの脆弱性が侵入経路であった直接的な証拠は発見していない。最初のGitHubコミットからおよそ1時間後、そのC2は、ドメインmalwarescan[.]xyzをホストするイタリアのサーバー57.131.5[.]211:80に接触した。このドメインは2026年2月に登録されていた。Lumenは、そのドメインのAPIエンドポイントへの他の注目すべきトラフィックは見られなかったと述べており、このドメインはPoeLLMの運営者によって所有されている可能性があると評価している。5月の改訂で、C2は120.224.114[.]212に移され、これは中国に位置し、ブラジルのホストと同様に、ルーター管理ページを備えた脆弱なBoaウェブサーバーを実行していた。全体として、Lumenは12個のC2 IPアドレスを特定した。公開時点で3つがまだ稼働していた——92.119.164.50(初観測2026年7月23日)、103.249.201.108(初観測2026年8月13日)、178.128.14.204(初観測2026年6月16日)。

A screenshot of a comparison card titled 'Three figures and how they relate', subtitled 'Peak and cumulative counts are not the same measurement, and the report states both.' Three panels sit side by side. The first, headed 'Key takeaways, Lumen Black Lotus Labs, Oct 7, 2026', shows the figure 3,400+ with the caption 'victim servers impacted, and peak activity exceeding 800 active servers per day.' The second, headed 'Body paragraph, same report', shows the figure ~2,200 with the caption 'victim servers impacted since the malware emerged in April, at a peak of almost 800 active per day.' The third, headed 'Mid-June peak, same report', shows the figure ~2,200 with the caption 'affected servers at the peak of operations, with nearly 800 active each day.' A note below reads 'Which of the two impacted-server figures is the cumulative count is not made explicit in the report. The archive's confidence grade covers the documentation, not the reconciliation of these numbers. Card rendered by OrcaRouter.'

Lumenはまた、イタリアにある疑わしい管理サーバー、185.119.19[.]171を名指ししている。このサーバーは以前、PrometheusとUptime Kumaの監視ダッシュボードをホストしており、複数のC2がこれに接続していた。報告書は、この帰属を中程度の確信度で述べている。

規模について言えば、一次情報源には明らかに整合しない2つの数字が含まれており、どちらも明記する価値がある。Lumenの要点では、PoeLLMは「3,400台を超える被害サーバーに影響を与えた」と述べている。同じ報告書の本文段落では、このキャンペーンは「ほぼ2,200台の被害サーバーに影響を与えた」と述べており、さらにLumenは別の箇所で、6月中旬の活動のピークについて、ほぼ2,200台の影響を受けたサーバーが関与し、1日あたりほぼ800台がアクティブだったと説明している。The Hacker Newsは、これらの数字を累計(3,400超)に6月中旬のピーク(ほぼ2,200台、1日あたりほぼ800台)を加えたものとして読んでいる。Lumenの2つの数字のうちどちらが累計の被害台数なのかは、報告書自体では明示されていない。

確立され、評価され、そして依然として不明

この記録では、三種類の主張を区別する価値がある。というのも、アーカイブの信頼度格付けが対象としているのは文書化であり、その内部のあらゆる推論ではないからである。

• マルウェア自体から判明したもの: 詩に基づくC2、抽出関数と辞書、ツールの機能(リモートシェル、Iron、XMRigマイナー、スキャン、エクスプロイト展開)、C2 IPリスト、ビーコン用ポート、Kryptexのエンドポイント。これらはアーティファクト分析とNetFlowから得られたもので、報告書の大部分を占めます。

• 明示された信頼度で評価:イタリア語話者の脅威アクターへの帰属、中程度の信頼度。根拠は、マルウェア内のイタリア語コメントと、アクターのGitHubページ、およびイタリアを指すネットフロー指標。イタリアのサーバー185.119.19[.]171がボットネットの管理インターフェースであること、これも中程度の信頼度。LiteLLMエンドポイントが「可能性の高い」悪用経路であること。詩がおそらくAIによって書かれたという主張 — これは言語の選好からの推論であり、技術的所見ではない。

• 未解決または未確認:キャンペーンを運営している人数(不明)、他のグループやキャンペーンとの関連性があるか(確認されていない)、Ivanti Sentryアプライアンスが悪用された侵入経路だったのか偶発的なものだったのか(主要なポイントでは断定を避けており、本文では被害者として描写されている)、および分散型ブルートフォース能力がどの程度成熟しているか。Lumenは、スキャンとクリプトマイニング以外における攻撃者の成果は依然として調査中だと述べている。

報道内容については独立した裏付けが存在するが、その背後にあるテレメトリについては存在しない。CyberScoopとThe Hacker Newsはどちらも2026年10月7日に独自の記事を公開し、Black Lotus Labsへの独立したインタビューを行っており、その詳細—3,400以上という数字、詩の仕組み、イタリア語による帰属、Kryptexリンク—はベンダー報告書と一致している。しかし、両者は同じ一次研究に行き着く。2026年10月10日現在、PoeLLMに関する独立した分析を発表した第二の研究機関や規制当局は存在しないため、ここに記された内容は、Lumen以外の当事者によって再現されたものと解釈されるべきではない。

開示後に何が変わったか

最も重大な対応は、パッチから生じたものではなかった。その詩をホストしていたGitHubリポジトリは「もはやアクセスできなくなり」、Lumenはこの展開が「キャンペーンを完全に妨害する」と述べている。English氏はThe Hacker Newsにこう語った。「それが彼の唯一のリポジトリだったと考えており、完全に妨害された」。LumenはGitHubに通知し、攻撃者の以前のC2サーバーと稼働中のC2サーバーをヌルルートした。English氏によると、この変更は公開前の火曜日の夜早くに効力を発揮した。リポジトリが削除された原因は確認されていない——English氏はThe Hacker Newsに、「悪用としてフラグを立てられたか、攻撃者が店じまいしてそのプラットフォームで沈黙したかのどちらかだろう」と述べた。C2はハードコードではなく導出されていたため、ルックアップテーブルを削除すると、ボットネットが自身のインフラを見つける能力が失われる。

Lumenは、調査中にPoeLLM C2サーバーへの、およびそこからのすべてのトラフィックを遮断したと述べており、またLumen Defenderの顧客は、発見以降それらのサーバーから保護されていたとしている。同社が公開した防御担当者向けガイダンスは、異例の標的セットに適用される日常的なハイジーンである。自社のGitHubリポジトリで公開した侵害指標とネットワークログを照合し、オープンソースのツールを導入したうえで外部露出を監査し、サービスポートを可能な限り制限し、ルーター、ファイアウォール、IoTデバイスをパッチ適用済みかつ再起動済みの状態に保ち、そしてAIサービスを攻撃対象領域管理の内側に取り込むことだ。また同社はGotenbergのインストールガイドにも言及している。同ガイドはすでに、サービスをインターネットに露出させないようユーザーに警告している——数百台に上る侵害されたGotenbergサーバーは、明らかにこの警告より前から存在していたことになる。

記録のどこにも、トラフィックパターンそのものに対する技術的な修正を示唆するものはない。その詩は GitHub、Node.js、LiteLLM、Ollama における脆弱性ではなかった。それは公開されたテキストファイルであり、その唯一の意味は、ごく少数の人しか持っていなかったバイナリの内部に存在していた。

これがAIインシデント記録である理由

アーカイブはこれを、AIの関与が確認されたインシデントとして記録し、INFRAとWEAPONのタグを付け、重大度を高とし、実際の被害が記録されている——そしてその被害は推測ではなく具体的だ。何千ものインターネット公開サーバーが計算資源を盗まれ、そのアクセスを転用された。Lumenが説明するこの攻撃キャンペーンは、モデルそのものを狙ったものではなく、金銭的動機によるものだ。AIの要素は標的の選定にある。LLMゲートウェイやローカルモデルランタイムを動かすサーバーはセルフホスト型で、しばしばインターネットに露出し、パッチサイクルなしで導入されることが多く、効率的にマイニングできるハードウェア上にある。Lumen自身の見立てでは、まさにその組み合わせ——既知の脆弱性を抱える露出したサービス、有用なデータ、高速で電力消費の大きいハードウェア——のために、AIインフラが魅力的な標的になりつつあるという。

兵器としての観点はC2の設計にあり、それはこのキャンペーンを超えて一般化できる。ハードコードされたドメインやIPなら、ブロックしたり、シンクホールに落としたり、マルウェアのフィンガープリンティングに使ったりできる。だが、導出されたアドレスで、その唯一の痕跡が無害に見える公開文書にすぎないものは、アナリストがバイナリを入手していない限り、そうはいかない。EnglishがCyberScoopに語った点——このキャンペーンのC2の多くがクラウドソース型のセキュリティツールに一度も現れなかったこと——は、それがどれほどうまく機能したかの指標である。

その混乱は、修正された欠陥ではなく単一のリポジトリに依拠しているため、10月7日以降のキャンペーンの状況は、終結したというより真に不確実である。Lumenは、リポジトリの喪失がそれを「完全に混乱させる」と述べ、また別に、公開時に3つのC2サーバーがまだ稼働していたと述べている。Lumenは独自のGitHubリポジトリで自身の侵害指標を公開しており、記録の重大度、信頼度グレード、および記録された被害は、ベンダーのものではなくアーカイブのものである。

これは1件の記録です。残りの部分——他の開示情報、それらの深刻度と確信度のグレード、そして防御側が実際にそれらにどう対処したか——AIインシデントアーカイブそれぞれを一次情報源と照合して索引化しているため、このようなキャンペーンも、孤立して読むのではなく、それ以前のインシデントと並べて読むことができます。