3 ポイント 投稿者 GN⁺ 11 일 전 | 3件のコメント | WhatsAppで共有
  • Vercel は、内部システムに対する不正アクセスが発生したセキュリティインシデントを正式に確認し、現在はインシデント対応の専門家および法執行機関と協力中
  • 侵害の原因は、サードパーティのAIツール Context.ai の Google Workspace OAuth アプリが侵害され、Vercel従業員アカウントが乗っ取られたこと
  • 攻撃者は 機密ではない(non-sensitive)環境変数 を列挙して追加のアクセス権を獲得しており、これらの変数は暗号化されていない状態で保存されていた
  • ShinyHunters を名乗るハッカーがハッキングフォーラムでアクセスキー、ソースコード、データベースデータ、APIキーなどを販売すると主張し、200万ドルの身代金 を要求
  • Vercel は Next.js、Turbopack など オープンソースプロジェクトの安全性 を確認し、顧客に対して環境変数の見直しと機密変数機能の有効化を推奨

セキュリティインシデントの概要

  • Vercel は JavaScript フレームワークに特化したクラウドホスティングおよびデプロイ基盤プラットフォームで、Next.js の開発元であり、サーバーレス関数、エッジコンピューティング、CI/CD パイプライン サービスを提供
  • セキュリティ告知を通じて、内部システムに対する 不正アクセス(unauthorized access) が発生したことを正式に確認
  • 一部の顧客(limited subset)が影響を受けたが、サービス自体には影響がなかったと発表
  • インシデント対応の専門家を起用し、法執行機関に通報 して調査を進めている

侵害経路と技術的詳細

  • 侵害の根本原因は、サードパーティAIプラットフォーム Context.aiGoogle Workspace OAuth アプリ が侵害されたこと
  • Vercel CEO の Guillermo Rauch が X(旧Twitter)で追加の詳細を公開
    • 攻撃者は Context.ai の侵害を通じて、Vercel従業員の Google Workspace アカウントを乗っ取った
    • その後、そのアカウントから Vercel 環境内で 権限昇格(escalate) した
  • 攻撃者は 「機密ではない(non-sensitive)」と指定された環境変数 にアクセスしており、これらの変数は暗号化されていない状態(not encrypted at rest)で保存されていた
  • Vercel は、すべての顧客環境変数を 完全に暗号化された状態(fully encrypted at rest) で保存し、多層防御メカニズムを備えているが、「non-sensitive」に指定された変数が弱点として作用した
  • Google Workspace 管理者に対し、次の OAuth アプリの確認を推奨:
    • 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com

ハッカーによるデータ販売の主張

  • ShinyHunters を名乗る脅威アクターが、ハッキングフォーラムに Vercel 侵害とデータ販売に関する投稿を掲載
    • 販売対象: アクセスキー、ソースコード、データベースデータ、内部デプロイへのアクセス権、APIキー(NPMトークン、GitHubトークンを含む)
    • Linear のデータを証拠として提示し、多数の従業員アカウントへのアクセス権を保有していると主張
  • ShinyHunters 組織に関連する既知の脅威アクターたちは、BleepingComputer に対し、今回の事件とは 無関係だと否定
  • 攻撃者が共有したテキストファイルには、Vercel従業員情報 580件 が含まれており、氏名、Vercel のメールアドレス、アカウント状態、アクティビティのタイムスタンプで構成
  • 内部の Vercel Enterprise ダッシュボード と見られるスクリーンショットもあわせて共有
  • BleepingComputer は、そのデータとスクリーンショットの真正性を 独自には確認できていない
  • Telegram のメッセージで、脅威アクターは Vercel と接触中であり、200万ドルの身代金(ransom) を要求したと主張

Vercel の対応と顧客への推奨

  • Next.js、Turbopack およびその他のオープンソースプロジェクトは安全であることを確認
  • ダッシュボードに環境変数の 概要ページ と、機密環境変数管理のための 改善されたインターフェース を導入
  • 顧客に推奨する対応:
    • 環境変数(environment variables) の見直し
    • 機密環境変数機能(sensitive environment variable feature) を有効化し、未使用時の暗号化を保証
    • 必要に応じて シークレットローテーション(secret rotation) を実施

3件のコメント

 
GN⁺ 11 일 전
Hacker Newsの反応
  • たった今告知が更新され、侵害がサードパーティーのAIツールのGoogle Workspace OAuthアプリ侵害から始まったと明かされた点が重要に思えた
    調査支援用のIOCも公開されており、管理者ならこのアプリを使っているかすぐ確認するようにという内容だった
    OAuth Appは 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com で、原文は Vercelセキュリティ告知で確認できる

    • Guillermo Rauchの説明を見ると、Vercel社員が使っていたContext.aiの顧客アカウント側の侵害が出発点で、その後VercelのGoogle Workspaceアカウントや環境へと連鎖的にアクセスされたようだった
      とくにnon-sensitiveな環境変数の列挙によって追加アクセスが可能だったという説明が目を引き、攻撃者はAIによって大きく加速された高度なグループではないかという推測も出ていた
      それなのにまだ利用者向けのメール通知がない点はかなり心配だった
    • OAuthクライアントIDだけでなく、実際のアプリ名も公開してくれるとよいと感じた
      相手をすぐ名指ししたくない気持ちは理解できるが、サービス名を隠すと対応が遅れるだけという印象だった
    • どうせ結局は明らかになるのに、なぜ責任のあるアプリを直接名指ししないのかよく分からなかった
    • そのアプリはすでに削除されたように見えた
    • この件は、この10年のWeb開発が進んできた方向の自然な帰結のように感じられた
      最近は安定した基盤の上に積み上げるより、複数のサードパーティーの組み合わせをつなぎ合わせるのが当たり前になり、その分だけ失敗点も増えている
      結局セキュリティは最も弱い輪と同じだけしか強くないことが改めて示され、とくにvibe-codedっぽいAIツールの上にビジネスを載せるのは明らかなリスクだと思った
      この方向を本当に押し進め続けるべきなのか、そして複雑さがどこまで増えたら立ち止まるのか、自分に問いかけることになった
  • Claude Code推奨スタック分析を見ると、Claude Codeがデフォルトで特定のプロバイダーやフレームワークを勧めることで、Webをより画一化しているように感じた
    こうした多様性の欠如が、結局事故が起きたときの波及半径をさらに大きくしている気がした

    • redditに上がってくる手間をかけていないvibe-codedプロジェクトを見ると、本当にしょっちゅうVercel上に載っていた
      ほとんど既定の選択肢として固まっている印象だった
    • 数日前にClaude Codeで新しいCRUD Reactアプリを無理やり作ってみたら、デフォルトでNode JSとNPM依存関係を山ほど吐き出した
      そこでいっそNodeなしでやってくれと言うと、すぐにPythonバックエンドで組み直してくれて、依存関係も減らす方向に変えたと自分で説明していた
      ちなみにこれはただ捨てる成果物のための実験であって、vibe codingを勧めたいわけではなかった
    • 良い指摘だが、問題の核心がClaude自体だとは思わなかった
      結局は使い方の問題であり、Claudeに判断を代行させないよう開発者をもっと上手く導くべきだと考えた
      助言は受けられても、最終的には人間が批判的にレビューすべきで、その点では他のチームメンバーと協業するのと大差ないように感じた
    • AIが平均への収束をはるかに速くしているという考えが頭から離れなかった
      インターネットにももともとそういう傾向はあったが、今回は少し質が違うように感じた
    • エージェントをスケープゴートにすることに強く反対というわけではないが、こういう問題は実際には人間同士の間でもいつも見られてきたパターンだと思った
  • 以前セキュリティインシデント対応チームにいた者として、今回の対応チームがどれだけ大変かは想像できた
    それでも最初の告知は本当にひどいコミュニケーションに見えた
    何が起きたのかは語らないまま、法執行機関に知らせるほど深刻だという表現だけがあり、顧客向けの行動指針は「環境変数を見直せ」程度だった
    しかし顧客の立場では、それで何をすればよいのかあまりに不明瞭だった。値がまだ存在するか確認しろという意味なのか、すでに漏えいしたかどうかはどう判断しろというのか分からなかった
    自分の基準では、直ちにパスワード、アクセストークン、Vercelに預けた機微情報をすべてローテーションせよと言うべきだったし、そのうえでアクセスログや顧客データの異常兆候を監査するよう案内すべきだった
    高いホスティング費用を払う理由は、結局セキュリティと安定性を専門的に管理してくれるという期待があるからで、今の対応は初期の不確実性を考慮しても意図的に曖昧すぎるように見えた

    • インシデントページを見ると、Vercelでsensitive指定された環境変数は読み取れない形で保存されており、現時点ではアクセスの証拠はないとされていた
      ただしAPIキー、トークン、DB認証情報、署名鍵のような秘密値がsensitiveとしてマークされていなかったなら、潜在的に露出したものと見て優先的に交換すべきだと書かれていた
      出典は incident page で、自分が見た時点では東部時間午後4時22分時点だった
    • 正直、なぜこれをここで先に読んでいるのか理解できなかった
      1年以上金を払っている顧客なのに、肝心の会社メールよりニュースアグリゲーターのほうが先に知らせてくる状況は呆れた
    • 去年もVercelはNextミドルウェア脆弱性への対応を拙く処理しており、だから今回も完全に新しい話には感じなかった
      関連する文脈は HNスレッド当時の反応 で見られた
    • セキュリティは本当に難しく、自分が信頼するベンダーはAWS、Google、IBMの3社だけだという考えだった
      それ以外はたいてい問題を招き寄せる選択に感じられた
    • 高い金額を払う理由はセキュリティと安定性への期待だけでなく、数クリックですぐデプロイできる利便性も大きいと感じた
      ただ自分はもうその利便性に頼らないことにして、Renderからlinodeへ全部移した
      以前はRenderに月50ドル超を払っていたが、今は3〜5ドル程度なので、今後ああしたホスティング業者をまた使うつもりはほとんどなかった
  • 「Vercelはどのシステムが侵害されたかを明かしていない」という一文を見て、セキュリティ専門家でなくてもこれはかなり納得しがたい態度に感じられた
    顧客が影響を理解するのを助けるより、自分たちの防御に重点を置いている印象も受けた

    • 一方で、システム名をより具体的に言っても必ずしも有用とは限らないとも思った
      たとえばGitHubであまり知られていない下位サブシステムXが侵害されたと言われても、すでに出ている「一部顧客環境が侵害された」というレベル以上に実質的な助けにはならないかもしれないと思った
  • 告知にIOCが追加されたのを見直すと、今回の事件がGoogle Workspace OAuthアプリ侵害から始まったという点はコミュニティ全体にとって確かに重要な情報だった
    管理者やアカウント所有者はそのアプリ識別子をすぐ確認すべきだと感じ、詳しい内容は Vercel告知 にあった

    • あのOAuthアプリがいったいどのツールなのか本当に気になった
  • 自分はMacBook ProとChrome 147.0.7727.56環境なのだが、ページ左上のVercelロゴを押した瞬間にChromeアプリが即クラッシュした
    かなり興味深いバグに思えた

    • 自分はArch Linuxだが、Chrome 147.0.7727.101では同じクラッシュが再現し、Firefox 149.0.2やChromium 147.0.7727.101では起きなかった
      みんな今ちょうどVercelが何か侵害されたらしいという話を読んでいる最中に、Webページのクラッシュまで再現している状況が妙に面白かった
      もちろん、こういう集団再現遊びが絶対に逆効果にならないはずもないとも思った
    • 残念ながら自分のWindows 11 ProのChrome 147.0.7727.101ではクラッシュを再現できなかった
      動画も残してみた し、uBlock Origin Liteを使っているのでそれが原因かと思ったが、無効にしてもやはり落ちなかった
      再現できたら少し面白かっただろうとも思った
    • 2021年ごろ、LinuxでGitHubのドロップダウンメニューを開くとシステム全体が落ちていたChromiumバグを思い出した
      しばらくそうだったが、結局修正された記憶があった
    • 自分もWindows 11のChromeで同じ現象を見た
      ただしURLでVercelホームを一度直接開いた後は、ロゴを押してももうクラッシュしなかった
    • 自分の環境はMBP M4 MaxとChrome 146.0.7680.178だがクラッシュはなかった
      その代わり今はFinish updateボタンを押すのが少しためらわれた
  • 関連情報として HNの別スレッド といくつかのX投稿を一緒に見ていた
    Theoの最初の言及 では信ぴょう性がありそうだとしており、続報 ではsensitive指定されたenv varは安全で、指定されていない値は予防的に交換すべきだとしていた
    また 別の投稿 では、この種のハッキングはどのホストにも起こりうるとしており、さらに別の言及 ではShinyHuntersとの関連可能性が挙げられていた

    • sensitiveとしてマークされていない値が本当に機微でないのなら、わざわざ交換する理由はないと思った
      もし必ず交換しなければならない値なら、そもそもそれは機微情報であり、sensitiveとしてマークしておくべきだったのではないかと思った
    • このTheoという人が誰なのか、なぜみんな何度も引用しているのか気になった
      今の時点では実質的な中身がそれほど多いようには見えなかった
  • こうした事件は、現代のWebエコシステムがどれほど単一障害点に集中しているかを改めて思い出させた
    今のところ公開の仕方自体は比較的透明だと感じるが、フルマネージドPaaSに全面的に依存する選択のリスクプロファイルは改めて計算し直すことになった

  • 「一部の限定された顧客」という表現は、技術的には99%でも成り立ちうるので、かなり曖昧な表現に聞こえた

  • もしかすると実際には多くの顧客が影響を受けていて、離れられると困る大口顧客だけをsubsetと呼んでいる状況なのではないかという疑いも湧いた

    • あくまで推測だが、「limited subset」という表現が良いニュースだったことはあまりなかったように感じる
      本当に安心させられるなら、普通は「ユーザーの1%未満」のように具体的な数値を出すが、今回はそうではなかった
      なので、まだ可視性が足りないか、数字が気に入らないのではないかと思った
      それでも対応チームがどれだけ苦労しているかには共感しており、今後はもっとオープンで透明なコミュニケーションをしてほしいと思っていた
 
click 10 일 전

ここでもヒンディー語の文字が見えますね。最近は OpenAI、Claude、Google を問わず、日本語出力にヒンディー語が混ざって出てくるケースがかなり頻繁に発生していますが、日本語データセットのラベリングをインドの人たちが担当したのでしょうか?
中国モデルは日本語応答に中国語が混ざって出てくるので好きではなかったのですが、最近はフロンティアモデルがヒンディー語をしょっちゅう混ぜてくるので、むしろ中国モデルに対する抵抗感が下がりました

 
slowandsnow 10 일 전

以前Claudeを使うと日本語がよく出てきたんですよね。昨日もそうでした