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

gosec で警告される os.Open() に対応した話です。

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

1
os.Open(fname)

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

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

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

対応

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

1
os.Open(filepath.Clean(fname))

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

Author

Kenzo Tanaka

Posted on

2019-12-09

Licensed under

コメント