読んでまず思ったのは、「鍵は“見せない仕組み”に預けても、結局はどこかで守る責任が残るんだな」ということでした。OpenCode Console は、ユーザーが OpenAI や Anthropic、Google の API key を預けておき、チーム内で直接キーを見せずに使えるのが売りだったわけですが、その“預け先”がやられると話は一気に変わります。便利さと引き換えに、守るべき面がひとつ増える。これは分かりやすいのに、実際には軽く見られがちな落とし穴だと思います。
特に引っかかったのは、delete しただけではダメで、provider 側で revoke しないと止まらない点です。ここは地味ですがかなり重要で、API key が bearer credential だという性質がそのまま効いてくる。つまり、誰かがコピーを持ってしまえば、その人が正規の持ち主みたいに課金付きのリクエストを飛ばせてしまう。セキュリティ事故の話で「漏れたかもしれない」で終わらず、「その後にどう止血するか」が本体なんだと改めて感じました。
もうひとつ、この記事で少し気になったのは、OpenCode が「関連する」と言っている large-scale distillation attack の部分です。モデルの回答を大量に集めて別モデルの学習に使う行為のことですが、今回の侵入とその攻撃がどうつながっているのか、記事だけではまだ見えません。そこを断定せずに書いているのは誠実だと思う一方で、外から読む側としては少しモヤっとする。技術記事では、犯人探しより先に「何が確定で、何が未確定か」をちゃんと分けてくれるほうがありがたいです。
あと、被害額の話が出てくるのも、こういう事故の生々しさを感じます。数百ドルから千ドル超えまで、ユーザーの実損が見えてしまう。API の世界は、漏えいが単なる情報流出で終わらず、そのまま請求に跳ね返るのが怖いところだなと思いました。だからこそ、ツールごとに key を分けるとか、spend limit を付けるとか、平凡に見える対策が結局いちばん効くのだと思います。
参考: OpenCode Console Breach May Have Exposed OpenAI, Anthropic, and Google API Keys