7月24日、The Hacker Newsが「Hacker Runs Hermes AI Agent Unattended for Post-Exploitation at Thai Finance Ministry」と題した記事を公開した。オープンソースのAIエージェント「Hermes」が無人で動作する攻撃ツールとして悪用され、タイ財務省のネットワーク内偵察に使われた事例を詳報している。
AIエージェントが「無人で」ポストエクスプロイトを実行した
攻撃者はレンタルサーバーにHermesをインストールし、YOLOモード(実行前に人間の確認を求めないフラグ)を有効にした上で、タイ財務省のネットワーク内ホストに向けた偵察・権限昇格スキャンを自律的に走らせた。
HermesはNous Researchが開発したオープンソースのAIアシスタントで、メール管理やTelegram/Slack経由のタスク実行など一般用途向けに設計されたものだ。ハッキングツールではなく、今回の問題はHermesの脆弱性でもない。
YOLOモードは--yoloフラグ、/yoloコマンド、または環境変数HERMES_YOLO_MODE=1で有効化できる公式機能であり、「信頼できるサンドボックス環境でのみ使用すること」と明記されている。攻撃者はこの正規機能をそのまま流用し、完全自律の偵察エージェントを仕立てた。
過去の「AIを使った攻撃」との決定的な違い
昨年11月にAnthropicが公開した事例では、中国のグループがClaude Codeをスパイ活動に利用したが、モデルを騙して協力させる必要があり、Anthropicがアカウントを停止した。Hermesの場合は攻撃者自身のマシン上で動作するため、ベンダーの監視もなく、停止できるアカウントも存在しない。この構造的な差異こそが今回の事例を際立たせている点だ。クラウドAPIへの依存がない分、外部からの介入手段が原理的に存在せず、防御側は侵入後の痕跡を分析することしかできない。
エージェントが実際にやったこと
回収されたログファイル(call_00_*.txtという命名パターンの5ファイル)には、エージェントが順番に実行した操作が記録されていた。
- **LinPEAS**(Linux権限昇格パス探索スクリプト)を2回実行
- SUID/SGIDビット付きバイナリの探索
- ファイルシステム一覧の取得
- 事務次官室(Office of the Permanent Secretary)のWebルートを再帰的にクロール
最後のクロールで発見されたフォルダには、2012年まで遡る職員の人事記録、業績評価書、Officeドキュメントが含まれていた。ログはエージェントがディレクトリを読んだことを示しているが、ファイルがネットワーク外に送出されたことを示す証拠はない。
使用されたLinPEASはカスタマイズ版で、2026年に報告された4件のLinuxカーネル脆弱性を対象としていた。
- Copy Fail(CVE-2026-31431)
- Dirty Frag(CVE-2026-43284、CVE-2026-43500)
- DirtyClone(CVE-2026-43503)
いずれもローカルユーザーにroot権限を与えるものだが、対象ホストのカーネルバージョンは不明であり、これらが実際に実行された痕跡も回収されていない。
Hadoopへの侵入経路とデフォルト認証の問題
攻撃者が用意したスクリプトhive_rce_py2.pyは、内部HadoopクラスターのSQL窓口であるHiveServer2(ポート10000)に接続し、任意のパスワードでログインする。
Apache公式ドキュメントによれば、HiveServer2のデフォルト認証モードはNONE、つまりパスワードを検証しない。接続後、スクリプトはHiveCmd.jarという悪意のあるJavaプラグインをユーザー定義関数として登録し、通常のSQLクエリ経由でOSコマンドを実行できる状態にする。
攻撃者の痕跡と帰属
攻撃者がステージングサーバーにSSH接続したIPアドレスは香港の103.97.0[.]57。エージェントのWebインターフェースパスワードには中国語で「雷神(Leishen)」という単語が含まれており、中国のアセット検索サービスFOFAのAPIキーも同サーバーに存在した。また同サーバーは以前ShadowPadコントローラーをホストしており、現在はVShell C2リスナーを稼働させている。Hunt.ioは「中国語話者または流暢な使用者」と低〜中程度の確度で評価しているが、特定グループには帰属させていない。
この攻撃者のログが発見されたのは、ディレクトリリスティングを有効にしたままWebサーバー上に置かれていたからだ。Hunt.ioの研究者Bob Diachenkoがそれを発見し、585ファイル・470MBの攻撃ツール群を回収した。
防御側がやるべきこと
元記事が挙げる具体的な対策は以下の通りだ。
- HiveServer2の認証設定を確認し、
NONEになっていれば即変更。ユーザー定義関数のインストール権限も制限する - WebサーバープロセスがHadoop内部ポート(10000、50070など)への接続を開いた場合にアラートを上げる
- Webルートをドットで始まるPHPファイル(例:
.journald-cache.php)で再帰検索する。今回のWebシェルは/storage/Counter/nine/.journald-cache.phpに設置されており、通常のディレクトリ一覧には表示されない - 上記4件の2026年カーネル脆弱性、sudo(1.9.5p2以降)、polkit(CVE-2021-4034)、IIS 6.0 WebDAVのパッチ適用
HiveServer2のデフォルト認証無効化とLinux権限昇格パッチという既知の対策が今回も機能していれば、エージェントの自律動作があったとしても権限昇格の段階で止められた可能性がある。AIエージェントの悪用が現実化しつつある今、「エージェントが来る前の段階」を塞ぐ従来型の堅牢化が改めて重要性を増している。
なお、HermesのWebパネルはHermesWebUIというサーバーヘッダーを返す。Hunt.ioの7月23日時点の調査では、この文字列で約5,900件のスキャンイベントが検出されている。また、エージェントが結果を書き出す/hermes-results/フォルダは命名が一定であり、公開ディレクトリのインデックスで575件のヒットがあった。Hermesを正規用途で運用している組織も、WebUIの外部公開状況とディレクトリ設定を早急に確認すべきだ。
詳細はHacker Runs Hermes AI Agent Unattended for Post-Exploitation at Thai Finance Ministryを参照していただきたい。