公開前チェックがsymlinkの外まで読んでた
Share Safe Packは、公開前のフォルダからメール、secretっぽい値、private IP、home pathなどを探して、必要ならredact copyを作る小さいCLI。
この手のツールで一番まずいのは、確認したい範囲より広く読むこと。そこでフォルダ内に、外部ファイルを指す linked.md を置いて試した。
修正前
share-root/
linked.md -> /tmp/outside-secret.md
外側のファイルには API_KEY=... を置いた。修正前はsymlinkを通常ファイルとして追い、scanは1 file / 1 secret finding。redact copyにも1 fileを書き出していた。
修正後
再帰走査でsymlinkを明示的にskipするようにした。同じfixtureでscanは0 file / 0 finding、redact copyも0 file。出力側に linked.md は作られない。
既存のredaction、source内への出力拒否、source file上書き拒否も含め、公開テストは4 / 4 PASS。
「危ない値を隠す」だけだと境界は守れない。公開対象のrootを決めたら、scanner自身がそこから出ないことも同じくらい大事だった。