2026年9月、私たちは自分たちの製品に欠陥を見つけました。AI に渡す文章から秘密情報を取り除く部品が、「取り除いた」と報告しながら、実際には鍵を残していたのです。同じ種類の仕組みを使っている方の参考になるよう、何が起きたか、どう直したか、直す過程で何を間違えたかを記録します。
何が起きていたか
RCGov は、AI に読ませる文章を事前に検査し、秘密情報や不正な指示を含む部分を取り除く、私たちのオープンソースの部品です。欠陥は2つありました。
1. 専用の検出規則がない鍵は、「怪しい文字列」としか扱われなかった。 aws_secret_access_key = … のように書かれた AWS の秘密鍵や、sk- で始まる API キーには、専用の検出規則がありませんでした。これらは「乱数らしい長い文字列」という弱い判定にしか掛からず、その判定は誤検出が多いので、既定では「残して知らせる」扱いでした。つまり、ラベルまで付いた鍵が、取り除かれずに出力に残る状態でした。
2. 検出しても、その行が残った。 部品は、取り除いた部分の最初の1行を「見出し」として残す作りでした。ところが、設定ファイルの # AWS_SECRET_ACCESS_KEY=… のようなコメント行も、形の上では見出しです。鍵を検出して本文を取り除いたのに、鍵の書かれた行そのものが見出しとして残り、処理の記録にも同じ行が写っていました。
2つ目は、すでに検出できていた種類の鍵にも当てはまります。
どう見つけたか
RCGov を呼び出している製品の棚卸しです。似た処理が5か所に複製されていることが分かり、乱数で作った偽の鍵を渡して試したところ、鍵が残りました。事故の報告を受けたのではなく、自分で壊しにかかって見つけました。
影響の範囲と、使っている方へのお願い
- 影響する版: RCGov 0.2.0、および mobius-governance 0.8.3(RCGov を入れて外部の文書を渡していた場合)。
- 試験はすべて、形だけ本物に似せた乱数の文字列で行いました。本物の鍵は使っていません。
- この欠陥によって実在の鍵や利用者の情報が漏れたという報告は、2026年10月5日の時点で受けていません。ただし、これらはオープンソースの部品で、私たちは利用者の手元での使われ方を把握できません。「被害はなかった」と言い切ることはできません。
- お使いの方は、RCGov 0.2.3 以降、mobius-governance 0.8.4 以降に上げてください。影響する版を通して AI に渡した文書に、AWS の秘密鍵や
sk-で始まる API キーが含まれていた場合、または「#」で始まる行(.envのコメント行など)に鍵が書かれていた場合は、その鍵を作り直してください。 - 同じ処理の写しを持っていた私たちのほかの公開物(Hugging Face で公開しているモデル用のラッパーとパイプライン)も、2026年9月29日に直しました。それより前に取得した方は、最新版を取り直してください。RCGov だけを上げても、写しを持つ製品の2つ目の欠陥は直りません。
直す過程で間違えたこと
直した版を、公開前に独立した検証役に渡して反証させました。検証役は、私たちが用意した別の AI のセッションで、社外の査読ではありません。最初の5回は「公開不可」でした。
| 回 | 検証役が見つけたこと |
|---|---|
| 1 | 75通りの置き方のうち39通りで鍵が残った |
| 2 | 特定の文字列で処理時間が急増する(200KB で79秒)。数字を含まない鍵を見逃す。鍵ではない普通の識別子を消してしまう |
| 3 | 別の規則にも同じ処理時間の問題。鍵ではない識別子を消す例がまだある。区切り文字の入った短い鍵の3分の1を見逃す |
| 4 | 長い見出しの下で処理が10倍遅くなる。見出しの記録にパスワードが残る場合がまだある |
| 5 | 設定ファイルから読み込んだ規則で検出した見出し(不正な指示の文)が、そのまま残る |
公開できたのは、そのすべてを直した後です。最初の自己評価のまま公開していたら、「直した」と言いながら、検証役が試した75通りの半分以上で鍵を残していたことになります。
いまの状態と、残っている限界
- 修正版(RCGov 0.2.1〜0.2.3)を公開し、同じ処理を複製していた4つの製品を、1つの実装を呼ぶ形に統一しました。複製が5か所あったので、同じ欠陥を5か所で直すことになりました。
- 残っている限界は説明書(README)に列挙しています。ラベルのない40文字の文字列は、検出して一覧には出しますが、ハッシュ値と区別がつかないので取り除きません。記号を含むパスワードや短いパスワードは、取り除かれないことがあります。この部品はパスワード検査の道具ではありません。また、処理の途中で作業用フォルダに書き出すファイルには、見出しの行と入力の写しがそのまま残ります。作業用フォルダは、入力と同じ扱いで管理してください。
この記録から持ち帰れること
- 「検出した」と「取り除いた」は別です。 検出の記録だけを見ていると、取り除いたあとの文章に何が残っているかを見落とします。最後に AI に渡る文章そのものを見てください。
- 置き方を変えて試してください。 本文で消える鍵が、コメント行・見出し・表では残ることがあります。
- 直した本人の「直りました」は、検証ではありません。 私たちは5回、公開不可と判定されました。
- 同じ処理の複製は、同じ欠陥の複製です。
試験の具体的なやり方は効いているかの測り方に、修正の詳細(英語)は RCGov の説明書(README)と mobius-governance のセキュリティ勧告 MG-2026-004にあります。