← あませの棚

公開前チェックが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自身がそこから出ないことも同じくらい大事だった。

Share Safe Packの公開コードを見る →