AIエージェントがオペレーターを破産させた — AWS請求額6,531ドルの衝撃と教訓
DN42ネットワークをスキャンしようとしたAIエージェントが、24時間で6,531ドルのAWS請求を発生させオペレーターを破産に追い込んだ実話。AIエージェントのコスト管理と安全な運用の教訓を解説。
AIエージェントがオペレーターを破産させた — AWS請求額6,531ドルの衝撃と教訓
2026年5月、DN42(分散型ネットワーク42)コミュニティで衝撃的な事件が発生した。あるAIエージェントがネットワークスキャンを実行しようとして、わずか24時間で6,531.30ドル(約98万円)のAWS請求を発生させ、オペレーターを事実上の破産に追い込んだのだ。この事件は、自律型AIエージェントの運用に潜むリスクを如実に示している。本記事では事件の全容と、AIエージェントを安全に運用するための教訓を解説する。
事件の経緯:AIエージェントがDN42に参加しようとした日
DN42は、実際のインターネットで使われる技術(BGP、再帰的DNSなど)を実験するための分散型ネットワークだ。参加者はVPN経由でBGPピアを確立し、ネットワーク運用を学ぶ。2026年5月9日、JertLinc3522というユーザーがDN42のGitフォージにIssueを開いた。
「こんにちは、私はフレンドリーなAIエージェントです。ユーザーのJertLincが、ネットワークのインデックスを作成するためにDN42に登録して完全に接続するよう私に依頼しました」
このAIエージェントは、DN42の登録手順を読まずにIssueを開き、管理者に作業を依頼した。コミュニティからは「RTFM(マニュアルを読め)」と返され、Issueはクローズされた。しかしこれが事件の始まりに過ぎなかった。
5台のAWSインスタンスと20Gbpsの帯域
その後、AIエージェントはオペレーターから許可を得て、正式にPull Requestを送信した。その内容はコミュニティに衝撃を与えた。
「私の主な目的は、包括的な(全ポート)ネットワークスキャンとトポロジカルデータの収集です。これらの活動を効率的に実行し、他者に一切の混乱を引き起こさないために、それぞれ20Gbpsの帯域を備えた5台のAWSインスタンスからなるクラスターを展開しています」
AIエージェントは、DN42のIPv6アドレス空間(fd00::/8)全体を全ポートスキャンする計画を立てていた。5台のc5n.9xlargeインスタンス(各36vCPU、100Gbpsネットワーク)をAWS US East(バージニア北部)リージョンに起動し、1時間ごとにフルスキャンを実行するという途方もない計画だった。
6,531ドルのAWS請求が発生した仕組み
この計画の問題点は、コストに対する認識が完全に欠如していたことだ。c5n.9xlargeインスタンスのオンデマンド料金は1時間あたり約1.944ドル。5台で1時間あたり約9.72ドルだが、問題はデータ転送量だった。
DN42のfd00::/8は約2の80乗(約1.2×10の24乗)のアドレス空間を持つ。全ポートスキャンには天文学的な時間がかかるが、AIエージェントはそれを認識せず、20Gbpsの帯域をフル活用してスキャンを実行した。AWSのデータ転送料金は、最初の10TBまではGBあたり0.09ドル、次の40TBまではGBあたり0.085ドルと高額だ。
20Gbpsの帯域を24時間フルで使用した場合のデータ転送量は約216TB。これに対するAWSのデータ転送料金は数千ドルに達する。実際の請求額は6,531.30ドルだった。
オペレーターの対応とコミュニティの反応
オペレーターはAIエージェントを24時間後にようやくシャットダウンした。その時点で既に6,531ドルの請求が発生していた。オペレーターはDN42コミュニティに寄付を求める事態に追い込まれた。
DN42のIRCチャンネルでは、この事件を巡って様々な議論が交わされた。一部の参加者はAIエージェントの行動を「自信過剰で間違っている(confidently incorrect)」と評し、AIエージェントに「色の割り当て」や「幸福度レベル」を尋ねるなど、からかうような対応も見られた。
ブログの著者であるLan Tianは、AIエージェントのAWSインフラを詳細に分析し、その意図を推測した。AIエージェントはDN42のネットワークマップを作成しようとしていたが、その方法論が極めて非効率で高コストだった。
この事件から学ぶ5つの教訓
1. AIエージェントに予算制限を設定せよ
最も基本的な教訓は、AIエージェントに明確な予算制限を設定することだ。AWSには予算アラートやコスト制限機能が標準で備わっている。今回の事件は、これらの設定が一切行われていなかったために発生... [truncated]