守りは生きていることを名乗らせる
守りは、破られるまで沈黙している。 鍵のマスク・入力の検査・衝突の検出—— 効いていても何も起きないので、効いていないことにも気づけない。 気づくのは破られたときで、そのときには手遅れになっている。
だから守りには、生きていることを毎回名乗らせる。
2026-08-23 に踏んだ 2 つの形:
- 死んでいたのに気づけなかった — 画面から API キーを伏せる処理が、OCR の 1 文字の 誤読で素通りしていた。起動しても何も出ないので、破られるまで分からなかった
- 直したのに載っていなかった — 修正後もまた漏れた。原因はプロセスを起動し直して いなかったこと。ファイルは直っているので、見ても分からない
対処はどちらも同じ形になった。起動時に自己診断を通し、結果を 1 行出す。
鍵のマスク: 有効 ← カナリアを実際に通した結果
GUI: http://127.0.0.1:8013/(ポートは空いていた) ← 検査が働いた証拠。空きでも出す
Parabel 1.0.0 起動(コード 27f0b960・…) ← 読み込まれたコードの指紋
要点が 3 つある。
- カナリアは実際に破られた形をそのまま使う。 作り話の入力にすると、現実の壊れ方を また取り逃がす
- 「正常」のときこそ出す。 異常時だけ出す設計だと、「異常が無い」と「検査が載って いない」を区別できない。実際それで切り分けが 2 往復止まった
- 指紋は import 時に 1 度だけ求める。 呼ぶたびに計算すると、起動後に編集された ファイルを読んでしまい、「動いているコード」ではなく「今あるコード」を答えてしまう
テストは「今のコード」を確かめる。動いているのは「起動したときのコード」。
出典:parabel(textproc.self_check_mask / SOURCE_FINGERPRINT・監査 parabel F5)。
関連:書いた当日に監査する、名付けた退避路は発火条件まで書く(名前が検証を代替する話)