Repolode
securego

securego/gosec

Goのソースコードをスキャンし、よくあるセキュリティ脆弱性や安全でないコーディングパターンを検出する静的解析ツール。

スター
9,000
フォーク
731
未解決の Issue
5
最終コミット
4 日前

これは何?

gosecはコードのASTおよびSSA表現をたどり、Goのソースコードに潜むセキュリティ上の問題を検査します。ハードコードされた認証情報、安全でないAPIの使用、脆弱な暗号方式やTLS設定、ファイルの権限とパスの処理、禁止対象のimportを検出するルール群を備えており、各ルールはCWE識別子に対応しています。

taint解析ルールは、ユーザー入力から機密性の高いシンクへのデータフローを追跡します。SQL、コマンド、テンプレート、SMTPの各インジェクションに加え、SSRF、パストラバーサル、XSS、オープンリダイレクト、安全でないデシリアライズも検出対象です。検出結果は、#nosecまたは//gosec:disableコメントでインライン抑制できるほか、ルール、パス、深刻度、信頼度で絞り込めます。

結果はテキスト、JSON、YAML、CSV、JUnit XML、HTML、SonarQube、golint、SARIF形式で出力できます。また、GitHub Actionとして実行したり、go installでインストールしたりできます。

主な機能

  • 01ハードコードされた認証情報や脆弱な暗号方式など、よくあるGoのセキュリティ問題を検出するパターンベースのルール
  • 02ユーザー入力からSQL、コマンド、パス、SSRF、XSSの各シンクへのデータフローを追跡するtaint解析
  • 03#nosecまたは//gosec:disableによるインライン抑制と、任意で指定できる抑制理由の要件
  • 04パスに基づくルールの除外と、深刻度および信頼度によるフィルター
  • 05GitHub code scanning向けのSARIFを含む複数のレポート形式

ユースケース

  • GitHub Actionを使い、CIパイプラインでGoコードのセキュリティチェックを実行する
  • SARIFの結果をGitHub code scanningにアップロードし、プルリクエストのレビューに活用する
  • リリース前にGoのコードベースを監査し、インジェクション、脆弱な暗号方式、安全でないTLS設定を確認する

クイックスタート

  1. 1

    go install を使って gosec をインストールします(Go 1.25 以降が必要です)

    go install github.com/securego/gosec/v2/cmd/gosec@latest
  2. 2

    現在のモジュール内のすべてのパッケージをスキャンします

    gosec ./...

使う前に知っておきたいこと

  • インストールとビルドには Go 1.25 以降が必要です。

収録されている特集

トピック

よくある質問

gosec とは?
Goのソースコードをスキャンし、よくあるセキュリティ脆弱性や安全でないコーディングパターンを検出する静的解析ツール。 gosecはコードのASTおよびSSA表現をたどり、Goのソースコードに潜むセキュリティ上の問題を検査します。ハードコードされた認証情報、安全でないAPIの使用、脆弱な暗号方式やTLS設定、ファイルの権限とパスの処理、禁止対象のimportを検出するルール群を備えており、各ルールはCWE識別子に対応しています。
gosec は無料で使えますか?ライセンスは?
gosec は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
gosec は今もメンテナンスされていますか?
活発にメンテナンス中。gosec の最終コミットは 2026年11月3日 です。
gosec は何に使えますか?
GitHub Actionを使い、CIパイプラインでGoコードのセキュリティチェックを実行する SARIFの結果をGitHub code scanningにアップロードし、プルリクエストのレビューに活用する リリース前にGoのコードベースを監査し、インジェクション、脆弱な暗号方式、安全でないTLS設定を確認する
gosec のインストール方法は?
go install を使って gosec をインストールします(Go 1.25 以降が必要です): go install github.com/securego/gosec/v2/cmd/gosec@latest 現在のモジュール内のすべてのパッケージをスキャンします: gosec ./...
gosec はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/securego/gosec

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト