geminiちゃんにgosecというセキュリティチェックツールを教えてもらったのでメモ
概要
goで作成されたプロジェクトに対してセキュリティ診断が行える静的ツールです
自分のプロジェクトに対して実施した結果、パスワードのハードコピーやXSSにつながる記述、適切なエラー処理が組み込まれていない部分などを検出することができました
使い方
自分はローカルインストールの方法で利用しました
インストールはgo installでインストールするだけです
go install github.com/securego/gosec/v2/cmd/gosec@latest
使い方も、goプロジェクトで以下のコマンドを実行するだけ
gosec ./...
結果が出力されます
以下は自分のプロジェクトに実施したときの出力結果の例です
G402 (CWE-295): TLS MinVersion too low. (Confidence: HIGH, Severity: HIGH)
130: // TLS設定
> 131: tlsConfig := &tls.Config{
> 132: ServerName: smtpAuthAddress,
> 133: }
134: smtpAuth := smtp.PlainAuth("", sender.fromEmailAddress, sender.fromEmailPassword, smtpAuthAddress)
出力された結果に沿って修正を行うことで、プロジェクト全体のセキュリティ強度をあげられそうですね
ちなみにgemini cliを使えば、go secのインストールから、指定のプロジェクトのスキャン、結果をまとめて修正方法を決めるまでやってくれるので便利です
go secについてもgeminiと雑談していて教えてもらったので、こういったツールは今後はAI連携が前提となっていきそうですね