世界を動かす技術を、日本語で。

25分で「Baseten」の本番GitHubに管理者アクセスを取得しました

2026年9月16日原文(strix.ai)

概要

  • Strix という自律型ハッキングエージェントによる Baseten のセキュリティ診断
  • 25分でGitHub管理者トークン を発見し、重大な脆弱性を特定
  • Basetenの 迅速な対応 とトークンの無効化
  • Dockerイメージのビルド履歴 に埋もれた機密情報の危険性
  • 自社インフラ でも同様の点検が必要

BasetenへのStrixによるセキュリティ診断

  • Baseten は業界でも信頼される推論サービスプロバイダで、 時価総額130億ドル
  • Strix は自律型ハッキングエージェント、自社と顧客データの安全確保のため事前診断を実施
  • Black boxテスト として、認証情報やソースコードなしで*.baseten.co全体をスキャン
  • 25分後basetenbotのGitHubパーソナルアクセストークン を発見
  • このトークンは Basetenの社内主要リポジトリ、GitOps、Homebrew tap、顧客ごとのプライベートリポジトリへの 管理・書き込み権限 を持つ
  • トークンは 2023年3月作成、2026年7月発見時点で有効
  • Basetenのセキュリティチームは 迅速かつ専門的に対応、翌日にはプロジェクトの非公開化とトークンのローテーションを完了

Strixが発見した脆弱性の詳細

  • Harborレジストリ (gcp-us-east4-zlw.registry.baseten.co)に パブリックなプロジェクト を発見
    • 認証不要でイメージリスト取得・ダウンロードが可能
    • baseten/baseten-app イメージ内に AWSキーGitHubトークン を検出
  • Dockerイメージのビルド履歴 (history[].created_by)に GITHUB_TOKEN が直接記録
    • RUNコマンド でトークン値が展開され、ビルド履歴に残存
    • docker history --no-trunc やconfig blobの history[].created_by で確認可能
  • トークンは basetenlabs組織 に属し、 repoスコープ で主要リポジトリに admin/push権限
  • 証拠保全のため、リポジトリの内容変更やクローンは未実施

なぜトークンがイメージに残ったのか

  • プライベート依存関係の取得のため、 Dockerfileでビルド引数としてトークンを渡す設計
    • 例:
      ARG GITHUB_TOKEN
      RUN GITHUB_TOKEN=${GITHUB_TOKEN} bash -c '...'
      
  • Dockerはビルド引数の値を履歴に記録 する仕様
  • git config --global コマンドで認証付きURLがイメージ内に保存される二重の問題
  • BuildKitのsecret mount や一時認証の活用が推奨
  • 古いイメージの再配布リスク、トークンの失効も必須

Strixによる自律的な診断プロセス

  • 公開レジストリの検出→イメージ取得→機密情報の自動検出→権限確認 まで一貫して自動実行
  • HarborやGitHubトークン など、事前知識なしで発見
  • 25分で重大な管理者権限トークンに到達
  • AI攻撃の脅威 に対抗するには、 自社で定期的に自動診断 を実施する必要

Basetenへの脆弱性報告と対応

  • 2026年7月13日夜 :Basetenへトークン・公開プロジェクト・権限を報告
  • 7月14日朝 :Harborプロジェクトを非公開化
  • 7月14日午後 :トークンのローテーションと削除確認
  • 7月17日 :残りの指摘事項もクローズ
  • 9月 :公開開示予定を通知、Basetenから感謝の品も受領

コンテナ運用者への推奨事項

  • 公開範囲の再点検 :認証なしでpull可能なイメージや古いタグ・プロジェクトの確認
  • ビルド履歴の精査docker history --no-truncやconfig blobのhistory[].created_by
  • ビルド引数での機密情報渡し禁止secret mount や一時認証の利用
  • トークン権限の最小化・有効期限設定
  • Strixのような自動診断ツールの活用、AI攻撃に備える体制構築

まとめ:AI時代のセキュリティ対策

  • AIエージェントによる攻撃は現実的な脅威
  • 自社インフラも定期的な自動診断が必須
  • Dockerイメージのビルド履歴や公開レジストリ は盲点になりやすい
  • 機密情報の管理・トークンの失効・権限管理 を徹底
  • 攻撃者より先に自らの脆弱性を発見・修正する文化 の重要性

Hackerたちの意見

本当にAI経済に突入してるね。今は、グローバルな混乱のせいで、株が上がるか下がるか分かればいいんだけど。貯金をSPYに投資する前にね。

今のところ、トランプが考慮しなきゃいけないワイルドカードだね。彼はAIトレードよりもSPYにずっと影響を与えてる。

Basetenはこれをうまく処理したね。タイムラインは以下の通り。 > 7月13日、午後11時10分:ライブのbasetenbotトークン、公開のHarborプロジェクト、リポジトリの権限を報告した。 > 7月14日、朝:BasetenがHarborプロジェクトをプライベートにした。トークン自体はまだ機能していることを指摘した。 > 7月14日、午後4時34分:BasetenセキュリティのAntonが問題をクリティカルと確認し、Harborプロジェクトをプライベートにし、トークンをローテーションしたと言った。彼はまた、取得した画像を安全に削除するように頼んできた。 > 7月14日、午後5時5分:削除を確認し、同じスキャンからの2つの低Severityの発見を送った。 > 7月17日:Basetenが残りの発見をクローズした。 > 9月:私たちはBasetenに発見を公開する予定だと伝え、この投稿のドラフトを送った。彼らはまた、このクリティカルなバグを見つけてくれたお礼としてTシャツとスウェットシャツを送ってくれた。みんなお疲れ様。私が唯一気になるのは、どのデフォルトのセキュリティ境界を全てのvibecoded内部エージェントが守るべきかってことかな。

迅速なコミュニケーションと修正に関しては良かったけど、報酬に関してはひどすぎるね。記事の前半では、Basetenの評価額が130億ドルだって言ってる。攻撃者がGitHubの組織で管理者に昇格できるバグを私的に報告した研究者に数千ドルを渡すために、ソファのクッションを掘り返すこともできないの?これは、誠実な研究者がBasetenの脆弱性を探すために時間を無駄にすべきではないというメッセージを送ってるけど、犯罪者にとってはこの脆弱性を金に変えたい良いターゲットだね。

彼らはこの重要なバグを見つけてくれたお礼に、Tシャツとスウェットシャツを送ってくれたよ。正直言うと、(手に入れるのが難しい)ハードカバーの『Inference Engineering』をもらいたかったな。

vibecoded エージェントは、信頼できない CI ジョブのように扱うべきだと思う。ジュニア社員のようには扱わない:リポジトリスコープのアイデンティティ、デフォルトで読み取り専用、継承された Actions トークンやプロダクションシークレットはなし。読み取りを変更する操作は、エージェントの制御外で承認が必要で、監査可能な差分を生成するべきだね。ネットワークの出口も境界に含めるべきだ。エージェントが読み取ったものを任意のエンドポイントに送信できるなら、読み取り専用アクセスはあまり保護にならないよ。

これはまだ標準的な対応タイムラインと見なされてると思う。急速なものじゃないよ。CVEや脆弱性の修正にかかる時間が、数日や数時間、場合によっては数分にまで縮まってきてるんだ。オープンルーターのアカウントを持ってる人なら、ストリックスとGLM 5.3フラッシュを使って、フロンティア・ミソ 5レベルのサイバー能力でダメージを与え始められるよ。このサイバー・パッチ競争は始まっていて、過去70年間に作られたソフトウェアがまだ使われている限り、パッチが必要になるまで止まらない。これはすべてのソフトウェア会社で起こってることなんだ。やらないことのコスト?ゲームオーバーだよ。

これはstrixにとっては素晴らしいマーケティングだけど、basetenにとってはあまり良くないね。自分のセキュリティ製品を宣伝するためのストーリーとしては、これ以上のものはないと思う。strixのことは知らなかったけど、今調べてみるつもり。スタックに加えるかもしれない。

何かフィードバックがあったら教えてね!

うん、これに関しては何度か見たことあるよ。Dockerのビルド引数をそのように使うなら、--provenance=falseを追加してビルドメタデータを取り除くといいよ。ビルドシークレットの方がまだ良いね。Dockerfile内でシークレットのスコープを設定できるから。メタデータは画像を調べるのに役立つこともあるし。

正直、これについてはあまり詳しくなかったけど、今は今後のベストプラクティスが分かるようになったよ。

[ペンテスティングエージェント] が basetenbot のアクティブな GitHub パーソナルアクセストークンを見つけてきたんだ。そのトークンは、Baseten のメインプロダクトリポジトリや、クラスターを動かす GitOps リポジトリ、Homebrew タップへの管理者権限とプッシュアクセスを持ってたし、特定の顧客向けのプライベートリポジトリへの読み書きアクセスもあった。エージェントは Baseten のイメージリポジトリを見つけた後、Docker ビルド履歴の中でそのトークンを見つけたみたい。最近、こういうエージェント主導のセキュリティ侵害がどれだけ起きてるのか、気になるよね(悪意のある行為によるもの)。

Hacker Newsで議論の続きを見る