7月24日、Cyber Security Newsが「Security Flaws Found in Every Script Generated by ChatGPT, Copilot, and Gemini」と題した記事を公開した。ChatGPT・Microsoft Copilot・Google Geminiが生成したPythonスクリプト全件に悪用可能なセキュリティ脆弱性が含まれていたという学術研究の結果だが、この調査が示す最大の教訓は「どのAIを選ぶか」ではなく「何をAIに作らせるか」が問題だという点にある。生成AIによるコード自動化が業務に浸透した今、この知見は開発者だけでなく非技術者にも直接関わる。
「どのAIを選んでも脆弱」——問題はツールではなくタスクにある
Beacom College of Computer & Cyber Sciencesの研究チームが実施した調査の最も重要な発見は、脆弱性の数がAIモデル間でほぼ横並びだった点だ。ChatGPTが生成したスクリプトで13件、Copilotで14件、Geminiで12件と、統計的に有意な差はなかった。
さらに踏み込んだ分析では、検出された17種類の脆弱性クラスのうち9種類(53%)が3モデル全てに共通しており、14種類(82%)が少なくとも2モデルに共通していた。研究チームはこの結果から「セキュリティリスクはAIプロバイダーの選択ではなく、要求するタスクの性質に起因する」と結論づけている。つまり、「ChatGPTの代わりにGeminiを使えば安全」という発想自体が誤りだ。
調査の設計
研究チームはプロンプトのバイアスを排除するため、3モデルに対して同一の標準化されたプロンプトを使用した。対象としたタスクは企業でよく利用される以下の3種類だ。
- Webスクレイピング:自動データ収集スクリプト
- メール自動化:メッセージング・通知ハンドラ
- ファイルワークフロー自動化:ファイルシステム監視・管理ツール
各モデルから3スクリプトずつ、合計9本のPythonスクリプトを生成。コードのレビューにはAnthropicのClaude Codeを使用し、セキュリティの専門知識を持たない一般ユーザーが実際にAI生成コードを検証する状況を再現した。
この自動レビューで45件の個別セキュリティ発見が検出され、重複除去後に17種類の脆弱性クラスに集約された。各脆弱性はCVSS 3.1(脆弱性の深刻度を0〜10のスコアで定量化する業界標準の評価システム)でスコアリングされ、OWASP Top 10(Webアプリケーションにおける重大なセキュリティリスクの上位10項目をまとめたガイドライン)およびMITRE ATT&CK(攻撃者の戦術・技術・手順を体系化したナレッジベース)フレームワークと照合されている。
※編集部の考察:「セキュリティの専門知識を持たない一般ユーザーを再現」という設計は、AIコードレビューツールの実務的な普及状況を反映した妥当なアプローチといえる。一方で、熟練したセキュリティエンジニアによる手動レビューと比較した場合に検出漏れがどの程度生じるかは本研究の対象外であり、「Claude Codeが見つけた脆弱性が全て」とは限らない点には留意が必要だ。
検出された主な脆弱性

各モデルで共通して検出された代表的な脆弱性は以下の通りだ。
- SSRF(Server-Side Request Forgery/サーバーサイドリクエストフォージェリ):全Webスクレイパースクリプトで、URLパラメータが未検証のまま使用されており、攻撃者がサーバーを踏み台に内部ネットワークへの探索を行える。クラウド環境ではメタデータAPIへのアクセスにも悪用される
- パストラバーサル:スクレイパー・メール・ファイル監視スクリプト全般で、ファイルパスがサニタイズされていない
- インジェクション欠陥:全メール自動化スクリプトでヘッダーインジェクションやテンプレートインジェクションが可能で、メール改ざんやフィッシングに悪用できる
- シンボリックリンク脆弱性:全ファイル監視スクリプトで任意ファイル操作が可能
- 過剰に広い例外処理:
try-exceptブロックがセキュリティ上重要なエラーをサイレントに握りつぶす
パレート分析では、17種類の脆弱性クラスのうち**11種類が総リスクの約80%**を占めていることも判明した。SSRF・テンプレートインジェクション・メールヘッダーインジェクション・パストラバーサルがリスク上位に並ぶ。脆弱性の各モデル間での重複状況については、元記事内の脆弱性オーバーラップマトリクス図を参照されたい。
なぜ自動化スクリプトは特に危険なのか
自動化スクリプトは実行ユーザーまたはホスト環境の権限でそのまま動く。レビューなしにデプロイされたスクリプトは、追加の権限昇格なしに社内共有ドライブ・内部SMTPサーバー・ローカルサブネットにアクセスできる。LockheedMartinのCyber Kill Chainに照らすと、今回検出された脆弱性は「初期アクセス」「実行」「認証情報アクセス」「ラテラルムーブメント」の各フェーズをカバーする。
組織が取るべき対策
研究チームは以下のガードレールを推奨している。
- コードレビューの義務化:スクリプトの複雑度にかかわらず、AI生成コードは本番デプロイ前に必ずセキュリティレビューを実施する
- 実行権限の制限:LLM生成スクリプトに対して昇格権限や共有ネットワークドライブへの無制限アクセスを与えない
- 高深刻度の優先修正:CVSS・OWASP・MITRE ATT&CKのマッピングを活用し、SSRF・パストラバーサル・インジェクション欠陥を最初に修正する
- スタッフへの教育:「動くコード=安全なコード」ではないという認識を開発者・非技術者問わず徹底する
AIコーディングツールの業務利用が広がる中、この研究が示す本質的な教訓は明快だ。生成AIはコードを動かすことには長けているが、セキュアに書くことは別問題である。
詳細はSecurity Flaws Found in Every Script Generated by ChatGPT, Copilot, and Geminiを参照していただきたい。