Vercelセキュリティインシデントに巻き込まれた話と対応記録

ブログ記事

Vercelセキュリティインシデントに巻き込まれた話と対応記録

5 分で読めます投稿者:Tomoki
タグ:セキュリティVercelインシデント対応

何が起きたか

2026年4月19日、Vercelが公式にセキュリティインシデントを発表した。 内容は「Vercel社内の特定システムへの不正アクセス」。

ただし原因はVercel自体ではなく、サードパーティ製AIツールのGoogle Workspace OAuthアプリが侵害されたことだった。 そのツールを経由してVercelの内部システムにアクセスされた形。

影響を受けた可能性があるユーザーは数百人規模とのこと。


そもそも「OAuthアプリの侵害」って何?

セキュリティに馴染みのない人のために少し補足する。

普段、「Googleでログイン」「GitHubと連携」といったボタンを押してツールを使うことがあると思う。あれがOAuth連携だ。ツールに対して「Googleアカウントの情報を使う許可」を与えている。

今回問題になったのは、あるAIツールがその許可を使ってVercelの内部システムにアクセスできる立場にあったことだ。そのAIツール自体が攻撃者に乗っ取られてしまったことで、連鎖的にVercelへの不正アクセスが発生した。

つまり流れはこうだ:

攻撃者
  ↓
サードパーティAIツールを乗っ取る
  ↓
そのツールのGoogle OAuth権限を悪用
  ↓
Vercelの内部システムにアクセス
  ↓
一部ユーザーの環境変数などが漏洩リスクに

自分が直接何か悪いことをしたわけではない。 信頼していたツールが侵害されたことで、間接的に被害を受けた形だ。これが今回の怖いところで、「自分のパスワードは強固だから安心」では防げない種類の攻撃だった。


何が漏洩したのか

Vercelの発表によると、機密マークのない環境変数が漏洩リスクありとされた。

環境変数とは、APIキーやデータベースのパスワードなど、アプリが動くために必要な秘密情報のこと。Vercelには「Sensitive(機密)」としてマークする機能があり、それが設定されていれば読み取り不可能な形で保存される。逆に言うと、機密マークをつけていなかった変数は読み取られた可能性がある。


自分がやった確認手順

1. Googleアカウントで侵害アプリを確認

Vercelが公開したIOC(侵害指標)のOAuthアプリIDを使って、myaccount.google.com/permissions で該当アプリが接続されていないかチェック。 → 自分のアカウントにはなかった。

2. Vercelのアクティビティログを確認

Dashboard → プロジェクト → Activity タブで不審な操作がないか確認。 環境変数の変更、知らない時間帯のデプロイ、メンバー追加などをチェック。 → 異常なし。

3. メール確認

Vercelから「直接影響を受けたユーザーには個別連絡する」とアナウンスがあった。 → 自分には届いていなかった。


念のためやったこと(キーのローテーション)

直接の被害は確認できなかったが、念のため秘密情報として扱うべき環境変数を洗い出し、該当するものを全てローテーションした。

合わせて、Vercelに残っていた不要な環境変数も整理して削除した。

更新後はVercelでRedeployして反映。


今回の学び

「自分は対象外」でもキーは更新しておくべき

調査はまだ継続中で、影響範囲が広がる可能性もある。 Vercelのバレチンには「機密マークのない環境変数は漏洩したとみなして更新を」と書いてあった。

実際に手を動かしてみて気づいたこと:

  • 環境変数に使っていない変数が残っていた(今回削除した)
  • NEXT_PUBLIC_ プレフィックスの意味をちゃんと理解していなかった(ブラウザに公開される値なので秘密情報を入れてはいけない)
  • キーのローテーション手順を事前に把握しておくと有事に焦らない

OAuthアプリの棚卸しも大事

今回の侵害経路はサードパーティAIツールのOAuth連携だった。 myaccount.google.com/permissions で不要なアプリのアクセスを定期的に削除しておくべき。

便利なツールにOAuth連携するのは当たり前になっているが、使わなくなったツールの権限を放置していることは意外と多い。今回をきっかけに棚卸しするといい。


参考