長生村本郷Engineers'Blog

千葉県長生村本郷育ちのエンジニアが書いているブログ

gosec で警告される os.Open() 対応

gosec で以下のようなコードがあると

os.Open(fname)

以下のように警告されます。

G304 (CWE-22): Potential file inclusion via variable (Confidence: HIGH, Severity: MEDIUM)

変数でファイルパスを指定するのは、意図しないファイルパスを指定される危険性があります。

対応

filepath.Clean() を使用し、よろしくないパスを綺麗に整えるようにします。

os.Open(filepath.Clean(fname))

以上 ご参考になれば幸いです。