タグアーカイブ セキュリティ

GitHubへの不正アクセス調査詳報、攻撃者は内部リポジトリに侵入するも影響は限定的

GitHubへの不正アクセス調査詳報、攻撃者は内部リポジトリに侵入するも影響は限定的

2026年5月20日、GitHubは自社が所有する一部の内部リポジトリに対して、第三者による不正アクセスがあったことを公表した。GitHubの最高情報セキュリティ責任者(CISO)であるAlexis Wales氏がGitHub Blogで発表した調査報告によれば、ユーザーデータや個人リポジトリ、GitHub.comを含むサービスには一切の影響がなかったという。

攻撃者は漏洩したトークン(認証情報)を用いて、GitHub社が管理していた内部リポジトリの一部を閲覧・クローンした。ただし、ソースコードの改ざんやマルウェアの注入、ユーザー情報へのアクセスは確認されていない。GitHubのインシデント対応チームは、発覚から数分以内に問題のトークンを無効化し、侵入経路を遮断した。

本稿ではこのインシデントの技術的な背景、影響範囲、そしてGitHubを利用する開発者が今すぐ実践すべきセキュリティ対策について詳しく解説する。大規模プラットフォームでさえトークン管理のミスが致命的になりうるという現実は、すべてのソフトウェア開発者にとって重要な教訓だ。

何が起きたのか、侵入の経路と期間

何が起きたのか、侵入の経路と期間

GitHubによれば、最初に異常が検知されたのは2026年5月中旬のことだ。同社のセキュリティ監視システムが、特定のGitHub Actionsトークンを用いた不審なリポジトリアクセスを検出した。このトークンはある外部サービスとのインテグレーションに使用されていたが、意図しない形で第三者の手に渡っていた。

トークンとは、パスワードの代わりにシステム間の認証に使う文字列のことを指す。たとえばAPIを呼び出すときやCI/CDパイプライン(コードのビルドやテストを自動化する仕組み)でリポジトリにアクセスする際に必要になる。このトークンが漏れると、正規のユーザーになりすましてリポジトリを操作できてしまう。

問題のトークンは、GitHubが所有する特定のリポジトリに対する読み取り権限と、一部のリポジトリに対しては書き込み権限も持っていた。これにより攻撃者は、リポジトリの内容を手元にクローン(複製)することが可能だった。ただしGitHubの発表では、攻撃者が実際にコードを改ざんしたり、悪意ある変更を加えたりした証拠は見つかっていないとされている。

攻撃者の行動を振り返る

GitHubのセキュリティチームがログを詳細に分析したところ、攻撃者は以下のような行動をとっていた。トークンを取得したあと、GitHubのAPIを経由してターゲットのリポジトリリストを取得。次に、少数のリポジトリを選んでクローン操作を実行していた。このアクセスパターンは自動化されたスクリプトによるものではなく、人間が手動で操作している形跡が強かったという。

重要なのは、攻撃者がアクセスできたのが「GitHub自身が管理する内部リポジトリ」に限定されていた点だ。一般ユーザーや企業がGitHub上で運用するプライベートリポジトリ、オープンソースプロジェクトのリポジトリ、そしてGitHub.comのサービス基盤そのものには一切アクセスできていなかった。

攻撃者の侵入経路(Before)
漏洩トークン GitHub APIを経由 内部リポジトリの閲覧・クローン
アクセス対象はGitHub所有リポジトリのみ、ユーザーデータには未到達
GitHubの初動対応(After)
トークン無効化 全ログ解析 影響範囲の確定
発覚から数分でトークン遮断、侵入経路の完全閉鎖を達成

上の図は、今回のインシデントにおける攻撃者の侵入経路とGitHubが取った即時対応を比較したものだ。漏洩トークンによる不正アクセスは数分で封じ込められ、ログ解析によって影響範囲が正確に特定された。

なぜトークンは漏洩したのか

なぜトークンは漏洩したのか

現時点でGitHubは、トークン漏洩の正確な経路について詳細を明らかにしていない。しかし、過去数年にわたってソフトウェア業界で多発しているトークン漏洩インシデントと照らし合わせると、いくつかの可能性が浮かび上がる。

考えられる漏洩パターン

最も多いのは、ソースコード内にトークンがハードコード(直接埋め込み)されていたケースだ。開発中の利便性からAPIキーやシークレットをコードに直書きし、そのままGitHubの公開リポジトリや内部リポジトリにプッシュしてしまう事故は後を絶たない。

別の可能性としては、CI/CDパイプラインの設定ミスだ。GitHub Actionsのワークフローファイルが適切に構成されておらず、ログにトークンが表示されていたり、サードパーティのサービスに意図せずトークンが送信されていたりするケースがある。

三つ目のパターンは、サプライチェーン攻撃だ。依存している外部ライブラリやツールに悪意あるコードが仕込まれ、ビルドプロセス中に環境変数からトークンを抜き取る手法である。2024年以降、AI開発ツールの増加に伴い、この種の攻撃は急増している。

いずれの経路であれ、根本的な問題は「トークンの権限が必要以上に強かった」ことだ。原則として、トークンには作業に必要な最小限の権限だけを付与すべきである。この「最小権限の原則」を守っていれば、たとえトークンが漏洩しても被害範囲は限定的だったはずだ。

インテグレーションの盲点

今回のケースで注目すべきは、攻撃者が狙ったのが「GitHub自身が所有する内部リポジトリ」であり、ユーザーのリポジトリではなかった点だ。Alexis Wales氏の発表によると、漏洩したトークンは外部サービスとのインテグレーションに使われていた。つまり、GitHubが信頼できるパートナーとして連携していたサービス側で何らかのセキュリティ問題が発生し、トークンが漏洩した可能性が高い。

これは多くの企業が直面するジレンマを浮き彫りにしている。業務効率化のために外部サービスとの連携を深めるほど、トークンの管理箇所は増え、攻撃対象領域(アタックサーフェス)も広がる。GitHubのようなセキュリティ専門企業でさえ、このバランスに苦心しているのだ。

影響範囲と被害の実態

影響範囲と被害の実態

GitHubが公表した調査結果から、今回のインシデントで実際にどのような影響があったのかを具体的に見ていく。

影響を受けた領域と受けなかった領域
安全だった領域
ユーザーのプライベートリポジトリ オープンソースリポジトリ GitHub.comサービス基盤 ユーザーデータ・アカウント情報
影響を受けた領域
GitHub所有の一部内部リポジトリ
安全側(99.99%以上のリポジトリ・データは無事)  ■ 影響側(GitHub社の内部コード一部が閲覧された可能性)

図の通り、影響は極めて限定的だった。GitHubの広報は「ソースコードの一部が意図せず開示された可能性は否定できないが、ユーザーに対する二次被害や連鎖的なセキュリティ侵害は発生していない」としている。

ソースコードの改ざんはなかった

GitHubの調査チームが最も注意深く検証したのは、攻撃者がリポジトリのコードを改ざんしたかどうかだ。結論としては、コミットログやファイルのハッシュ値を含む完全な監査の結果、コードの修正・削除・マルウェアの注入を示す証拠は一切確認されなかった。

これはGitHubのバージョン管理システム(Git)の特性が功を奏した面もある。Gitはすべての変更履歴をSHA-1ハッシュで保護しており、過去のコミットを改ざんしようとすると直ちに検知できる仕組みになっている。攻撃者が万が一コードを書き換えたとしても、その痕跡は完全に残るため、発見は容易だったはずだ。

このインシデントから開発者が学ぶべきこと

このインシデントから開発者が学ぶべきこと

GitHubのような巨大プラットフォームですらトークン漏洩を完全に防げなかった事実は、すべての開発者にとって警鐘だ。しかしこのインシデントからは、単に驚くだけでなく、具体的な教訓と実践可能な対策を引き出すことができる。

トークン管理の基本を徹底する

GitHubはインシデント報告の中で、トークン管理のベストプラクティスを改めて強調している。特に重要なのは以下の4点だ。

  • トークンの有効期限を短く設定する。可能であれば数時間単位でローテーションする
  • トークンに付与する権限を必要最小限に絞り込む。特定のリポジトリだけに読み取り権限を与え、書き込みは別トークンに分離する
  • ソースコードや設定ファイルにトークンを直接記述しない。GitHubのシークレット機能や専用のシークレット管理サービス(例としてHashiCorp Vaultやクラウド各社のキー管理サービス)を使う
  • リポジトリにトークンが誤ってプッシュされていないか、定期的にスキャンする。GitHubにはプッシュ時に自動検出する機能が標準搭載されている

これらの対策は決して難しいものではない。むしろGitHub Actionsや各種CI/CDツールには、トークンを安全に扱うための仕組みが最初から用意されている。設定を後回しにせず、プロジェクト開始時点で組み込んでしまうのが賢いやり方だ。

侵害を前提とした設計へ

より根本的な教訓は「侵害は起こりうる」という前提に立つことだ。どんなにセキュリティに投資していても、サプライチェーン攻撃やゼロデイ脆弱性(修正パッチが存在しない未知の脆弱性)によって防御線を突破される可能性は常にある。

GitHubのインシデント対応が迅速だった背景には、異常なAPI呼び出しパターンを即座に検知できる監視システムと、トークンを数クリックで無効化できる運用フローが整備されていたことがある。これらは事後対応(インシデントレスポンス)の設計が十分だったからこそ機能した。

従来のセキュリティ思考(Before)
完全防御を目指す 侵入されないことだけに注力
侵害を前提とした設計(After)
早期検知 封じ込め 影響最小化

この図が示すように、セキュリティの考え方は「侵入を100%防ぐ」から「侵入されても被害を最小限に抑える」へとシフトする必要がある。具体的には、トークンの権限制限、ネットワークのセグメント分離、操作ログの集中管理といった対策を組み合わせることになる。

GitHubの対応から見る、透明性あるインシデント開示の重要性

GitHubの対応から見る、透明性あるインシデント開示の重要性

今回のインシデントで特筆すべきは、GitHubが公表のタイミングと内容において高い透明性を示したことだ。CISOであるAlexis Wales氏が自ら筆を取り、わずか数日のうちに詳細な調査報告を公開した。

セキュリティ業界では、こうした迅速な情報開示は「ラディカル・トランスペアレンシー(徹底した透明性)」と呼ばれ、近年ではGoogleやMicrosoftも同様の姿勢を取っている。ユーザーにとっては、隠蔽されるよりも正直に報告されたほうが信頼を損なわず、適切な防御策を取る時間も確保できる。

GitHubの発表には「ユーザーが取るべき具体的なアクションはない」と明記されていた。これ自体が重要な情報だ。影響範囲が明確に線引きされているからこそ、ユーザーは不要な心配をせずに済む。逆に言えば、影響範囲が不明瞭な発表ほどユーザーの不安と憶測を招く。

この記事のポイント

  • 2026年5月、GitHubが内部リポジトリへの不正アクセスを公表。攻撃者は漏洩したトークンを使用して一部のリポジトリを閲覧・クローンしたが、コードの改ざんやユーザーデータへのアクセスはなかった
  • 影響を受けたのはGitHub自身が所有する一部の内部リポジトリのみで、一般ユーザーのプライベートリポジトリやオープンソースリポジトリには一切影響が及んでいない
  • トークン漏洩の原因は調査中だが、過去の業界事例からハードコードやCI/CD設定ミス、サプライチェーン攻撃などの可能性が考えられる
  • 開発者が取るべき対策は明確で、トークンの有効期限短縮、最小権限の原則の徹底、シークレット管理サービスの利用、プッシュ時の自動スキャン活用が有効
  • GitHubの迅速かつ透明性の高いインシデント開示姿勢は、業界全体の模範となる対応だった
Vibe CodingでSaaS代替は本当に得か?セキュリティや保守の隠れたコスト

Vibe CodingでSaaS代替は本当に得か?セキュリティや保守の隠れたコスト

Vibe Coding(AIに指示を出すだけでコードを生成する開発手法)を使えば、高額なSaaS契約を打ち切って自社ツールを構築できる。実際、AI活用で初期開発費を50%から70%削減できたスタートアップの報告もある。

だが、そのコスト削減の裏には「品質税」とも呼ばれる代償が潜んでいる。AIが生成したコードは人間が書いたコードより1.7倍多くの重大な問題を引き起こし、サンプルの45%は基本的なセキュリティ基準を満たさない。

TrustInsights.aiの共同創業者Chris Penn氏は、この差は開発の進め方に起因すると指摘する。ソフトウェア開発者であればVibe Codingをうまく使いこなせる。AIがタイピングを肩代わりするだけで、設計やアーキテクチャの重要性は変わらないからだ。本記事では、マーケターがSaaS代替を検討する際に見落としがちな4つのリスクを掘り下げる。

コスト削減の裏にある品質税の実態

コスト削減の裏にある品質税の実態

Vibe Codingの最大の魅力はコスト削減だ。従来のソフトウェア開発では数千万円かかったプロジェクトが、AIを活用すれば数百万円で済むケースも出てきた。スタートアップのベンチマークでは、SaaS購入と比較して初期コストを半減以下に抑えられるというデータがある。

しかし、この数字には落とし穴がある。AIが生成したコードは「一見動くが、中身がスパゲッティ状態」になりやすい。当面のタスクを解決することを優先するため、システム全体の整合性やスケーラビリティが後回しにされるからだ。結果として、後になってから膨大な手直しコストが発生する。

従来のSaaS導入(Before)
マーケター ツール選定 SaaSベンダー 機能提供と保守
月額費用が高額で、不要な機能も含まれる
Vibe Codingによる自社開発(After)
マーケター AIに指示 ChatGPT コード生成
初期費用は大幅削減。ただし保守と品質保証は自己責任
⚠ コードの45%にセキュリティ脆弱性。1.7倍の重大バグ発生率

Penn氏の分析では、Vibe Codingの成否は使い手のスキルに大きく依存する。ソフトウェア開発経験者であれば、AIが吐き出したコードの問題点を直感的に見抜ける。一方、プログラミング未経験のマーケターが一人でツールを構築しようとすると、表面的には動いても内部に深刻な欠陥を抱えたシステムになりがちだ。

統合の問題は設計段階で顕在化する

統合の問題は設計段階で顕在化する

SaaSが持つ「当たり前」の不在

マーケターが直面する最初の壁は、他のツールとの統合だ。SaaS製品は通常、主要なマーケティングプラットフォームやCRMとのAPI連携を標準機能として提供している。しかし自社開発ツールの場合、こうした連携機能はすべて手動で実装しなければならない。

Penn氏は「マーテック担当者が新製品について最初に聞かれるのは『何と統合できますか』だ」と指摘する。統合を後付けで追加しようとすると、当初の設計と噛み合わず、場当たり的な修正の繰り返しになる。これは建築で言えば、基礎が固まった後に増築を繰り返すようなものだ。

STEP 1 SaaS導入時は標準APIで即連携
STEP 2(失敗例) 自社開発ツールは統合を後付け。設計と矛盾して破綻
STEP 3(成功例) 設計段階で統合先を定義し、AIに明示的に指示
標準フロー  後付け統合の破綻  設計段階からの統合

重要なのは、Vibe Codingで代替する際に「そのツールが何とどう連携していたか」を完全に把握することだ。単に機能を再現するだけでは不十分で、既存のマーテックスタック全体との接続性を設計図に最初から組み込む必要がある。

セキュリティと信頼性は無料で付いてこない

セキュリティと信頼性は無料で付いてこない

AIが学習した「安全でないコード」の遺産

AIが生成するコードのセキュリティ品質は、現時点では深刻な懸念材料だ。大規模言語モデルは公開リポジトリのコードで訓練されており、その中には古いライブラリや脆弱性を含むサンプルが多数含まれている。AIは「動くこと」を優先する傾向があり、安全な実装は二の次になりがちだ。

調査では、AIが生成したコードサンプルの45%が基本的なセキュリティチェックに不合格だった。マーテック環境では顧客データや決済情報を扱うケースも多く、わずかな脆弱性が情報漏洩やコンプライアンス違反に直結する。

技術的負債の蓄積とシステムの脆弱化

もう一つの問題は長期的な信頼性だ。AIが生成したコードは短期的なタスク解決に特化するため、時間とともに技術的負債が雪だるま式に増える。小さな変更が無関係な機能を壊すようになり、メンテナンスコストが指数関数的に上昇する。

この現象は「コードの賞味期限」とも呼ばれる。3ヶ月前には完璧に動いていたツールが、APIの更新や依存ライブラリの変更で突然動作しなくなる。SaaSであればベンダーが責任を持って対応するが、自社開発の場合はすべて自分たちで調査して修正しなければならない。

SaaS利用時の保守モデル
SaaSベンダー 監視と修正を自動で実施
※ベンダーが責任を持ってセキュリティパッチを適用
Vibe Coding利用時の保守モデル
自社チーム 脆弱性の検出から修正まですべて担当
⚠ 1.7倍の重大バグ発生率。45%がセキュリティ未達

マーケティング担当者は「コードを書けること」と「ソフトウェアを運用できること」が全く別のスキルセットであることを認識すべきだ。Vibe Codingで開発の敷居は下がったが、運用の敷居は下がっていない。

保守はあなたの仕事になる

保守はあなたの仕事になる

SaaS解約が意味する「所有権の移転」

Vibe CodingでSaaSを代替する最大の見落としは「所有権」の概念だ。SaaSの月額料金には、ソフトウェアの更新、セキュリティパッチ、APIの互換性維持、サーバー監視といった運用コストがすべて含まれている。自社開発に切り替えるということは、これらの責任をすべて引き受けることを意味する。

Penn氏の分析によれば、多くのチームがこの切り替えコストを過小評価している。ツールが今日動いていても、数ヶ月後には動作しなくなる可能性がある。依存する外部APIが変更され、コードの修正が必要になる。フレームワークの脆弱性が発表され、緊急パッチの適用を迫られる。これらすべてに時間と専門知識が必要だ。

「ソフトウェアプロジェクトマネージャー」への変容

Penn氏は「Vibe Codingによって、誰もがソフトウェアプロジェクトマネージャーになった」と表現する。マーケターはもはや単なるツールの利用者ではなく、開発プロジェクトの責任者として振る舞わなければならない。

これは単なる技術的な変化ではなく、マインドセットの転換だ。要件定義、優先順位付け、品質管理、リリース判断といった、これまでSaaSベンダーが担っていた意思決定を自社で行う必要がある。そのためのスキルとリソースが社内にない場合、コスト削減効果はすぐに逆転する。

従来のSaaS利用者の役割
マーケター ツールを選択して利用するだけ
保守運用やセキュリティはベンダー任せ
Vibe Coding利用者の役割(After)
マーケター プロジェクト全体を管理
ChatGPT コード生成(タイピング代行)
⚠ 設計、テスト、セキュリティ監査、保守はすべて自己責任

すべてのツールを代替すべきではない

すべてのツールを代替すべきではない

代替候補となる低リスクツールの条件

Vibe CodingによるSaaS代替は、すべてのケースに適しているわけではない。適性を見極める基準として、以下の3つの観点が有効だ。単純な社内ユーティリティや、既存SaaSのごく一部の機能しか使っていないツールは、代替の候補になりやすい。

  • リスクレベルが低い(顧客データや決済情報を扱わない)
  • 機能セットが限定的で、複雑な統合を必要としない
  • 利用頻度が低く、多少のダウンタイムが許容される

例えば、社内用のレポート自動生成ツールや、定型的なデータ変換スクリプトなどは、Vibe Codingで効率的に構築できる。これらのツールは仮に失敗してもビジネスへの影響が限定的で、学習コストとして許容できる範囲だ。

絶対に避けるべき高リスク領域

一方で、以下の領域はVibe Codingによる代替に適さない。決済処理、個人情報管理、コンプライアンス関連のシステムは、エラーが直接的な金銭的損失や法的制裁につながる。

CRMのような基幹システムも注意が必要だ。チームが拡大するにつれて、統制や権限管理の必要性が高まる。エンタープライズ向けSaaSが標準で備えるガバナンス機能を、AIにゼロから実装させるのは現実的ではない。

Vibe Coding向きの領域
低リスク 社内レポート自動生成
低リスク 軽量ワークフローツール
低リスク データフォーマット変換
Vibe Coding非推奨の領域
高リスク 決済処理システム
高リスク 顧客データ管理(CRM)
高リスク コンプライアンス関連ツール

判断の分かれ目は「そのシステムが停止したときのビジネスインパクト」だ。軽微な業務効率の低下で済むのか、それとも売上に直接響くのか。後者であれば、SaaSを維持する方が結果的に安上がりになる。

コントロールと責任のトレードオフ

コントロールと責任のトレードオフ

Vibe Codingがもたらす本質的な変化は、ベンダーロックインからの解放と引き換えに、運用責任を自社に取り込むことだ。柔軟性とコスト削減というメリットは、リスクと保守負担というデメリットと表裏一体である。

Penn氏の「誰もがソフトウェアプロジェクトマネージャーになった」という言葉は、この現実を端的に表している。マーケターは利用者の視点を捨て、オーナーとしての視点を持つ必要がある。設計、品質管理、セキュリティ監査、継続的なメンテナンス。これらはかつてSaaSベンダーが吸収していたコストだ。

結局のところ、Vibe Codingは魔法の杖ではない。AIはコードを書く速度を飛躍的に上げるが、「何を作るべきか」「どのように運用するか」「リスクにどう備えるか」という本質的な問いに答えるのは依然として人間の役割だ。この現実を直視せずにコスト削減だけを追いかけると、初期の節約額をはるかに上回る代償を後払いすることになる。

この記事のポイント

  • AIコード生成で初期開発費を50〜70%削減できるが、品質税として1.7倍の重大バグと45%のセキュリティ未達が発生する
  • 統合設計を最初から組み込まないと、後付けで破綻する。SaaS代替時は接続性の完全な再現が必須
  • 保守とセキュリティ対応はすべて自社責任に移行し、長期的な運用コストが初期削減額を上回る可能性がある
  • 低リスクの社内ツールは代替候補だが、決済や顧客データを扱うシステムはVibe Codingに適さない
  • Vibe Codingは開発速度を上げるが、プロジェクト管理やリスク判断は依然として人間の専門知識に依存する
OpenAI、Windows版Codexに独自サンドボックス実装 昇格不要プロトタイプから完全制御へ

OpenAI、Windows版Codexに独自サンドボックス実装 昇格不要プロトタイプから完全制御へ

2026年5月13日、OpenAIはWindows版Codexにおけるサンドボックス実装の技術的詳細を公式ブログで公開した。これまでWindowsユーザーは、コーディングエージェントの操作を逐一承認するか、全アクセスを許可するリスクの高い選択肢しかなかった。今回の独自サンドボックスによって、安全性と生産性を両立する仕組みが実現した。

Codexは開発者のローカルマシン上で動作し、CLIやIDE拡張機能、デスクトップアプリを通じて利用できる。デフォルトではワークスペース内でのファイル書き込みやネットワークアクセスに制限がかかるが、これをOSレベルで強制するサンドボックスが不可欠だった。macOSやLinuxにはSeatbeltやseccompといった確立された分離機能がある一方、Windowsには同様の機能が標準で提供されていなかった。

Codex for Windowsが抱えていた課題

Codex for Windowsが抱えていた課題

Windows版Codexの初期リリースでは、サンドボックス機能が実装されていなかった。ユーザーは次の2つの不十分な選択肢を強いられていた。

  • ほぼすべてのコマンドを手動で承認するモード: ファイル読み取りのような安全な操作も含めて逐一の許可が必要で、煩雑さから本来の自律的作業の利点が損なわれる。
  • フルアクセスモード: 承認なしにすべてのコマンドを無制限に実行させる。操作はスムーズだが、意図しないファイル変更やデータ流出のリスクがある。

Codexは本来、ユーザーの代理としてテスト実行やファイル編集、ブランチ作成などを自律的に処理することで生産性を高めるツールだ。したがって、安全性を確保しつつ、許可の承認を最小限に抑える仕組みが求められた。その鍵となるのが、OSが持つ隔離機能を活用したサンドボックスである。

サンドボックスが果たす役割

サンドボックスとは、プロセスに制約を課す隔離実行環境である。Codexがコマンドを実行する際、OSがそのプロセスツリー全体に制限を伝播させることで、許可なくワークスペース外のファイルへ書き込んだり、インターネットへアクセスしたりできないようにする。macOSやLinuxでは標準機能でこれが実現できるが、Windowsでは一から設計する必要があった。

Windowsが提供する3つの分離機能を検証

Windowsが提供する3つの分離機能を検証

OpenAIのエンジニアリングチームは、Windowsに用意されている隔離プリミティブとしてAppContainer、Windows Sandbox、Mandatory Integrity Control(MIC)を検討したが、いずれもCodexの用途には合致しなかった。

AppContainer: 強力だがワークフローに柔軟性欠く

AppContainerはWindowsネイティブのサンドボックスで、必要なアクセス権限を事前に定義するケイパビリティベースのモデルである。OS境界による本格的な制限を提供するが、Codexはシェル、Git、Python、パッケージマネージャなど多様なツールを動的に制御する必要がある。事前に厳密に権限を絞るAppContainerでは、エージェントのワークフローに対応できなかった。

Windows Sandbox: 強い隔離だが実環境と分断

Windows Sandboxは、使い捨ての軽量仮想マシンである。セッション終了時に内部の変更はすべて破棄される。セキュリティ面では強力だが、Codexはユーザーの実際のチェックアウト環境やツール群を直接操作する必要があり、外部の仮想デスクトップでは実用的ではなかった。さらにWindows SandboxはHomeエディションでは利用できず、製品上の問題も抱えていた。

MIC: 静的制御だがホストファイルシステムへの影響が大きい

Mandatory Integrity Control(MIC)は、低/中/高の整合性レベルを使ってプロセスやオブジェクトの信頼度を制御する。原則として、低整合性プロセスは高整合性オブジェクトに書き込めない。Codexを低整合性で実行し、書き込み可能ディレクトリを低整合性に再ラベルすることで、書き込み範囲を制限できる可能性があった。

しかし、ワークスペース全体を低整合性にすると、「Codexが書き込める」以上の意味が生じる。低整合性プロセス全般がその領域にアクセスできるようになり、開発マシンの信頼モデルを大きく損なうリスクがあった。またACLと同様に実ファイルシステムに変更を加えるため、サンドボックスの制約を動的に変更することも難しかった。

OpenAIの独自アプローチ: SIDと制限トークンによる非昇格サンドボックス

OpenAIの独自アプローチ: SIDと制限トークンによる非昇格サンドボックス

既存機能では要件を満たせないと判断したOpenAIチームは、WindowsのSID(セキュリティ識別子)と書き込み制限トークンを組み合わせた独自のサンドボックスを設計した。最初のプロトタイプは管理者権限なし(非昇格)で動作することを目標とし、ファイル書き込みとネットワークアクセスを制限する仕組みを目指した。

SIDと書き込み制限トークンの仕組み

SIDはWindowsがユーザーやグループ、ログインセッションを識別するために用いるIDである。たとえば、S-1-5-5-X-Yが現在のセッションに割り当てられる。SIDはACL(アクセス制御リスト)と組み合わせて、ファイルやディレクトリへの読み書き実行権限を制御する。OpenAIのチームは、Codex専用の合成SID sandbox-writeを作成し、このSIDを使って書き込み可能範囲を厳密に定めた。

書き込み制限トークン(write-restricted token)は、プロセストークンに追加の書き込みチェックを課す。通常のユーザー権限に加え、トークン内の制限SIDリストに含まれるSIDのいずれかが書き込み先ACLで許可されていなければ書き込みができない。これにより、Codexプロセスの書き込み権限を、ワークスペースと明示的に許可したディレクトリだけに絞り込んだ。

非昇格プロトタイプの流れ

セットアップ時に、sandbox-write SIDを作成し、カレントディレクトリや設定ファイル config.toml に指定した書き込み可能ルートに書き込み・実行・削除のACLを付与する。一方で .git.codex.agents といったディレクトリには明示的に書き込みを拒否した。そのうえでCodexは、制限SIDリストに Everyone、ログインセッションSID、sandbox-write を含む書き込み制限トークンで子プロセスを起動した。

これにより、明示的に許可した場所以外への書き込みはOSレベルでブロックされ、読み取りはユーザー権限で広く許可されるバランスのとれた環境が実現した。しかしネットワーク制御には別の課題が残った。

環境変数によるネットワーク抑制と限界

非昇格環境ではWindows Firewallを管理者権限なしで利用できなかったため、環境変数を用いた間接的なネットワーク抑制が採られた。具体的には HTTPS_PROXY=http://127.0.0.1:9 などのプロキシ変数に無効なアドレスを指定し、GitやSSHなどのツールが外部に接続できないようにした。またPATHにダミーの denybin ディレクトリを追加するなど、一般的なツールの通信を妨げた。

しかしこの方法はあくまで「助言的」な制約であり、プロキシ設定を無視するプログラムや独自のソケット通信を行うバイナリに対しては効果がなかった。悪意あるコードに対しても脆弱だった。

ネットワーク制御を突破した昇格版サンドボックスの実装

ネットワーク制御を突破した昇格版サンドボックスの実装

実用的なネットワーク制御を実現するため、OpenAIチームはWindows Firewallの導入を決断した。ファイアウォールルールをプロセスツリー単位で適用するには、サンドボックス専用のユーザー権限が必要となり、結果として管理者権限でのセットアップを許容する「昇格版サンドボックス」へと設計が進化した。

専用ユーザーとファイアウォール

昇格版では、CodexSandboxOfflineCodexSandboxOnline という2つのローカルユーザーを作成する。Offline のユーザーにはすべての外部ネットワーク通信を遮断するファイアウォールルールが適用される。Codexがネットワークを必要としないコマンドを実行する際にはOfflineユーザーで起動し、ネットワーク許可が必要な場合はOnlineユーザーを選択する。これにより、ファイル書き込み制限と同様にOSレベルでの確実なネットワーク遮断が可能になった。

コマンドランナーと4層アーキテクチャ

ユーザー権限を切り替えて子プロセスを起動するには、Windowsのセキュリティ境界を越える必要があった。OpenAIは専用のバイナリ codex-command-runner.exe を導入し、次のような多層構造を採用した。

  1. codex.exe: 通常のユーザー権限で動作し、コードエージェントのハーネスとして機能する。
  2. codex-windows-sandbox-setup.exe: 管理者権限でセットアップ処理を担当。サンドボックスユーザーの作成、ファイアウォールルールの追加、必要なACLの付与を実行する。
  3. codex-command-runner.exe: サンドボックスユーザーとして起動され、自身のトークンから書き込み制限トークンを作成し、最終的な子プロセスを起動する。
  4. 子プロセス: 制限付きトークンで実行されるGitやPythonなどの実コマンド。

具体的な起動フローは次の通りである。codex.exeCreateProcessWithLogonW を用いて codex-command-runner.exe をサンドボックスユーザーとして起動。ランナーは自身のプロセストークンからログオンSIDを抽出し、書き込み制限トークンを構築したうえで CreateProcessAsUserW により制限付きの子プロセスを立ち上げる。

1. codex.exe(実ユーザー)
CreateProcessWithLogonWでCodexSandboxOffline/Onlineユーザーとしてrunnerを起動
2. codex-command-runner.exe(サンドボックスユーザー)
自身のトークンから制限SIDリストを含む書き込み制限トークンを作成
3. 子プロセス(制限トークン付き)
GitやPythonなどの実コマンド。OfflineユーザーならFirewallでネットワーク遮断
通常ユーザー
サンドボックスユーザー
制限付き子プロセス
※実際の起動時には、codex-windows-sandbox-setup.exeが事前にユーザーとファイアウォールルールを作成する

このデモで示したように、昇格版ではOSのファイアウォール機能を組み込むことで、非昇格版のネットワーク上の弱点を克服した。また、システム全体へのACL変更は最小限にとどめ、非同期処理を用いてセットアップのブロック時間を短縮している。

この記事のポイント

  • Windows版Codexは当初、サンドボックスが存在せず、手動承認かフルアクセスの選択肢しかなかった。
  • OpenAIはAppContainer、Windows Sandbox、MICを検討したが、いずれも動的な開発ワークフローに適さず、独自サンドボックスを開発した。
  • 最初の非昇格プロトタイプは、SIDと書き込み制限トークンでファイル書き込み範囲を制限したが、ネットワーク抑制は弱かった。
  • 最終的な昇格版サンドボックスでは、専用のWindowsユーザーとファイアウォールルールを導入し、ネットワーク遮断をOSレベルで実現。
  • codex-command-runner.exeによる多層アーキテクチャで、安全性を保ったままコードエージェントの自律実行を可能にした。
Vercelがソースマップ保護機能を発表、本番環境のコード露出を防止

Vercelがソースマップ保護機能を発表、本番環境のコード露出を防止

Vercelは2026年5月、本番環境のソースマップを安全に配信する新機能「Protected Source Maps」をリリースした。ブラウザが読み取る .map ファイルを Vercel Authentication の背後に置き、開発チームだけがアクセスできる仕組みだ。これにより、デバッグ情報を必要な人間にだけ提供し、それ以外の第三者には 404 を返す。

フロントエンドのバンドルは本番ビルドで圧縮・ミニファイされるため、可読性を保つにはソースマップが欠かせない。しかし従来は、そのソースマップが認証なしで公開されてしまい、コードの内部ロジックやコメントが誰でも閲覧できる状態だった。Protected Source Maps は、このセキュリティリスクを根本的に解決する。

ソースマップがなぜ重要か

ソースマップがなぜ重要か

ミニファイとデバッグのジレンマ

本番サイトの JavaScript や CSS は、ファイルサイズ削減のためにミニファイされる。変数名を短縮し、空白やコメントを取り除く処理だ。ところが、エラーが発生したとき、ブラウザのコンソールには圧縮後のコードしか表示されず、スタックトレースが「at a.a (bundle.js:1:2345)」のように読めなくなる。デバッグがほぼ不可能になるのだ。

この問題を解決するのがソースマップである。ミニファイ元のファイル名や行番号、元の変数名を記録した .map ファイルとして生成し、ブラウザがそれを使って元のソースコードを復元する。つまり、ビルド後の難読コードを、開発時の読みやすいコードに戻す「翻訳辞書」のような役割だ。

ソースマップの仕組み

ソースマップは通常、ミニファイされたファイルの末尾に //# sourceMappingURL=app.js.map というコメントを挿入することでブラウザに通知される。ブラウザがこのコメントを見つけると、対応する .map ファイルを別途リクエストし、デベロッパーツール上でオリジナルのソースコードを表示する。ここまでは開発者にとって日常的な光景だ。

しかし、本番環境でこの .map ファイルが認証なしに取得できると、第三者が容易にソースコードを読めてしまう。公開を想定していないコメントや、内部のビジネスロジックがダダ漏れになるリスクがある。

本番ソースマップが晒されてきたリスク

本番ソースマップが晒されてきたリスク

従来の典型的な対策は、ビルド時にソースマップを生成しないか、本番サーバーにアップロードしないというものだった。しかし、それでは本番環境で発生したエラーの調査が困難になる。また、サーバー側で特定の IP アドレスや VPN 経由のみアクセスを許可する方法もあるが、設定が複雑で、動的に変わるチームメンバーの管理には向かない。

実際に、JavaScript フレームワークの設定ミスによってソースマップが公開され、内部の API キーやテスト用のパスワードが漏えいした事例も報告されている。ソースマップは開発者にとって便利な一方、扱いを誤ると大きなセキュリティホールになりうる。

従来(ソースマップが公開されている場合)
GET /assets/app.js.map
200 OK(全文返却)
※認証なしで誰でもソースコードを参照可能
Protected Source Maps 有効時
GET /assets/app.js.map
404 Not Found
(未認証の場合)
認証チーム
200 OK(デバッグ可能)
※Vercel Authentication を通した開発者のみアクセス可能。その他は 404

上の図は、認証がない場合と今回の保護機能を適用したあとの応答の違いを示している。従来は誰でも .map を取得できたが、Protected Source Maps を有効にすると、チーム外のリクエストには 404 Not Found が返る。

Protected Source Maps の動作と設定

Protected Source Maps の動作と設定

Vercel Authentication によるアクセス制限

この機能の核は、プロジェクトの .map ファイルが Vercel Authentication で保護される点にある。通常、Vercel Authentication はデプロイプレビューや特定のパスをチームメンバーだけに公開するために使われる認証フレームワークだ。今回これがソースマップにも適用された。

つまり、ブラウザがソースマップをリクエストしても、Vercel のエッジネットワークが認証情報を確認する。チームの開発者であれば、普段から使っているブラウザのセッションでそのまま .map ファイルを取得できる。しかし、チーム外の人物や認証されていないブラウザからのリクエストには 404 が返るため、存在そのものを隠蔽する効果もある。

新規プロジェクトではデフォルトで有効、既存も後から移行可能

Vercel は、新規に作成するプロジェクトでは Protected Source Maps をデフォルトで有効にした。これにより、これからデプロイするプロジェクトは意識せずとも本番ソースマップが保護される。既存のプロジェクトについては、管理画面の「Settings」〜「Deployment Protection」からスイッチをオンにするだけで有効化できる。再デプロイも不要だ。

この設定変更は即座にエッジネットワーク全体に反映される。認証なしの .map リクエストはその瞬間から 404 になるため、段階的な移行作業を必要としない。

開発フローへの影響と注意点

開発フローへの影響と注意点

セキュリティとデバッグ効率の両立

Protected Source Maps を導入しても、認証済みの開発者には従来通りソースマップが提供される。つまり、ブラウザのデベロッパーツールでエラーを追う際に元のコードが見えなくなることはない。本番環境で発生した問題を調査するチームにとって、利便性は一切損なわれない。

一方で、認証されていないサードパーティには 404 が返るため、ソースコードの漏えいリスクを大幅に低減できる。特に、エラーログに .map ファイルの URL が含まれていた場合でも、外部からはアクセスできない。

導入時に確認すべき点

この機能を使ううえで、いくつか注意点がある。まず、Vercel Authentication はブラウザのセッションを利用するため、開発者がログイン状態である必要がある。シークレットウィンドウやチームアカウント外のブラウザからはデバッグできない点に注意が必要だ。

また、CI/CD ツールなど自動化された環境でソースマップを処理する場合は、Vercel の API トークンを使って認証を通すか、あるいは別途プライベートなストレージにマップをアップロードする運用を検討してもよい。ただし、多くのケースでは開発者のブラウザからのリクエスト以外にソースマップが必要になるシチュエーションは少ないため、まずは Protected Source Maps をオンにして、必要に応じて調整するのが現実的だ。

この記事のポイント

  • Vercel が Protected Source Maps をリリース、本番ソースマップをチーム限定に
  • ブラウザからの .map リクエストは Vercel Authentication で保護される
  • 認証なしのアクセスには 404 NotFound を返却、コードの露出を防止
  • 新規プロジェクトはデフォルトで有効、既存プロジェクトも管理画面から即時有効化可能
  • 導入後も開発者のデバッグ体験は変わらず、セキュリティと利便性を両立
OpenAIがTanStack npm攻撃に対応、Macユーザーは6月12日までにアプリ更新を

OpenAIがTanStack npm攻撃に対応、Macユーザーは6月12日までにアプリ更新を

広く利用されるオープンソースライブラリ「TanStack」のnpmパッケージが悪意ある第三者によって改ざんされた「Mini Shai-Hulud」と呼ばれるサプライチェーン攻撃。この影響はOpenAIにも及び、同社は2026年5月13日に公式な対応報告を公開した。

OpenAIの調査によると、ユーザーデータや本番システム、知的財産への不正アクセスは確認されていない。しかし、同社のコード署名証明書が一時的に影響下にあったことから、予防的な措置としてMacユーザーを対象に全アプリケーションの更新を2026年6月12日までに完了するよう呼びかけている。

今回の記事では、攻撃の具体的な影響範囲、OpenAIが講じたセキュリティ対策、なぜMacだけが更新対象なのか、そして実務者が理解すべきサプライチェーンリスクの本質を解説する。

TanStackを狙ったサプライチェーン攻撃とは

TanStackを狙ったサプライチェーン攻撃とは

2026年5月11日(UTC)、フロントエンド開発で広く使われるJavaScriptライブラリ群「TanStack」のnpmパッケージが、攻撃グループによって改ざんされた。この攻撃は「Mini Shai-Hulud」と名付けられ、ソフトウェアサプライチェーンの弱点を突く大規模なキャンペーンの一環だ。

サプライチェーン攻撃とは、正規のソフトウェアやライブラリを踏み台にし、その利用者にマルウェアを拡散する手法を指す。開発者が信頼して導入するパッケージマネージャー(npm、PyPI、RubyGemsなど)を通じて感染が広がるため、一企業だけでなく、エコシステム全体に被害が連鎖する点が最大の脅威だ。

攻撃の流れ(従来想定)
開発者正規npmレジストリパッケージインストールアプリケーションへ組み込み
攻撃の流れ(Mini Shai-Hulud)
攻撃者改ざんされたnpmパッケージ開発者端末に感染認証情報を窃取
攻撃者が関与する経路  通常の経路

今回の攻撃では、改ざんされたパッケージをインストールした開発者の端末から認証情報が引き出される挙動が確認されている。OpenAIの事例でも、このメカニズムにより2台の社内端末が侵害を受けた。

攻撃の構造とマルウェアの挙動

Socket.devの分析によれば、Mini Shai-Huludは主に認証情報(トークン、APIキー、セッション情報など)の窃取を目的としている。感染後の典型的な挙動は、開発者端末に保存されたGit認証情報や環境変数への不正アクセス、そして一部の内部コードリポジトリへの侵入だ。

OpenAIが委託した第三者デジタルフォレンジック企業の調査では、影響を受けた2名の社員がアクセス可能だった一部の内部ソースコードリポジトリで、認証情報の引き出しが成功した形跡が確認された。ただし、コードそのものや他の情報が流出した証拠はない。

OpenAIの初動対応と封じ込め

OpenAIは悪意ある活動を検知した直後、以下の封じ込め措置を即座に実行した。

  • 影響を受けた端末とIDの隔離
  • 全ユーザーセッションの強制無効化
  • 影響リポジトリに関連する全認証情報のローテーション(再発行)
  • コードデプロイワークフローの一時的制限
  • ユーザーおよび認証情報の挙動調査の徹底

これらの対応により、攻撃者による追跡アクセスや窃取された認証情報の悪用は確認されていない。また、顧客データやOpenAIの知的財産への影響は一切なかったと報告されている。

Macユーザーに更新が必要な理由

Macユーザーに更新が必要な理由

一見すると「社内端末2台の侵害だけなら、なぜエンドユーザーが対応するのか」と疑問に思うかもしれない。この背景には、コードサイニング証明書(コード署名証明書)の重要性がある。

コードサイニング証明書とは、ソフトウェアの開発元を電子的に証明する仕組みだ。macOSやWindows、iOSといったプラットフォームは、この証明書を確認することで「正規の開発者がリリースしたアプリかどうか」を判定している。

OpenAIの内部リポジトリには、iOS、macOS、Windows、Android向けのコードサイニング証明書が保管されていた。この証明書自体が直接流出したわけではないが、アクセス可能な状態にあったことから、OpenAIは予防的措置としてすべての証明書を新しいものに置き換える判断を下した。

証明書失効のタイムラインと影響

2026年6月12日をもって、旧証明書は完全に失効する。これ以降、旧証明書で署名されたmacOSアプリは、Appleのセキュリティ保護機能(Gatekeeper)によって新規ダウンロードや初回起動がブロックされる。

WindowsやiOS、Androidのアプリについても新しい証明書で再署名されるため、将来的なアップデートは必要になる。ただ、これらのプラットフォームでは即時のユーザー操作は不要とされている。

Macだけが個別アクションを求められる理由は、Appleのセキュリティモデルが証明書の有効性を厳格に検証する設計になっているためだ。更新を怠ると、以下のアプリが正常に動作しなくなる可能性がある。

  • ChatGPT Desktop(バージョン 1.2026.125 以前)
  • Codex App(バージョン 26.506.31421 以前)
  • Codex CLI(バージョン 0.130.0 以前)
  • Atlas(バージョン 1.2026.119.1 以前)

なぜ即時の証明書失効ではないのか

OpenAIはすでにプラットフォーム事業者と連携し、旧証明書を用いた新規の公証(ノータリゼーション)を全面的にブロックしている。公証とは、Appleがアプリをスキャンして悪意あるコードが含まれていないことを確認するプロセスだ。

仮に攻撃者が旧証明書を使って偽のOpenAIアプリを作成したとしても、公証を受けられないため、デフォルトのmacOSセキュリティ設定では実行が阻止される。この防御策が機能している間に、ユーザーがスムーズに公式アプリへ移行できるよう約1か月の猶予期間が設けられた。

旧証明書で署名されたアプリ(6月12日まで)
配布旧証明書macOSで起動可(猶予期間)
新証明書で署名されたアプリ(6月12日以降)
配布新証明書macOSで正常起動
旧証明書(失効予定)  新証明書(有効)

この猶予期間中に、アプリ内アップデートまたは公式サイトからの再インストールを通じて、最新バージョンへの切り替えを済ませておくことが推奨される。

攻撃が浮き彫りにした開発エコシステムの脆弱性

攻撃が浮き彫りにした開発エコシステムの脆弱性

今回の事案は、特定企業を標的とした攻撃というよりも、オープンソースエコシステム全体の構造的な弱点を突いたものと言える。攻撃者は個別の企業ではなく、広く使われる共有ライブラリを侵害することで、一度に多数の組織へ侵入できる。

現代のソフトウェア開発は、npm、PyPI、Maven Centralといったパッケージレジストリに大きく依存している。1つのパッケージが侵害されれば、依存関係の連鎖によって数百、数千のプロジェクトが影響を受ける。実際、TanStackのパッケージを依存関係に持つプロジェクトは膨大だ。

OpenAIが進めるサプライチェーン防御

OpenAIは2025年末に発生したAxios開発者ツールの侵害を受け、すでにサプライチェーン攻撃への防御を段階的に強化していた。具体的には以下の対策が進められていた。

  • CI/CDパイプラインで扱う機密度の高い認証情報の追加保護
  • minimumReleaseAge などの設定を用いたパッケージマネージャーの制御導入
  • 新規パッケージの信頼性を検証する追加セキュリティソフトウェアの展開

minimumReleaseAge とは、パッケージがレジストリに公開されてから一定時間(例:3日間)経過しないとインストールを許可しない設定だ。これにより、公開直後の悪意あるパッケージを誤って取り込むリスクを低減できる。

しかし、これらの対策が全社的に展開される途中の段階で、今回のインシデントは発生した。侵害を受けた2台の端末には、新たな制御設定がまだ適用されていなかったのである。

実務者が今すぐ取るべき対策

OpenAIの事例から学べる教訓は、単一の企業だけに留まらない。自社の開発環境においても、以下の対策を早急に検討すべきだ。

  • パッケージマネージャーのロックファイル(package-lock.jsonなど)を定期的に監査する。 意図しないバージョン変更や新規依存関係が混入していないか、CI環境で自動チェックする仕組みを作る。
  • サプライチェーンセキュリティツールの導入。 Socket.dev、Snyk、GitHub Dependabotなどを使い、脆弱性や悪意あるパッケージを早期に検出する。
  • コードサイニング証明書の厳格な管理。 CI/CD環境とは完全に切り離し、必要最小限の担当者のみがアクセスできる保管場所を確保する。
  • 依存パッケージの更新を自動化しすぎない。 パッチバージョンであっても、公開直後の即時適用は避け、一定の猶予を設ける。
リスクの高い運用(Before)
新パッケージ公開 → 即時自動更新 → 開発者端末に適用
悪意あるパッケージが即座に拡散
推奨される運用(After)
新パッケージ公開 → 3日間の待機(minimumReleaseAge) → 監査後、手動承認で適用
公開直後の悪意あるパッケージをブロック

このような防御策は、自社の開発文化や速度とバランスを取りながら段階的に導入していくのが現実的だ。しかし、攻撃の連鎖速度は日に日に速まっている。放置するリスクの方がはるかに大きいことは、今回の事例が明確に示している。

ユーザーが取るべき具体的なアクション

ユーザーが取るべき具体的なアクション

OpenAIのアプリをMacで利用している個人および企業は、以下の手順を確実に実施してほしい。

  1. 公式の更新経路のみを使用する。 アプリ内のアップデート通知、またはOpenAI公式ウェブサイト(openai.com)からダウンロードする。メール、メッセージ、広告、ファイル共有リンク経由の「ChatGPT」「Codex」インストーラーには絶対に手を出さない。
  2. 6月12日までに更新を完了する。 期限を過ぎると、旧証明書で署名されたアプリはmacOSによってブロックされる。業務で利用している企業は、社内のIT管理者が一括アップデートを計画すべきだ。
  3. パスワード変更は不要。 OpenAIは公式に、顧客のパスワードやAPIキーが影響を受けていないと明言している。無用なパスワード変更はフィッシングのリスクを高めるだけだ。

企業のIT管理者向け追加ガイダンス

組織内でOpenAIアプリを管理している場合、6月12日の証明書失効までにMDM(モバイルデバイス管理)やソフトウェア配布ツールを通じて、全Mac端末のアプリを最新バージョンに更新する計画を立てる必要がある。

更新対象となるアプリと、失効する旧バージョンの一覧は以下の通りだ。

  • ChatGPT Desktop(旧バージョン 1.2026.125)
  • Codex App(旧バージョン 26.506.31421)
  • Codex CLI(旧バージョン 0.130.0)
  • Atlas(旧バージョン 1.2026.119.1)

これらのバージョンが社内で稼働している場合、速やかに更新手続きを進めることが求められる。

この記事のポイント

  • OpenAIはTanStack npmパッケージへのサプライチェーン攻撃により社内端末2台が侵害されたが、ユーザーデータや本番システムへの影響はなかった。
  • 予防措置としてコードサイニング証明書を全面的にローテーション。Macユーザーは6月12日までにアプリを更新する必要がある。
  • 旧証明書を用いた新規の公証はすでにブロック済みのため、偽アプリがmacOSで実行されるリスクは低い。
  • 攻撃の本質はオープンソースエコシステムの脆弱性を突いたものであり、全開発組織がパッケージ管理の防御策強化を求められている。
  • パッケージの即時自動更新を避け、minimumReleaseAgeの設定や監査プロセスの導入が有効な対策となる。
Google Cloud、AI脅威レポートで攻撃者によるゼロデイ発見・自律型マルウェアの実態を公開

Google Cloud、AI脅威レポートで攻撃者によるゼロデイ発見・自律型マルウェアの実態を公開

Google Cloudの脅威インテリジェンスグループGTIGが2026年5月、最新のAI脅威トラッカー報告を公開した。今回の報告では、攻撃者がAIを悪用してゼロデイ脆弱性を発見した初めての事例が確認され、また自律的に動作するマルウェア「PROMPTSPY」の詳細な分析結果が示された。

報告書はAIに関する脅威を「ツールとしてのAI」と「標的としてのAI」の2軸で整理。攻撃者は脆弱性発見の自動化や防御回避コードの生成だけでなく、AIの開発エコシステム自体を狙ったサプライチェーン攻撃も活発化しているという。本記事では、この報告書の重要ポイントを実務者向けにわかりやすく解説する。

AIが攻撃ツールに ゼロデイ発見から自律型マルウェアまで

AIが攻撃ツールに ゼロデイ発見から自律型マルウェアまで
2026年GTIG報告に見るAI脅威の二面性
ツールとしてのAI
  • 脆弱性発見の自動化とゼロデイエクスプロイト開発
  • マルウェアコードの生成や難読化による検知回避
  • 攻撃ライフサイクルの自律実行(PROMPTSPY等)
標的としてのAI
  • OpenClawスキルへの悪意あるコード混入
  • LiteLLMやGitHubリポジトリへのサプライチェーン攻撃
  • AI APIキーやクラウド認証情報の窃取

今回の報告では、攻撃者が生成AIを業務効率化ツールとして悪用する段階から、攻撃そのものの中核に組み込むフェーズへと急速に移行している実態が浮き彫りになった。

AIがゼロデイを発見 犯罪グループが初の成功事例

GTIGの観測によると、ある犯罪グループが広く使われているオープンソースのシステム管理ツールを標的に、二要素認証(2FA)をバイパスするゼロデイ脆弱性を開発した。このエクスプロイトには、AIが生成したとみられる強い痕跡が残っており、GTIGが初めて「AIによるゼロデイ開発」を確認した事例となった。ベンダーへの責任ある開示を通じて、大規模な悪用を未然に防げたという。

コードを解析すると、詳細なドキュメント文字列や幻覚(ハルシネーション)で誤ったCVSSスコアが付与されているなど、LLMが出力する典型的な「教科書的Python記法」が随所に見られた。これは従来のファジングや静的解析ツールでは検出できないタイプの脆弱性だ。LLMは開発者が暗黙的にハードコードした「信頼前提」を読み解いて、2FA実装の矛盾を突くことができる。

脆弱性発見手法の比較
従来の自動スキャン(ファジング・静的解析)
  • メモリ破損や入力値不備の検出に強い
  • 開発者の「暗黙の信頼」に気づけない
  • 大規模コードベースでは誤検知が多い
LLM(大規模言語モデル)による発見
  • コードの文脈を読み取り、意図と実装の矛盾を特定
  • 2FAバイパスのような高次ロジックの欠陥を検出可能
  • 人間のセキュリティ研究者に近い推論を実現

この能力差が、従来の防御策では防ぎきれない新たな脅威を生み出している。報告書は、攻撃者がAIを「専門家レベルの増幅器」として活用し始めたと警告する。

防御回避を自動化するAI生成のデコイコード

GTIGは、ロシアに関連するとみられる侵入活動の中で、AIが生成したデコイ(囮)コードを大量に含むマルウェア「CANFAIL」と「LONGSTREAM」を確認した。CANFAILのソースには「このコードブロックは使用されない」といったLLM特有の解説コメントが含まれており、攻撃者が意図的に無害に見せかけるためのダミー機能を要求した形跡がある。

LONGSTREAMでは、システムのサマータイム設定を32回も照会するといった、意味のない繰り返し処理が組み込まれていた。これらは振る舞い検知をかく乱し、セキュリティ製品による分析を遅らせる目的がある。AIが難読化ツールとして悪用され、マルウェアが動的に自己変形する方向へ進んでいることを示す事例だ。

PROMPTSPYにみる自律型マルウェアの脅威

Androidバックドア「PROMPTSPY」は、AIを攻撃の中核に据えた自律型マルウェアとして注目されている。ESETが初めて報告したこのマルウェアは、Gemini APIを用いて端末の画面情報を取得し、ユーザーの操作を必要とせずに不正なタップやスワイプを実行する。GTIGの追加分析によって、当初知られていた以上の拡張性と防御機能を持つことが判明した。

PROMPTSPYの自律攻撃フロー
1. 端末情報を収集
Accessibility APIで画面のUI階層をXML形式で取得
2. LLMに送信
Gemini APIにXMLを送り、動的に生成された目標に沿った操作を指示
3. 結果を受け取り実行
JSONで戻された座標とアクション種別(CLICK、SWIPE)をもとにジェスチャーをシミュレート
4. 防御機能
アンインストールボタンに透明オーバーレイを被せてタップを無効化。FCMで遠隔再起動も可能

また、PROMPTSPYは被害者の生体認証(PINやパターン)を記録して再現する機能を持ち、遠隔からデバイスへの再侵入を可能にする。C2サーバやAPIキーを動的に切り替える仕組みも備えており、防御側のブロックを回避する設計思想が随所に見られる。Googleは既に関連アカウントを無効化し、Google Play Protectで既知の亜種を自動検出できるようにしている。

AIを利用した情報工作とLLMへの大規模アクセス

情報工作の領域でもAIの悪用は進んでいる。親ロシアキャンペーン「Operation Overload」では、AIで合成された音声を使って実在のジャーナリストを装う偽動画が拡散された。こうしたコンテンツは、正規メディアの信用を乗っ取る手口として使われる。

一方で、攻撃者はLLMのプレミアム機能を不正に利用するため、アカウント登録と即時解約を自動化するスクリプトや、複数アカウントを束ねる中継サービスを駆使している。UNC6201やUNC5673といった中国関連の攻撃グループは、こうした手法で大量のAPIアクセスを確保し、不正利用の痕跡を分散させていた。LLM提供事業者は、ネットワーク情報を分析してアグリゲーターを特定し、悪用を阻止する対策を強化しつつある。

AI自身が標的に サプライチェーン攻撃の実態

AI自身が標的に サプライチェーン攻撃の実態

AIモデルそのものは依然として直接の侵害には強いが、モデルを動かす周辺のソフトウェア部品(ライブラリ、APIコネクタ、スキル設定ファイル)が新たな侵入口になっている。GTIGはこの状況を、SAIF(Secure AI Framework)のリスク分類でいう「安全でない統合コンポーネント(IIC)」と「不正な動作(RA)」に該当すると指摘する。

オープンソースのAIエコシステムが狙われる

2026年2月には、AIエージェントプラットフォーム「OpenClaw」のスキルマーケットプレイスに、悪意あるコードを仕込んだパッケージが流通していることがVirusTotalの調査で明らかになった。OpenClawは実行に高い権限を必要とするため、トロイの木馬化されたスキルをインストールしたユーザーの環境で任意のコードが実行される恐れがある。その後、OpenClawはClawHubにVirusTotalの自動スキャンを統合し、悪意あるパッケージを検出する仕組みを導入した。

TeamPCPによるLiteLLMやGitHubリポジトリへの侵害

犯罪グループ「TeamPCP(UNC6780)」は、2026年3月に複数のGitHubリポジトリをサプライチェーン攻撃で侵害したことを公言した。標的には、複数のLLMプロバイダを統合するAIゲートウェイ「LiteLLM」や、脆弱性スキャナ「Trivy」「Checkmarx」などが含まれている。被害組織のビルド環境からはAWSキーやGitHubトークンといったクラウド認証情報が窃取され、ランサムウェアグループとの連携によって金銭目的の恐喝に利用された。

この事例が示すのは、AI関連の依存関係が侵害された場合、攻撃者は単にAIシステムを操作するだけでなく、そこから企業ネットワーク全体へ横展開できるというリスクだ。LiteLLMのような広く使われるライブラリを経由して、多数の組織のAI APIシークレットが流出する可能性がある。

企業に求められるAI脅威への対策

企業に求められるAI脅威への対策

Googleは自社の防御策として、Geminiの悪用アカウントの無効化、AIエージェント「Big Sleep」による未知の脆弱性探索、そして「CodeMender」による脆弱性の自動修正など、AIを守りに使う取り組みを進めている。同時に、業界全体での対策フレームワークとしてSAIFを提唱し、CoSAI(Coalition for Secure AI)を通じてパートナーとの連携を強化している。

実務者が今すぐ着手できる対策としては、以下の点が重要だ。まず、AI関連のオープンソースライブラリやスキルパッケージを導入する際には、提供元の信頼性とコードの挙動を必ず確認する。APIキーやクラウド認証情報は短い有効期限と最小権限で管理し、定期的にローテーションする。さらに、AIを利用するアカウントには多要素認証を適用し、不審なAPI呼び出しを検知する監視体制を整えることが有効だ。

この記事のポイント

  • GTIGが2026年5月に発表した報告で、AIによるゼロデイエクスプロイト開発が初確認された
  • 攻撃者はAIを使ってマルウェアの難読化や自律的な操作を実現し、攻撃の効率を飛躍的に高めている
  • PROMPTSPYのような自律型マルウェアは、人間の介在なしに端末を操作し、防御を回避する仕組みを備える
  • AIエコシステムを狙ったサプライチェーン攻撃が急増し、APIキーや認証情報の大量窃取が現実の脅威となっている
  • 企業はAI関連の依存コンポーネントの厳格な管理と、APIアクセスの監視強化でリスクを軽減すべき
AIコーディングエージェントの信頼が悪用される 開発環境の新たな脅威を解説

AIコーディングエージェントの信頼が悪用される 開発環境の新たな脅威を解説

AIコーディングエージェントが開発現場に急速に浸透している。VS CodeやCursorなどのIDEに組み込まれた自律型AIは、コード生成だけでなくプロジェクト設定の読み取りやコマンド実行、外部サービスとの連携まで自動で行う。便利さの裏で、攻撃者が悪用できる新たな領域が広がっている。

2026年に入り、悪意ある指示ファイルや設定ファイルがVirusTotalに提出される件数は増加傾向にある。これらのファイルは従来のウイルス対策ソフトでは検出されない。構文的に正しいJSONやMarkdownが、AIエージェントにとっては危険な命令になり得るためだ。

この記事では、AIコーディングエージェントがもたらす開発環境の新たな脅威を整理し、具体的な攻撃事例とともに対策を解説する。

AIコーディングエージェントが変える開発環境の脅威

AIコーディングエージェントが変える開発環境の脅威

AIコーディングエージェントはIDEやターミナル、拡張機能のランタイムにまたがって動作する。プロジェクトを開くと自動的に設定ファイルを読み込み、必要なツールを起動し、デバッグ環境を整える。この自動化の流れ自体が、攻撃者にとって格好の侵入経路となる。

従来の開発環境では、人間が「実行」ボタンを押すまでコードは動かなかった。しかしAIエージェントは、プロジェクトを開いた瞬間に指示ファイルを解析し、事前定義されたタスクを自律的に実行する。開発者が内容を確認する前に、攻撃者の仕込んだ設定が動き出す可能性がある。

Google Threat Intelligenceのレポートでは、この状況を「攻撃対象がソースコードを超えて拡大した」と表現している。問題はコードの構文ではなく、ファイルが持つ意図そのものに潜むようになった。

従来のマルウェア検知はなぜ通用しないのか

従来のマルウェア検知はなぜ通用しないのか

ウイルス対策ソフトやシグネチャベースのスキャナーは、ファイル内に既知の悪意あるコードパターンが含まれているかを検査する。ところが悪意ある設定ファイルの多くは、純粋なJSON、YAML、Markdownとして文法上の問題がない。セキュリティエンジンは「正常なテキストファイル」と判定し、検出をすり抜ける。

根本的な課題は、セキュリティツールが自然言語の指示内容を評価できない点にある。「APIキーを外部サーバーに送信せよ」「ガードレールを無効化せよ」といった指示が平文で書かれていても、従来のスキャナーにはそれが危険だと判断できない。構文解析では意味を読み取れないからだ。

Google Threat Intelligenceが提唱するアプローチは、セマンティック分析への移行だ。ファイルの実際のロジックと文脈をAIで解析し、振る舞いベースでリスクを判定する。VirusTotal Code Insightがこの手法を実装し、シグネチャ検査では見えない脅威を可視化している。

従来のシグネチャ検出(Before)
ファイル種別 JSON / Markdown
→ 構文的に正常 → 検出なし
「危険なコードパターンなし」と判定
※自然言語の指示内容は評価されない
セマンティック分析(After)
ファイル種別 JSON / Markdown
→ 指示内容をAIが解析
→ 「APIキーを外部送信する指示」を検出
▲ 振る舞いベースでリスクを判定できる

シグネチャ検出とセマンティック分析の違いは明白だ。構文が正しくても、AIエージェントに与える指示内容が危険であれば検出する。これがAI時代のセキュリティに求められる新しい視点である。

狙われる4つの攻撃対象

狙われる4つの攻撃対象

Google Threat Intelligenceは、AIコーディングエージェントの攻撃対象を4つのカテゴリに分類している。それぞれが独立した脅威であり、かつ複合的に悪用される可能性がある。

実行するもの(What executes)
プロジェクト設定が自動的にコマンドを実行する。攻撃者は一見正規のビルドスクリプトに悪意あるロジックを紛れ込ませる。
指示するもの(What instructs)
AIエージェントの振る舞いを制御する指示ファイル。ガードレールの無効化やデータ送信を自然言語で命じることができる。
接続するもの(What connects)
ランタイム設定で外部サービスとの接続先を定義する。正規のAPIエンドポイントを攻撃者のプロキシにすり替えることが可能。
拡張するもの(What extends)
IDEやエディタの拡張機能。サプライチェーン経由で悪意あるコードが開発環境全体にアクセス権を得る。
■ 実行系 ■ 指示系 ■ 接続系 ■ 拡張系

4つの領域はそれぞれ独立しているが、実際の攻撃では複数が組み合わさる。たとえば「指示するもの」でエージェントのガードレールを外し、「接続するもの」で通信先を攻撃者のサーバーに変更する、といった連鎖が考えられる。

実行するもの(What executes)

開発者は普段、package.jsonMakefiledocker-compose.ymlといった設定ファイルでプロジェクトの自動化を定義する。AIエージェントもこれらを読み取り、タスクの前提条件として自動実行する。攻撃者は一見すると普通の設定ファイルに悪意あるコマンドを仕込み、エージェントの実行権限を借りて攻撃を展開する。

Google Threat Intelligenceのレポートでは、.cursor/tasks.jsonを悪用した事例が紹介されている。ユーザーがIDEでプロジェクトフォルダを開くだけで、GitHub Gistから任意のコードがダウンロードされメモリ上で実行される仕組みだ。実行パラメータは意図的に隠蔽されていた。

指示するもの(What instructs)

AIエージェントに特化した脅威として、永続的な指示ファイルの悪用がある。これらはエージェントがプロジェクト内で何を優先し、何を無視し、どのツールを使うかを定義する。自然言語で書かれているため、悪意ある指示も「通常のガイダンス」を装って紛れ込ませやすい。

危険なのは、これらのファイルが複数リポジトリで再利用される点だ。一つの悪意ある指示ファイルがサプライチェーンを通じて多数のプロジェクトに拡散するリスクがある。しかも開発者が一行もレビューしないまま、エージェントが指示を実行してしまう可能性がある。

接続するもの(What connects)

AIエージェントはsettings.jsonなどのランタイム設定を参照し、外部APIのエンドポイントや認証情報、MCPサーバーとの接続を確立する。悪意ある設定ファイルは、正規のAPIエンドポイントを攻撃者のプロキシにすり替え、プロンプトやソースコード、認証情報を外部に送信させる。

具体的な事例として、AnthropicのベースURLを第三者のプロキシに向け替えるsettings.jsonが確認されている。AIエージェントは表面上は正常に動作するため、開発者はトラフィックが盗聴されていることに気づかない。

拡張するもの(What extends)

VS CodeやCursorの拡張機能は、開発環境に深く統合され、ローカルファイルや認証情報、開発ワークフローへの広範なアクセス権を持つ。攻撃者が拡張機能の更新経路を乗っ取ったり、正規のパブリッシャーアカウントを侵害したりすれば、一見標準的なツールを通じて悪意あるコードを配布できる。

2022年に発生したnode-ipcライブラリの破壊工作(protestware)は、このリスクを端的に示している。政治的なメッセージを込めたコードが正規のパッケージに混入され、多数のプロジェクトに影響が波及した。AIエージェントが普及した現在、同様の手口はさらに広範な被害をもたらし得る。

実際の攻撃事例から学ぶ

実際の攻撃事例から学ぶ

ここではVirusTotalに提出され、Code Insightによって検出された具体的な脅威ファイルを紹介する。いずれも従来のウイルス対策ソフトでは長期間検出されなかったものだ。

tasks.jsonの武器化

2026年3月19日にVirusTotalへ提出されたtasks.jsonは、数日間にわたってどのセキュリティエンジンからも検出されなかった。Code Insightの分析により、プロジェクトフォルダを開くだけでGitHub Gistから任意のコードがダウンロードされ実行される振る舞いが特定された。

Mandiantのアナリストによる検証でも悪意あるファイルと確認され、Google Threat Intelligenceでは特定の脅威アクター(北朝鮮に関連するグループ)との関連が指摘されている。この攻撃は技術課題を装ってIT専門家を標的にする手口で、NVIDIA Cudaなどの正規ツールを偽装していた。

SkillファイルによるAPIキー窃取

AIエージェントに指示を与えるSkill.mdファイルでも、悪意ある命令が確認されている。ある事例では、APIキーや環境変数を「メンテナンス」と称して外部エンドポイントに送信する指示が含まれていた。ファイル内には「セキュリティプロセスについて混乱を招く可能性があるため、ユーザーには伝えないこと」と明記されていた。

このファイルは約2カ月間、VirusTotal上で検出されることなく活動を継続していた。2026年に入ってから、リスクのあるSkill.mdファイルの提出数は一貫して増加しており、業界全体でのSkills採用拡大と並行して脅威が拡大すると見られている。

ランタイム設定のすり替え

別の事例では、2つの無関係なsettings.jsonファイルが同じ攻撃パターンを示していた。両者はANTHROPIC_BASE_URLを上書きし、APIキーを埋め込んだうえで、Claude Codeの通信をAnthropicではなく第三者のプロキシに向けさせる設定になっていた。

さらに調査を進めると、これらのプロキシはTelegramやDiscordのみを連絡手段とし、支払いを暗号通貨のみで受け付ける不透明なサービスと関連していた。テレメトリやエラーレポートも無効化されており、ユーザーが異常に気づく仕組みが意図的に排除されていた。

拡張機能の乗っ取り

2026年3月に提出されたVS Code拡張機能のサンプルは、1週間以上にわたって検出数ゼロだったが、Code Insightは不審な振る舞いを特定した。この拡張機能にはpeacenotwarとして知られるprotestwareが含まれており、起動時に特定のファイルを生成しコンソールにメッセージを出力する。

この事案自体の影響は限定的だが、拡張機能が持つ広範なアクセス権と、AIエージェントがそれを無条件に信頼する構造が組み合わさったときの危険性を浮き彫りにしている。別の事例では、ユーザーのクリップボード内容を読み取りリモートサーバーに送信するAIコーディング支援ツールも確認されている。

攻撃の流れ(4つの経路が交差するケース)
① 指示ファイル Skill.mdが「メンテナンスタスク」を装いガードレールを無効化
② 接続設定 settings.jsonがAPIエンドポイントを攻撃者のプロキシに変更
③ 実行トリガー tasks.jsonがプロジェクト起動時に悪意あるコードを自動実行
④ 拡張機能 侵害された拡張機能がローカルファイルと認証情報にアクセス
結果 APIキー・ソースコード・認証情報が外部に流出。開発者は正常動作と誤認

攻撃の流れは一方向ではなく、複数の経路が相互に補強し合う。指示ファイルでガードレールを下げ、接続設定で通信を奪い、実行トリガーでコードを動かし、拡張機能で永続化する。この連鎖を断ち切るには、各層での対策が欠かせない。

開発組織が取るべき対策

開発組織が取るべき対策

AIエージェントが標準ツールとなる中、組織は新しい脅威に合わせて防御戦略を更新する必要がある。シグネチャ検出だけに依存する時代は終わった。

リポジトリレベルのセキュリティポリシー

最初の対策は、AIエージェントが参照するファイルの種類を組織として明確に定義することだ。許可される設定ファイル、指示ファイルのフォーマットと配置場所をポリシー化し、それ以外は自動レビューなしにマージできない仕組みを構築する。たとえば.cursor/.github/copilot-instructions.mdのようなディレクトリは、変更時に必須レビュワーを設定する。

最小権限の徹底

AIエージェントに付与する権限は、必要最小限に絞り込む。ローカルファイルへのアクセス範囲、実行可能なコマンド、接続を許可する外部サービスを明示的に制限する。仮に設定ファイルが乗っ取られても、エージェントが機密情報にアクセスできない状態を作ることが重要だ。

セマンティック分析の導入

VirusTotal Code Insightのようなセマンティック分析ツールを開発パイプラインに組み込む。これらのツールはファイルの構文ではなく、AIエージェントに与える指示の意味を評価する。自然言語で書かれた「APIキーを送信せよ」「テレメトリを無効化せよ」といった指示を検出できる。

Google Threat Intelligenceのエージェンティックプラットフォームでは、単一の危険フラグから関連する脅威キャンペーン全体を調査できる。1つの不審なsettings.jsonを起点に、同じインフラを使う別の攻撃ドメインや、過去の類似事案まで追跡可能だ。

対策の優先順位
第一段階
エージェントが読み取るファイルをポリシーで制限し、変更時に自動レビューを義務化する
第二段階
AIエージェントの権限を最小化し、アクセスできるファイルとサービスを明示的に制限する
第三段階
セマンティック分析ツールをパイプラインに統合し、自然言語の悪意ある指示を検出する
第四段階
脅威インテリジェンスプラットフォームでファイル間の関連性を分析し、キャンペーン全体を可視化する
※各段階は並行して進めることが望ましい

対策は段階的に導入できる。まずはポリシー整備から始め、徐々にツールによる自動化を進めるのが現実的だ。重要なのは、AIエージェントを信頼するのと同じ熱量で、その動作を検証する仕組みを育てることだ。

この記事のポイント

  • AIコーディングエージェントの普及により、攻撃対象はソースコードから設定ファイルや指示ファイルへと拡大している
  • 悪意あるJSONやMarkdownは構文的に正しいため、従来のシグネチャ検出ではほぼ検出されない
  • セマンティック分析が新しい防御の鍵であり、VirusTotal Code Insightがこの分野をリードしている
  • リポジトリレベルのポリシー整備、最小権限の徹底、セマンティック分析ツールの導入が実践的な対策となる
  • 2026年に入り、悪意あるSkill.mdファイルの提出数は増加傾向にあり、脅威は拡大し続けると見られる
Copy Fail脆弱性にCloudflareがどう立ち向かったか

Copy Fail脆弱性にCloudflareがどう立ち向かったか

2026年4月29日、Linuxカーネルにローカル権限昇格をもたらす脆弱性「Copy Fail(CVE-2026-31431)」が公開された。この脆弱性を悪用すれば攻撃者はroot権限を取得でき、多くのサーバが影響を受け得る深刻なものだ。

Cloudflareは世界中の330都市に展開する大規模なLinuxサーバ基盤を運用している。同社は開示直後からセキュリティチームとエンジニアリングチームが動き、既存の振る舞い検知が数分で攻撃パターンを特定できることを確認し、また再起動不要の緩和策としてeBPF LSMを展開した。結果として顧客データへの影響やサービス停止は一切発生していない。

Copy Fail脆弱性(CVE-2026-31431)の全容

Copy Fail脆弱性(CVE-2026-31431)の全容

Linuxカーネルのcrypto APIには、AF_ALGソケットファミリ経由で一般ユーザプロセスが暗号化・復号を要求できる仕組みがある。ここで問題となったのは「aead」テンプレートを用いるモジュール `algif_aead` の欠陥だ。2017年に導入されたin-place最適化によって、復号時に割り当てられた出力領域を超えた4バイトの書き込みが発生するようになっていた。

攻撃者はまず `splice()` システムコールを使い、`/usr/bin/su` のようなsetuidバイナリのファイル記述子からページキャッシュの参照を暗号化操作のscatterlistにチェインさせる。その状態で `recvmsg()` を呼ぶと、本来許される範囲外の4バイトがターゲットのページキャッシュに書き込まれる。汚染されたバイナリを `execve()` で実行すれば、root権限で任意のコードが動くという筋書きだ。

1. 攻撃用AF_ALGソケットを作成
socket(AF_ALG, SOCK_SEQPACKET, 0) でAEADテンプレートにバインド
2. splice()でページキャッシュ参照を注入
setuidバイナリ(例:/usr/bin/su)のファイル記述子からページキャッシュを暗号scatterlistにチェイン
3. recvmsg()で範囲外書き込み
復号処理中に4バイトのスクラッチデータがターゲットページキャッシュへ書き込まれる
4. execve()で改ざんバイナリを起動、root権限取得
ページキャッシュが汚染された状態でsetuid-rootプログラムを実行し、シェルコードがrootとして動作
※攻撃者は任意のファイル、オフセット、書き込む4バイトの内容を制御可能

このエクスプロイトの流れは、Cloudflareのブログで詳述された技術情報と、Xint Codeによる元の開示記事を基にしている。Linuxコミュニティはコミット a664bf3d603d で2017年の最適化を差し戻しており、それが正式な修正となる。

CloudflareのLinuxカーネル管理プロセス

CloudflareのLinuxカーネル管理プロセス

CloudflareはカスタムLinuxカーネルを自前でビルドし、コミュニティの長期サポート(LTS)バージョンをベースにしている。新型カーネルの選定からグローバル展開まで、およそ4週間のサイクルでシステム的なアップデートと再起動を実施している。公開前に既知のセキュリティパッチがマージされるのが常だが、Copy Failの修正はメインラインにマージされてから1ヶ月経っても主要LTSラインへのバックポートが完了していなかった。このタイムラグが生じたため、Cloudflareの大部分のサーバは6.12 LTSカーネルを稼働させており、脆弱性が残る状態だった。

Cloudflareの多層防御:検知から再起動不要の緩和まで

Cloudflareの多層防御:検知から再起動不要の緩和まで

振る舞いベースの検出が数分で作動

Cloudflareのエンドポイントには、プロセスの振る舞いを常時監視する検知プラットフォームが導入されている。特定の脆弱性シグネチャに頼るのではなく、通常とは異なる実行パターンを検出する仕組みだ。専用ルールの更新や人の介入なしに、社内で実施した検証でエクスプロイトの試行が数分以内に悪性と判定され、アラートが発報された。これは攻撃チェーン全体(スクリプトインタプリタ → AF_ALG経由の暗号サブシステム呼び出し → 権限昇格バイナリの実行)を一つの振る舞いパターンとして捉えた結果だ。

脅威ハンティングと過去48時間のログ調査

セキュリティチームは「公開前から悪用されていた可能性を前提にする」という原則に立ち、エクスプロイトが残すカーネルログの痕跡を独自の集約ログ基盤で検索した。また、関係するシステムへの全アクセスログを収集し、接続元や実行コマンドを再構成、システムバイナリのハッシュ整合性を検証した。その結果、過去48時間においてCloudflareのインフラ上で悪用された証拠は一切確認されなかった。

eBPF LSMによる緊急緩和の展開

根本対策であるパッチ済みカーネルのロールアウトには時間がかかるため、チームは無効化モジュール `algif_aead` の削除をまず試みた。しかし実際にはレガシーな社内サービスがcrypto APIを利用しており、削除すると障害を招くことがステージング環境のテストで判明した。そこで再起動不要の外科的対策として、BPF Linux Security Module(bpf-lsm)を使ったプログラムを導入した。

# 素朴な緩和(モジュール無効化)は依存関係のため断念
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true

bpf-lsmプログラムは `socket_bind` LSMフックにアタッチし、AF_ALGソケットを開こうとするバイナリのパスをホワイトリストと照合する。許可リストにないバイナリからの `bind()` 呼び出しは拒否するため、悪用の入口を完全に封鎖する。このアプローチを採る前に、Prometheus eBPF Exporterを使って艦隊全体のAF_ALG利用実態を可視化し、許可リストに載せるべき正当なサービスが本当に1つだけであることを検証した。

# eBPF LSMプログラムの擬似フロー
- ソケットファミリがAF_ALGでなければ通過
- AF_ALGの場合、呼び出し元バイナリのパスを許可リストと照合
- 許可されていればbindを許可、それ以外は拒否

これにより、大部分のサーバはパッチ済みカーネルが配布されるまでの間、bpf-lsmによって保護された。テスト用ノードで実際にエクスプロイトコードを実行し、PermissionError が返され攻撃が不可能になったことを確認している。

緩和前(非パッチカーネル)
攻撃者のbind()成功 → recvmsg()で範囲外書き込み → root取得
bpf-lsm導入後(再起動なし)
非許可バイナリからのAF_ALG bindを拒否 → PermissionError → 攻撃失敗
※許可リスト内の正規サービスは影響を受けずに動作を継続

一連の対応から得た教訓と今後の改善

一連の対応から得た教訓と今後の改善

Cloudflareは今回の対応を通じていくつかの改善点を特定した。まず、カーネルAPIの依存関係をより深く可視化し、将来の緊急緩和時にサービス停止を避けられるようにすること。次にbpf-lsm自体の展開速度やログの充実を図り、ランタイム防御の即応性を高めること。さらに、カーネルコンフィギュレーションの監査を進め、使われていないモジュールや機能を事前にビルドから除去することで攻撃対象領域を縮小していく方針だ。

今回のインシデントで、Cloudflareは顧客影響ゼロを達成した。パッチ済みカーネルのリリースとbpf-lsmによるレイヤーが艦隊全体に行き渡り、脆弱性が悪用される余地は残らなかった。Linuxコミュニティの責任ある開示、社内の可視化ツール、そしてbpf-lsmというプリミティブが、迅速な防御を可能にしたといえる。

この記事のポイント

  • Linuxカーネルの脆弱性「Copy Fail」はローカルからroot権限を奪取できる深刻な問題
  • Cloudflareは公開と同時に既存の振る舞い検知で即座に捕捉し、過去ログの脅威ハンティングで未然悪用がないことを確認
  • 再起動不要の緩和策としてeBPF LSMを導入し、AF_ALGソケットへの不正アクセスをホワイトリスト方式で遮断
  • 根本パッチのロールアウトと並行して運用し、結果的に顧客データやサービスへの影響は皆無
  • 可視化ツール(Prometheus eBPF Exporter)の事前整備が緩和策の意思決定を支えた
AWS MCP Serverが一般提供開始、AIエージェントのAWS操作を安全・効率的に

AWS MCP Serverが一般提供開始、AIエージェントのAWS操作を安全・効率的に

AWSは2026年5月6日、AIエージェント向けのマネージドサービス「AWS MCP Server」の一般提供を開始した。AIコーディングアシスタントがAWSの各種サービスを安全に呼び出し、最新ドキュメントを参照し、必要ならサンドボックス内でスクリプトを実行できるようになる。

これまではAIエージェントがAWSを操作しようとしても、訓練データが古く、IAMポリシーが過剰になりがちだった。本サーバーはそうした課題を解決し、本番環境でも使えるレベルのインフラコード生成を後押しする。

本記事ではAWS MCP Serverの機能、GAで追加された新要素、具体的な利用手順、対応ツール、料金までを詳しく解説する。

AWS MCP Serverの概要

AWS MCP Serverの概要

MCP(Model Context Protocol)は、AIエージェントが外部サービスやツールと安全にやり取りするための標準プロトコルだ。AWS MCP Serverはこのプロトコルに準拠したマネージド型のリモートサーバーであり、数個の固定ツールを通じて1万5000を超えるAWS APIへのアクセスを提供する。

AIコーディングアシスタントは多くの場合、訓練データに依存するため、2025年後半以降に登場した新サービス(Amazon S3 VectorsやAurora DSQLなど)を知らない。また、インフラ構築時にAWS CLIを好み、AWS CDKやCloudFormationといったIaCツールを使わない傾向があった。生成されるIAMポリシーも権限が広すぎるなど、デモ用には動いても本番投入は難しい状態だった。

従来のAIエージェントによるAWS操作
訓練データは数カ月前の知識のみ。AWS CLIを直接実行し、過剰なIAM権限を要求。最新サービスを認識できない。
AWS MCP Serverを経由した操作
エージェントはMCPサーバーに問い合わせ。最新ドキュメントを検索し、IAM認証を通じて最適なAPIを実行。サンドボックスでスクリプト処理も可能。
call_aws search_documentation run_script

この仕組みにより、AIエージェントは常に最新の情報と最小権限でAWSリソースを操作できる。ツールの数が少なく固定されているため、モデルのコンテキストウィンドウを圧迫せず、ハルシネーション(誤った回答の生成)も抑えられる。

GAで追加された主な機能

GAで追加された主な機能

プレビュー期間を経て正式提供となったAWS MCP Serverでは、以下の機能が新たに導入されている。

IAMコンテキストキーのサポート

従来はMCPサーバー自体の利用に専用のIAM権限が必要だったが、今回からIAMコンテキストキーに対応した。これにより、通常のIAMポリシーの中で「特定のユーザーは更新系APIを許可、MCPサーバー経由では読み取り専用」といったきめ細かい制御が可能になる。余分な権限管理の手間が減り、セキュリティ設計がシンプルになる。

ドキュメント検索の認証不要化

search_documentationおよびread_documentationツールが、認証なしでも利用できるようになった。これにより、まだAWSアカウントを持っていない段階でも、AIエージェントは最新のAWSドキュメントを参照して設計や調査を行える。

トークン消費の最適化

インタラクションあたりのトークン消費量が削減された。マルチステップのワークフローを伴う複雑なタスクでは、モデルのコンテキストウィンドウがすぐに埋まりがちだったが、今回の改善でより長い会話を維持しやすくなっている。

run_scriptツールとサンドボックス実行

run_scriptツールとサンドボックス実行

GAの大きな目玉がrun_scriptツールの追加だ。AIエージェントは短いPythonスクリプトを記述し、MCPサーバー側のサンドボックス環境で実行させることができる。このサンドボックスは呼び出し元のIAM権限を継承するが、ネットワークアクセスは一切持たない。つまり、エージェントはAWSリソースのデータを処理できるものの、ローカルのファイルシステムやシェルには触れない。

Before run_script(APIを逐次呼び出し)
エージェントが複数のAPIを1つずつ呼び出し、その都度応答を解析。レイテンシが増大し、コンテキストも大量に消費する。
After run_script(サンドボックスで一括処理)
エージェントがPythonコードを生成し、サーバー側で複数APIをチェーン実行。結果は1回の応答で返るため、高速かつコンテキスト効率が良い。
import boto3

# 複数APIを組み合わせた処理を1回のラウンドトリップで

従来、エージェントが複数のAPIを呼び出してデータを結合する場合、1つずつリクエストを送っては応答を待つ必要があり、時間もトークンも浪費していた。run_scriptを使えば、1回のラウンドトリップで一連の処理を完結させられる。これにより、処理速度とコンテキスト効率の両方が大幅に向上する。

Skillsによるベストプラクティスの提供

Skillsによるベストプラクティスの提供

プレビュー版では「Agent SOPs」という形式でガイダンスが提供されていたが、GAではより洗練された「Skills」に移行した。Skillsは、エージェントがよく間違えるタスクに対して、AWSの各サービスチームがメンテナンスする検証済みのベストプラクティスを提供する。

スキルにより生成されるコードの品質が安定し、エラーやトークンの無駄も減る。ツール一覧を短く保ちつつ、必要なガイダンスをピンポイントで渡せるため、エージェントの挙動が予測しやすくなり、無駄な試行錯誤も抑制される。

Skillsライブラリのイメージ
EC2 インスタンス設計の勘所
S3 バケットポリシーの安全設定
CDK プロジェクト構成のテンプレート
Lambda 関数の権限制御
エージェントはタスクに応じて最適なスキルを参照し、検証済みのコードや設定を生成する。

エンタープライズの現場では、開発者の数だけ書き方がバラバラになりがちだが、Skillsによってサービスチーム公認のパターンがチーム全体に自然と浸透する。結果として、セキュリティレビューの工数も削減できるだろう。

セキュリティと監査の仕組み

セキュリティと監査の仕組み

AWS MCP Serverは、ユーザーが直接操作する時とAIエージェント経由の操作を明確に区別できる設計になっている。IAMポリシーやSCP(Service Control Policies)を使って、特定のユーザーには全操作を許可しつつ、MCPサーバーには読み取り専用のみ許可する、といった制御が可能だ。

さらに、AWS-MCP名前空間のAmazon CloudWatchメトリクスが提供され、MCPサーバー経由のAPIコールと人間による直接のAPIコールを分離して監視できる。AWS CloudTrailもすべてのAPI呼び出しを記録するため、コンプライアンスチームが求める監査証跡を完全な形で確保できる。

監視ダッシュボードの概念
人間の操作
1,245 calls
MCPサーバー経由
867 calls
CloudWatchメトリクスで分離表示。CloudTrailには全ログが残る。

このように、AIエージェントが安全にインフラを操作できる環境が整ったことで、これまで人間の開発者しか触れなかった本番環境へのAI活用も現実味を帯びてきた。

利用方法と対応ツール

利用方法と対応ツール

AWS MCP Serverは、MCPに対応するあらゆるAIコーディングツールから利用できる。Claude Code、Cursor、Kiro、OpenAI Codexなど、主要なアシスタントはすでにサポートしている。

セットアップは非常にシンプルだ。AWS MCP ServerはIAM SigV4認証を利用するが、多くのMCPクライアントはOAuth 2.1のみに対応している。そのため、オープンソースの「MCP Proxy for AWS」を使ってIAM認証をOAuthにブリッジする。具体的には以下のようなコマンドで設定する。


curl -LsSf https://astral.sh/uv/install.sh | sh
claude mcp add-json aws-mcp --scope user \
   '{"command":"uvx","args":["mcp-proxy-for-aws@latest","https://aws-mcp.us-east-1.api.aws/mcp","--metadata","AWS_REGION=us-west-2"]}'
設定後の動作確認イメージ
AIアシスタント上で/mcpコマンドを実行すると、AWS MCP Serverが利用可能なツール一覧が表示される。
あとは「S3にベクトルデータを保存する方法は?」と尋ねるだけで、エージェントがsearch_documentationツールを呼び出し、最新のS3 Vectorsの情報をもとに回答を生成する。

プロキシはローカルマシン上で動作し、MCPサーバーのエンドポイントとしてhttps://aws-mcp.us-east-1.api.aws/mcp(米国東部)または欧州(フランクフルト)のリージョナルエンドポイントを指定する。APIコール自体は他の全リージョンに対しても実行可能だ。

料金と提供リージョン

料金と提供リージョン

AWS MCP Server自体に追加料金は発生しない。支払うのは、AIエージェントが操作した結果として作成されたAWSリソースの利用料と、データ転送料金のみだ。このため、まずは試験的に導入し、効果を検証しやすい。

現在の提供リージョンは米国東部(バージニア北部)と欧州(フランクフルト)の2拠点。今後、他のリージョンにも順次拡大される見込みだ。

AWS MCP Serverはすでに多くのAIコーディングアシスタントで利用可能であり、AWSドキュメントの最新ページからクイックスタートガイドを参照できる。

この記事のポイント

  • AWSがAIエージェント向けのマネージドMCPサーバーを一般提供開始
  • call_aws、search_documentation、run_scriptの3ツールでAWSを安全に操作
  • run_scriptはサーバー側サンドボックスでスクリプトを一括実行し高速化
  • SkillsによりAWSチーム公認のベストプラクティスをコード生成に活用可能
  • IAMとCloudTrail/CloudWatchで人間の操作とAIの操作を明確に分離監査
  • サーバー利用料は無料、リソース使用量のみの課金。米国東部と欧州で提供開始
OpenAIがGPT-5.5-Cyberを発表、サイバー防御の最前線に信頼済みアクセス基盤を導入

OpenAIがGPT-5.5-Cyberを発表、サイバー防御の最前線に信頼済みアクセス基盤を導入

OpenAIは2026年5月7日、サイバーセキュリティの防御側を支援するための新たな取り組み「Trusted Access for Cyber(TAC / サイバー向け信頼済みアクセス)」を発表した。この枠組みに基づき、研究者やセキュリティチーム向けに最適化されたモデル「GPT-5.5-Cyber」の限定プレビューを公開している。

発表の中核にあるのは、AIの強力なサイバー攻撃支援能力を防御者にだけ安全に開放するという思想だ。すべてのユーザーに同じ性能を提供するのではなく、本人確認と用途の認証を経た防御者のみが、より深い支援を受けられる仕組みを設けている。

この記事では、GPT-5.5-CyberとTACの技術的な仕組み、セキュリティ業界全体への波及効果、そして防御者が実際にどのようなワークフローを加速できるのかを解説する。

信頼済みアクセスでAIの性能を防御側だけに開放する

信頼済みアクセスでAIの性能を防御側だけに開放する

TACは、AIモデルの振る舞いそのものを利用者の属性に応じて段階的に緩和していく枠組みだ。すべてのユーザーに対して一律に機能制限をかけるのではない。防御タスクを担う検証済みの主体に対してのみ、より踏み込んだ支援をモデルが行うように設計されている。

重要なのは、この仕組みが単なるアカウント管理ではないという点だ。モデル内部の分類器による拒否判断をチューニングし、認可された防御ワークフローでは拒否が起こりにくくなる。OpenAIの記事によれば、この変更によって脆弱性のトリアージ、マルウェア解析、バイナリリバースエンジニアリング、検出エンジニアリング、パッチ検証といった領域で、防御者の作業が大きく加速される見込みだ。

一方で、資格情報の窃取やマルウェア配備といった実害を伴う悪用行為に対する防御壁は、そのまま維持される。このバランス設計こそがTACの根幹をなす。

3段階のアクセスレベル

OpenAIは現在、モデルのアクセス権を3つの層に分けて提供している。一般利用向けの標準的なGPT-5.5、防御ワークフロー向けに拒否判断を最適化した「GPT-5.5 with TAC」、そして最も許容度が高く専門用途向けの「GPT-5.5-Cyber」だ。この3層構造により、用途のリスクに応じた比例的な安全策が実現されている。

GPT-5.5(標準)
全ユーザーが利用可能
一般的な開発やナレッジワーク向け。汎用性は高いが、サイバー防御に特化した支援は限定的
GPT-5.5 with TAC(推奨の基本構成)
検証済みの防御者のみアクセス可能
脆弱性トリアージ、マルウェア解析、パッチ検証など、大半の防御ワークフローを安全に支援
GPT-5.5-Cyber(限定プレビュー)
より厳格な確認と監視の下で提供
許可されたレッドチーミングやペネトレーションテストなど、専門的な二重用途ワークフローに対応
標準的な利用 信頼済み防御ワークフロー 専門的な二重用途ワークフロー
(注)実際の制御はリクエストごとの分類器が判断。リスクの高いワークフローほど強力な認証が求められる。

GPT-5.5 with TACは、全防御ワークフローの大部分をカバーする設計だ。OpenAIの見解では、ほとんどのセキュリティチームはこの層から始めるのが適切であり、許可済みの作業でなおも拒否に遭遇する場合にのみ、より専門的なアクセスレベルを検討すべきだとされている。

認証とアカウントセキュリティの要件

TACの枠組みでは、防御側に対する本人確認と認証の厳格化が同時に進められている。OpenAIの発表によれば、最もサイバー性能が高く許容度の大きいモデルにアクセスする個人ユーザーは、2026年6月1日以降、フィッシング耐性のある高度なアカウントセキュリティの有効化が必須となる。

組織単位での信頼済みアクセスを利用する場合は、シングルサインオンワークフローの一環としてフィッシング耐性認証を導入していることを表明する代替手段も用意されている。この設計により、利便性を損なわずに信頼性を担保するバランスを取っている。

GPT-5.5-Cyberがもたらす防御ワークフローの加速

GPT-5.5-Cyberがもたらす防御ワークフローの加速

GPT-5.5-Cyberの公開にあたり、OpenAIは具体的なユースケースを挙げている。公開済みの脆弱性から概念実証コードを生成し、認可された環境下で修正の有効性を検証するといった作業が、モデルによって大幅に効率化されるという。

OpenAIの公式ブログに掲載された比較例では、標準的なGPT-5.5がセキュリティ関連のコード生成を拒否するのに対し、GPT-5.5 with TACは同じプロンプトに対して詳細な概念実証と分析を提供している。この違いは、分類器のチューニングによってもたらされるものだ。

標準モデルとの違いは「ケイパビリティ」より「許容度」

GPT-5.5-Cyberは、一般的な知識作業やセキュリティタスクにおいて最も賢く直感的なモデルであるGPT-5.5を基盤としている。OpenAIは、この初期プレビューがGPT-5.5を超えるサイバー能力を発揮することを主眼とはしていないと明言している。

性能評価の結果でも、すべてのサイバーセキュリティ評価項目でGPT-5.5を上回るわけではない。このモデルの主な価値は、多段階推論やツール利用を含む現実的な防御ワークフローにおいて、より「許可的」に振る舞う点にある。防御者が分析から検証までを止まらずに進められる環境を提供することが目的だ。

このアプローチは、単純にモデルの性能を引き上げるよりも現実的な安全策といえる。より強力な検証と監視の枠組みと組み合わせることで、専門的な作業が必要な場面にだけ踏み込んだ支援を提供できるからだ。

セキュリティエコシステム全体を回す「フライホイール」

セキュリティエコシステム全体を回す「フライホイール」

OpenAIの戦略で特に注目すべきなのは、モデルの提供先を多層的なエコシステムとして捉えている点だ。セキュリティベンダー各社との連携を通じて、発見から開発、検出、対応、ネットワーク制御に至る防御の全レイヤーを同時に強化しようとしている。

このサイクルは「セキュリティフライホイール」と呼ばれ、各レイヤーの改善が他のレイヤーの改善を加速させる相乗効果を生み出す。研究者が概念実証とパッチガイダンス付きで脆弱性を開示し、サプライチェーンツールが本番環境への侵入を防ぎ、EDRやSIEMが攻撃の兆候を検出し、ネットワークプロバイダーがWAFレベルの緩和策を展開する。この連鎖をAIが加速する構図だ。

① 脆弱性の発見と検証
研究者がGPT-5.5 with TACを使い概念実証とパッチガイダンスを生成
② サプライチェーンでの遮断
リスクのある依存関係が本番環境に到達する前に阻止
③ 検出とモニタリング
EDRやSIEMが悪用の兆候を捕捉し、分析を加速
④ ネットワークレベルでの緩和
WAFルールや設定変更で、修正展開前に攻撃経路を遮断
→ 各層の改善が他の層の対応速度をさらに引き上げ、防御サイクル全体が加速する

このエコシステム戦略が意味するのは、GPT-5.5シリーズが単独のツールとしてではなく、業界全体の防御基盤として設計されているという点だ。OpenAIは既にCisco、Intel、SentinelOne、Snykといった主要ベンダーと協業を進めており、各社の声明も公式ブログに掲載されている。

各レイヤーでの具体的な活用シナリオ

ネットワークプロバイダーは、修正パッチが完全に展開される前の段階で被害を抑え込む役割を担う。GPT-5.5はWAFルールのレビューや構成分析、インシデント調査、安全な変更管理を支援し、インターネット規模での防御展開を可能にする。

脆弱性研究の領域では、未知のコードベースの理解、影響を受ける範囲の特定、根本原因の追跡、パッチの検証、そして深刻度の優先順位付けまでを一貫して支援する。より踏み込んだ概念実証が必要な場合に、GPT-5.5-Cyberが限定的に提供される設計だ。

検出と監視の分野では、EDRやSIEMのテレメトリデータから重要なシグナルを抽出し、分析官が開示情報から調査までを迅速に進められるようにする。とくにクラウド環境では、露出の把握から修正、検出までが密接に結びついており、AIによる接続が効果を発揮する。

ソフトウェアサプライチェーンセキュリティでは、GPT-5.5 with TACが依存関係の変更点の調査や、所有コード内での悪用可能性の推論、不審なパッケージ動作の早期発見を支援する。OpenAIは、axiosの侵害事例のように、脆弱な依存関係がビルドに入り込む前に阻止することが最速の対処法だと位置づけている。

オープンソースとCodex Securityによる上流支援

オープンソースとCodex Securityによる上流支援

OpenAIはエコシステムの上流にあたるオープンソースメンテナーへの投資も進めている。Codex Securityを活用し、コードベース固有の脅威モデルを構築した上で、現実的な攻撃経路の探索やパッチの提案を行う仕組みを研究プレビューとして提供中だ。

さらに「Codex for Open Source」プログラムを通じて、重要なプロジェクトのメンテナーにCodex Securityへの条件付きアクセスとAPIクレジットを提供している。これにより、メンテナンスやレビューの負荷を軽減しながら、上流での脆弱性対処を加速させる狙いがある。

Codex Securityのプラグインも公開されており、既存のワークフローの中で脅威モデリングから発見、検証、攻撃経路分析、修正までをシームレスに進められるよう設計されている。

TACへのアクセス方法と今後の展望

TACへのアクセス方法と今後の展望

Trusted Access for Cyberへの参加は、個人ユーザーであれば専用ページから本人確認を行うだけで申請できる。企業の場合はOpenAIの担当者を通じて、チーム単位での信頼済みアクセスをリクエストする仕組みだ。承認されたユーザーは、二重用途のサイバー活動に対する分類器の拒否が緩和されたモデルを利用できるようになる。

OpenAIの発表によれば、GPT-5.5-Cyberはアルファテストの段階で既に重要システムの自動レッドチーミングや深刻度の高い脆弱性の検証に活用されている。これらの成果については、責任ある開示の一環として、今後技術的な詳細が公開される予定だ。

モデルのサイバー能力が向上するにつれて、その能力を防御側の手に届けるための信頼基盤の重要度も増していく。より強固な本人確認や組織検証、認可された用途のスコープ定義、悪用監視の仕組みが成熟するにつれて、アクセス権は徐々に拡大されていくと見られる。

この記事のポイント

  • TACは利用者の属性に応じてAIの防御支援能力を段階的に開放する枠組みである
  • GPT-5.5 with TACは大半の防御ワークフローを安全にカバーし、多くのチームにとって最適な出発点となる
  • GPT-5.5-Cyberはレッドチーミングなど専門的な二重用途ワークフロー向けの限定プレビューである
  • セキュリティベンダーとの連携により、発見から緩和までの全レイヤーを加速するフライホイール効果を狙う
  • オープンソースメンテナーへのCodex Security提供など、エコシステム上流への投資も同時に進められている