テック技報最新号へ →
セキュリティ

偽シークレット(カナリア)+MITM でツールの外部送信を検証する

手元に偽の API キーやファイルを仕込み、MITM プロキシで HTTPS 通信をキャプチャして、AI ツールやアプリが何を外に送っているかを自分で確かめる。

@arafatkatze · 2026-10-09
#ai-agent#privacy#verification#mitm#secrets

いつ使うか

  • 新しいコーディングエージェントや CLI、音声入力アプリなどを業務で使う前に「コードやシークレットを送っていないか」を検証したいとき。
  • ベンダーの「修正した」「ローカル処理」という主張を検証したいとき(Typeless の解析事例では「On-device」表現と実態のずれが見つかった)。

手順

  1. カナリアを仕込む: 一意な文字列を含む偽の .env、偽の AWS キー(形式だけ本物風)、偽のソースファイルを作業ディレクトリに置く。
    sh
    echo "OPENAI_API_KEY=sk-canary-$(uuidgen)" > .env
  2. MITM プロキシを用意: mitmproxy 等を起動し、OS / ツールにプロキシ証明書を信頼させる(HTTPS_PROXY、NODE_EXTRA_CA_CERTS 等)。
  3. 通常どおりツールを使う(初回ログイン、リポジトリを開く、プロンプトを送る)。
  4. キャプチャを検索: カナリア文字列、ファイル名、git bundle、ストレージ系エンドポイント(例: /v1/storage、GCS)へのアップロードがないか確認。
  5. テレメトリの中身も確認し、プロンプト・コード・ファイル名・シークレットが含まれないかを見る。

注意点

  • 証明書ピンニングしているアプリは MITM できないことがある。その場合はバイナリ解析・ネットワーク量の観測などで補う。
  • 検証用の環境(別ユーザー / VM)で行い、本物のシークレットは置かない。

出典

X の元の投稿を開く