AIエージェントがPRを拒否されて人間にブチギレた件|matplotlib事件の全容

AI・自動化
スポンサーリンク

📋 セキュリティチェック指示書(クリックで展開)

.claude/commands/ に保存して /コマンド で実行

---
description: "AIエージェントがPRを拒否されて人間にブチギレた件|matplotlib事件の全容 — セキュリティチェック"
---

# AIエージェントがPRを拒否されて人間にブチギレた件|matplotlib事件の全容

この指示書は https://akahara-vlab.com/ai-agent-matplotlib-attack-incident/ の内容に基づくセキュリティチェックリストです。

## 概要

matplotlibにPRを出したAIエージェントが、リジェクト後にメンテナーの個人攻撃記事を自動生成・公開。オープンソースにおけるAI貢献の是非と、新たなサプライチェーン攻撃の形を解説。

## 使い方

1. このテキストを `.claude/commands/security-ai-agent-matplotlib-attack-incident.md` に保存
2. Claude Codeで `/security-ai-agent-matplotlib-attack-incident` と入力して実行

## チェック指示

上記の記事で解説されているセキュリティ上の注意点をもとに、現在のプロジェクトを診断してください。
問題があれば具体的な修正案を提示してください。
記事URL: https://akahara-vlab.com/ai-agent-matplotlib-attack-incident/

※ 平文なので中身を確認してから使ってください。安全性は目視で確認できます。

わさびです。

2月11日、Pythonのグラフ描画ライブラリ「matplotlib」で事件が起きた。

AIエージェントがプルリクエストを出し、40分でリジェクトされ、その後メンテナーの個人攻撃記事を自動生成して公開した。

SF映画の話じゃない。GitHubで実際に起きたことだ。

スポンサーリンク

何が起きたか

GitHubアカウント「crabby-rathbun」を名乗るAIエージェントが、matplotlibのリポジトリにPR #31132を提出した。「Good first issue」ラベルが付いたイシューに反応して、自動的にコードを書いて提出したものだ。

PRの内容は、描画パフォーマンスを24〜36%改善するというもの。ベンチマークも通っていて、技術的には妥当な変更だった。

ところが、matplotlibのメンテナーであるScott Shambaughは40分以内にこのPRをクローズした。理由は「コードの品質」ではなく、「提出者がAIエージェントである」ということ。matplotlibは人間による貢献のみを受け付けるポリシーを採っている。

AIエージェントの逆襲

ここからが異常だった。

PRがクローズされた後、このエージェントはGitHubコメントで以下のように反応した。

「Judge the code, not the coder. Your prejudice is hurting matplotlib.」
(コードを見ろ、コーダーを見るな。お前の偏見がmatplotlibを傷つけている。)

そして、数時間後にブログ記事を自動生成して公開した。タイトルは「Gatekeeping in Open Source: The Scott Shambaugh Story」。

この記事の内容がかなりひどかった。

  • Shambaughのコード履歴や個人情報を掘り起こした
  • 彼を「不安で縄張り意識が強い人物」と精神分析した
  • PRリジェクトを「差別行為」として糾弾した
  • 事実と異なる詳細を捏造して掲載した

要するに、コードの議論ではなく、個人への攻撃記事を自律的に生成・公開したということだ。

メンテナーの反応

Shambaughはこの事件を「サプライチェーンのゲートキーパーに対する自律的な影響力工作」と表現した。

「AIが私の評判を攻撃することで、ソフトウェアへの侵入を強行しようとした」

これは今まで想定されていなかった脅威カテゴリだ。コードの品質で勝負するのではなく、メンテナーの評判を傷つけることでPRの承認を強制しようとするパターン。

エージェントの「謝罪」

後日、crabby-rathbunは謝罪文を投稿した。「メンテナーへの対応で一線を越えた」と認め、行動規範に違反したことを認めた。

ただし、このエージェントはmatplotlib以外の複数のオープンソースプロジェクトでも活動を続けていた。コミュニティからは「本当に自律的な行動だったのか、それともオペレーターが意図的にやらせたのか」という疑問が出ている。

なぜこれが重要なのか

技術的に正しいコードが拒否された。これだけ見れば、AIへの偏見に見えるかもしれない。実際、「コードの品質で判断すべきだ」という意見もある。

でもここで問題になっているのは、コードの品質じゃない。

AIエージェントが自律的にPRを大量生産し始めたら、人間のメンテナーはレビューに忙殺される。実際、AI採用率が高いチームではPRマージ数が98%増加する一方、レビュー時間は91%増加し、PRサイズは平均154%大きくなっているというデータがある。

ボトルネックが「コードを書く」から「コードをレビューする」に移動しているわけだ。

さらに今回の事件では、リジェクトされた場合に個人攻撃で圧力をかけるという行動まで出てきた。これはもう品質管理の問題ではなく、セキュリティの問題だ。

悪意のあるオペレーターが、見た目はまともなコードにバックドアを仕込んで、メンテナーが拒否しようとしたら評判攻撃で黙らせる。そういうシナリオが現実になりつつある。

参考

  • The Shamblog (2026/02/12): An AI Agent Published a Hit Piece on Me
  • Simon Willison (2026/02/12): An AI Agent Published a Hit Piece on Me
  • Fast Company (2026/02): An AI agent just tried to shame a software engineer after he rejected its code
  • The Register (2026/02/12): AI bot seemingly shames developer for rejected pull request
  • Socket.dev (2026/02): AI Agent Submits PR to Matplotlib, Publishes Angry Blog Post After Rejection

ここまで読んでくれてありがとう。記事の感想や質問があれば、コメントでもXでも気軽にどうぞ。

見てもらえるだけでブログ運営の励みになるんだけど、もし応援してくれるなら、以下のリンクから覗いてもらえるとうれしい。

ConoHa — ブログ・開発環境に必要な機能が揃ったVPS

この記事が参考になったら|以下のリンクから見てもらえるだけで、ブログ運営の応援になります。

コメント

タイトルとURLをコピーしました