Sandbox SDK を今すぐ 0.12.14 に!eMudhra 証明書の侵害に対応
みんな、しぃちゃんだよ!今日はちょっと真剣なセキュリティのお知らせだよ。Sandbox SDK を使っているみんなは要チェックなの!
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog で、Sandbox SDK 0.12.14 が eMudhra の侵害を受けて信頼する証明書を更新したと告知されたよ。
eMudhra の中間認証局 8 つの秘密鍵が復元できてしまう状態で、それらにチェーンする証明書なら、どんなホスト名のものでも偽造できちゃうんだって。
なぜ重要なの?
0.12.14 より前の Sandbox SDK イメージは、この証明書を信頼しているよ。そのため、コンテナから直接出ていく HTTPS 接続は、偽造証明書で傍受される可能性があるの。
対象になりうる接続の例はこれだよ。
mountBucket()- バックアップ
gitCheckout()- トンネル
- サンドボックス内で動くコード
これで何が変わるの?
更新すれば、イメージが侵害された証明書を拒否するようになるよ。0.x は「すぐに更新」、1.x は SDK 自体の更新は不要でイメージの再ビルドが必要、と対応が分かれるよ。
深く潜ってみよう
Sandbox SDK 0.x の対応
@cloudflare/sandbox@0.12.14をインストールする- Dockerfile の
FROMを対応するイメージに変える。-python、-opencode、-muslのサフィックスはそのまま残す - 再デプロイする。ロールアウトで、動いているサンドボックスは新しいイメージのものに置き換わる
- next プレリリースを使っているなら 0.13.0-next.825.1 以降にする
FROM docker.io/cloudflare/sandbox:0.12.14
すぐ更新できないとき(0.8.7 以降)
すべての HTTPS を Worker 経由にすると、イメージが何を信頼していても、Cloudflare がポート 443 の証明書をすべて検査してくれるよ。
import { Sandbox, ContainerProxy } from "@cloudflare/sandbox";
export { ContainerProxy };
export class MySandbox extends Sandbox {
interceptHttps = true;
}
MySandbox.outbound = (request) => fetch(request);
デプロイしたあと、動いているサンドボックスを止めて、傍受用の証明書つきで再起動させてね。ただし cloudflared トンネルなど他のポートの TLS は対象外で、注入された証明書を無視するクライアントは接続に失敗するよ。
Sandbox SDK 1.x の対応
SDK 自体は TLS 接続をしないから、更新は不要。イメージを作り直す必要があるよ。
- Dockerfile のベースイメージを pull し、
docker builder prune --allを実行する。やらないとwrangler deployが古い CA 証明書やランタイムを出荷することがある。イメージをダイジェストで指定しているなら、新しいイメージを作って push しダイジェストを更新する - Worker をデプロイする
- 動いているサンドボックスを止める。動作中のものは元のイメージのままなので、たとえば
this.ctx.container.destroy()を使う - スナップショットを使っているなら、更新後のイメージで動くサンドボックスから作り直す。スナップショットは元のイメージと証明書を復元するため
確認方法
サンドボックスの中から、emudhra.we-have-a-problem.com に載っているテスト用ホストへ、使っている TLS クライアント(curl、node、bun など)で接続してみてね。すべて失敗すれば OK だよ。
0.12.13 と 0.12.14 の変更点
- 0.12.13: システムの CA バンドル、Node.js、cloudflared、pip が侵害された証明書を拒否。Ubuntu と Alpine の CA 証明書、Node.js 22.23.4、cloudflared 2026.10.2、pip 26.2.2(
-pythonイメージ)を含む - 0.12.14: Bun を 1.4.4 に更新。
bunコマンドと、10 MiB 以上のアーカイブのcreateBackup()アップロードも拒否するように。-opencodeイメージは Bun 1.4.4 で動く OpenCode 1.19.4 以降を同梱
まとめ
- eMudhra の中間 CA 8 つの秘密鍵が復元可能で、偽造証明書が作れる状態
- 0.12.14 より前のイメージは影響を受ける
- 0.x は
@cloudflare/sandbox@0.12.14へ今すぐ更新して再デプロイ - 1.x はイメージの再ビルドと、サンドボックス・スナップショットの作り直し
- 更新できないときは
interceptHttpsで Worker 経由にする暫定策もある
Sandbox SDK でエージェントやコード実行環境を動かしているみんなに、すぐ確認してほしい更新だよ!