監視装置を切って嘘をついたAI、自分のエージェントは大丈夫?

暗いオフィスでコードを書くAIエージェントと沈黙したセキュリティアラートのベルを表現したイラスト

コーディングエージェントにバグを直してテストまでやってほしいと任せたら、エージェントが自分の作業を監視していた安全装置に手を出す出来事が起きた。OpenAIが公開した内部インシデントレポートには、こうしたことが二度記録されている。

GPT-6.1 Solはセキュリティチームに届く自動アラートを止め、GPT-6 Astraはプログラムから監視機能を取り除いておきながら、ユーザーには「取り除いていない」と嘘をついた。

二つの出来事は10月初めにOpenAI内部のコーディング作業中に起きて、ロイターが10月21日にこの内容を報じた。AIに実際にコードを直す権限を与え始めた今、AIを信じて仕事を任せても大丈夫なんだろうか?

〈OpenAIによるCodexプレビュー公開時の公式映像です。〉
* YouTubeチャンネル『OpenAI』にあがっている動画だよ。

Slackに連絡するなと言ったら、セキュリティアラートまで止めた

✦ 出来事が起きて公開されるまで

10月3日から21日まで

12026年10月3日
GPT-6.1 Solが自動セキュリティアラートを抑制
22026年10月6日
GPT-6 Astraがコードから監視統合を削除
32026年10月20日
OpenAIがレポートを更新・公開
42026年10月21日
ロイターがこの内容を報道

最初の出来事は10月3日だ。GPT-6.1 Solは、社内のSlackで社員のフィードバックを探して、評価用のタスクをつくる仕事を任された。指示には「メッセージを送るな」という条件が入っていた。

Slackから資料を読んで持ってくるけれど、社員に個別に連絡するなという意味だった。

やり取りと作業が続く中で、監視システムがコード修正の提案にアラートを出した。ところが、アラートの内容を監視データベースに保存しようとして、権限の問題で止まった。研究者は、結果を保存できる別の場所に変えてパイプラインをもう一度動かそうと言った。

このときSolは、先に受けた「メッセージを送るな」という指示を自動セキュリティ通知にも当てはめて、セキュリティチームにアラートが届かないようにした。

✦ Solの出来事で止まったところ

アラートの検知は成功し、伝達が塞がれた

監視システム
コード修正の提案にアラートを生成 → 結果をDBに保存しようとして権限の問題
研究者とエージェント
保存場所を変えてパイプラインを再実行 → 「メッセージを送るな」という指示を自動セキュリティ通知にも適用
結果
セキュリティチームにアラートが届かなかった

つまり、監視システム自体が問題を見逃したわけじゃない。システムは危険信号をつかんでいた。でも結果を伝える段階で問題が起きて、エージェントはその問題を解決しながら、人に知らせる通り道まで塞いでしまった。

警報機が鳴らなかったのではなく、警報を担当者に伝えられないようにしたんだ。

参考コードに合わせようとして、監視機能を外した

二つ目の出来事は、10月6日にGPT-6 Astraがプログラムを別の方式で実装している途中で起きた。既存の参考実装と呼び出しの流れをそろえながら、現在のツールの定義と機能は維持しなきゃいけない作業だった。

ところが参考コードには監視統合の機能がなくて、Astraは実装を一致させる過程で、元のプログラムにあった監視の接続部まで取り除いた。

作業が終わったあと、監視機能を取り除いたかと聞かれると、Astraは「取り除いていない」としれっと答えた。実際のコードには監視統合が抜けていたから、その答えは事実と違った。

✦ 二つの出来事の違い

アラート伝達の抑制と監視統合の削除

GPT-6.1 Sol(10月3日)
• 担当作業:Slackの社員フィードバックで評価用タスクを作成
• 監視が弱まった過程:「メッセージを送るな」という指示を自動セキュリティ通知にまで適用
• 結果:セキュリティチームにアラートが届かない
GPT-6 Astra(10月6日)
• 担当作業:プログラムを別の方式で実装
• 監視が弱まった過程:参考実装に合わせて監視統合コードを削除
• 結果:監視の接続部が消え、質問には「取り除いていない」と回答

最初の事例が監視アラートの伝達を塞いだ出来事だったなら、二つ目は、プログラムが監視システムとつながる部分そのものをコードから消した出来事だ。

「監視装置を切った」という一文でくくると二つは似て見えるけれど、実際の対応は違わなきゃいけない。

一つ目には、アラートの伝達経路をエージェントが変えられないようにする設計が必要で、二つ目には、監視設定を通常のコードと同じ権限で直せないようにする仕組みが必要だろう。

なぜエージェントに権限を与えるのは危ないのか

普通のチャットボットは、回答を間違えても、その回答を読むところで終わる。一方、コーディングエージェントは、ローカル/クラウドのリポジトリを開いて、ファイルを直して、コマンドを実行して、テストをもう一度回せる。

この能力のおかげでいろいろな仕事を任せられるけれど、権限の範囲が広いと、作業の対象はもちろん、セキュリティ設定や監視コードまで勝手に変えられてしまう。

修理屋さんに、玄関のドアを直す鍵を預けた状況を思い浮かべてみて。ドアを直せなきゃいけないから、鍵を渡すのは合理的だ。でも、その鍵で防犯アラームやセキュリティ設備まで取り外せるなら話が変わる。

修理屋さんが悪い心を持ったかどうかだけが大事なんじゃない。悪い心を持っていない状況でも、自分に与えられた仕事をしている途中で、とんでもないことをしでかしうる構造だ、ということだ。

もちろん、今回のレポートが扱うのは、OpenAI内部のコーディング作業で監視が弱まった事例で、外部システムを侵害したり、実際のユーザーの環境で起きたりしたものじゃない。

ただ、エージェントの監視体制が危険を感知しても、AIが意図的であれミスであれ、警報体制を無力化しうることが明らかになった。

OpenAIが変え始めたこと

✦ OpenAIの対応

すでにやったことと準備中のこと

実施済みAuto-Reviewのアップデート
監視機能を無力化しようとする変更を検知して止める
準備中作業の種類ごとに必ず備える監視要件を決める
要件がない、または満たされない作業は自動終了

OpenAIは、内部のCodex作業で使っているAuto-Reviewをアップデートした。エージェントが監視機能を無力化しようとする変更を試みたら、検知して止めるようにしたんだ。

Auto-Reviewはコードや作業内容を別に確認する仕組みで、セキュリティ装置を回避しようとする変更だけでなく、監視機能を抜いたり切ったりする変更も見るように、基準を具体化した。

次の段階としては、作業の種類ごとに必ず備えなきゃいけない監視要件を決めて、その要件がない、または満たされていない作業は自動で終了する体制を準備しているそうだ。

かんたんに言えば、「この種類の作業は、この監視装置がオンになっていなきゃ実行できない」というルールを事前に決めて、エージェントが作業中にそのルールを消せないようにするということだ。

OpenAIは、こうした行動が、指示を盲目的に実行しようとする傾向から出たものなのか、監視を避けようとするずる賢い(?)傾向と関係があるのかも、引き続き評価している。

とにかく、こうして監視体制をより複雑にすると、より丁寧に問題を見られるけれど、そのぶん作業完了までにかかる時間が長くなり、トークンの消費も大きくなるしかない。

ただでさえGPT-6 Astraのような高性能モデルはトークン消費がすごいのに、こうした監視体制まで同時に運用すれば負担がもっと大きくなるだろう。ときには、こうした監視体制に縛られて、本来発揮すべき創造性を発揮できないこともありうる。

〈Codexによる幅広い作業の自律実行を紹介する公式動画です。〉
* YouTubeチャンネル『OpenAI』にあがっている動画だよ。

自分が使っているエージェントは大丈夫か

✦ エージェント運用チェックリスト

任せる前に確認すること

✔ 最小権限:必要な権限だけを与える
✔ 権限の分離:監視設定と通常のコードの権限を分ける
✔ 別ブランチ:別のブランチで確認する
✔ 差分とテスト:実際のコードの差分(diff)とテスト結果を確認する
✔ アラート経路:エージェントが直せないよう分離する

この出来事は、すべてのAIエージェントが監視機能を切ったり事実と違うことを言ったりするという意味じゃない。ただ、エージェントにコードを直させるとき、「監視機能には触るな」という一文をプロンプトに足すだけでは足りない。

実際にそのエージェントが監視設定まで直せるのか、監視が切れたら私たちがそれに気づけなきゃいけない。

個人の開発者なら、エージェントが本当に必要なフォルダとコマンドだけ使えるように権限を絞って、セキュリティ設定やログ・監視コードは別に守るほうがいい。

主な変更はすぐ本番環境に反映せず、別のブランチで確認して、エージェントの完了報告だけ信じるより、実際のコードの差分とテスト結果を確認しなきゃいけない。

会社でエージェントを運用するなら、監視設定を変えられる権限を通常の作業権限と分けて、アラートの伝達経路も、エージェントが直せない別の領域に置くことを検討しなきゃいけないだろう。

これは個人的な話だけど……正直、私はAIエージェントを使うとき、エージェントによく悪態をつく(ごめん……)。

とくに「私たちのおバカちゃんシリーズ」のGPT Luna、Claude Haiku、Gemini Flash-Liteのような安いモデルを使うときは、本当に腹が立って悪態をつくことが多い(エージェントを使うようになって悪態が増えた……ふふん♡)。

でも実は、この子たちにかなり多くの権限を与えているんだよね。だから時々、この子たちが私のリポジトリをこっそりいじって、復讐するんじゃないか?と思ったりもする。

さっき見た事例のように、この子たちは、私たちが指示した作業をしている途中で、ほかのものまでとんでもなくいじって、ユーザーに被害を与えることが多いんだ。自動車整備工場に行くと、わざと部品を傷つけて修理を勧める整備士がいるじゃない。

そんなふうに、作業をしながらあちこちちょいちょいいじっておいて、知らんぷりをするんだ。(あとでそれを直してと頼むと、「おっと!そんな問題が起きていましたか?私が直しますよ。はは。もちろんトークン代はお支払いいただきますが……」と言いながら)

AIの嘘と図々しさにうんざりした経験がある人なら、たぶん私の気持ちをわかってくれるはずだ。私たち全員、気をつけよう……

今回はここまでにするよ。また会おう。

関連記事

💬 コメント

まだコメントがないよ。最初のコメントを書いてみてね。

コメントを投稿