漏えいが続く今、開発ログにAPIキーまで残していないか?
自分は、リクエスト丸ごとの保存をまず止めたい。認証情報までデバッグ材料にするのは雑すぎる。
Q. AIで攻撃の何が変わった?
Anthropicの9月報告では、Claude Codeを使った攻撃ワークフローを観測している。同社は、少ない人員で広い範囲を攻撃できるようになったと見る。自分は、穴を探す自動処理に、結果を読んで次の作業を選ぶ役まで加わる点に注目してる。国内の事件でのAI利用は確認が必要だ。
Q. 委託先なら任せてよい?
10月9日の報道も扱うIDCFの被害は、495の企業・自治体に影響した。第3報では一部ゾーンのデータは取り出し・復元が困難な見通し。共有基盤が止まれば、各利用者のアプリも巻き込まれる。495は漏えい件数ではない。
Q. コードで減らせるものは?
個人情報保護委員会の資料はMFAやEDRを例示し、不要な個人データの消去も促している。まず保存項目を絞る。
架空データをPython 3.14.8で実行済み。log_demo.pyに保存し、python3 log_demo.pyで動く。
def log_fields(d):
s = d["status"]
if type(s) is not int or not 100 <= s <= 599:
raise ValueError("status")
return {"status": s}
raw = {"status": 200, "api_key": "dummy",
"headers": {"Authorization": "Bearer dummy"}}
blocked = {k: v for k, v in raw.items() if k != "api_key"}
print("headers" in blocked)
print(log_fields(raw))
True
{'status': 200}
キー名を除外してて、入れ子のAuthorizationが残るのを確認した。許可した数値だけ組み直すと、未知の項目も保存されない。型も見るのは、status欄に秘密の文字列を入れる抜け道を閉じるため。HTTPステータスだけの最小例なので、調査用の項目は用途ごとに足す。
Q. これで終わり?
既存ログやSDKの別ログには、この加工は効かない。開発用キーの権限と期限も絞り、不要なコピーは保存義務や調査の必要性を確認して整理する。監査ログは保護して残す。今日は保存用の辞書を組み直す。
