偽シークレット(カナリア)+MITM でツールの外部送信を検証する
手元に偽の API キーやファイルを仕込み、MITM プロキシで HTTPS 通信をキャプチャして、AI ツールやアプリが何を外に送っているかを自分で確かめる。
いつ使うか
- 新しいコーディングエージェントや CLI、音声入力アプリなどを業務で使う前に「コードやシークレットを送っていないか」を検証したいとき。
- ベンダーの「修正した」「ローカル処理」という主張を検証したいとき(Typeless の解析事例では「On-device」表現と実態のずれが見つかった)。
手順
- カナリアを仕込む: 一意な文字列を含む偽の
.env、偽の AWS キー(形式だけ本物風)、偽のソースファイルを作業ディレクトリに置く。shecho "OPENAI_API_KEY=sk-canary-$(uuidgen)" > .env - MITM プロキシを用意: mitmproxy 等を起動し、OS / ツールにプロキシ証明書を信頼させる(
HTTPS_PROXY、NODE_EXTRA_CA_CERTS等)。 - 通常どおりツールを使う(初回ログイン、リポジトリを開く、プロンプトを送る)。
- キャプチャを検索: カナリア文字列、ファイル名、git bundle、ストレージ系エンドポイント(例:
/v1/storage、GCS)へのアップロードがないか確認。 - テレメトリの中身も確認し、プロンプト・コード・ファイル名・シークレットが含まれないかを見る。
注意点
- 証明書ピンニングしているアプリは MITM できないことがある。その場合はバイナリ解析・ネットワーク量の観測などで補う。
- 検証用の環境(別ユーザー / VM)で行い、本物のシークレットは置かない。
出典
- @arafatkatze · 2026-07-17
- @medmuspg · 2026-02-10 (Typeless の解析)