securego/gosec

Go security checker

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 38 minutes ago
Added to GitGenius on September 7th, 2026
Created on July 18th, 2016
Open Issues & Pull Requests: 4 (+0)
GitHub issues: Enabled
Number of forks: 708
Total Stargazers: 8,945 (+0)
Total Subscribers: 86 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

gosec is a static security analyzer for Go that inspects source code for security problems by scanning the Go abstract syntax tree and SSA code representation.

The tool addresses the need to automatically detect security vulnerabilities in Go codebases without manual review. It works by applying pattern-based rules to identify common security issues, using SSA-based analyzers to catch type conversion and cryptographic problems, and employing taint analysis to track how user input flows through code to dangerous functions like those handling SQL queries, system commands, file paths, and network requests. The taint analysis covers injection vulnerabilities including SQL injection, command injection, path traversal, server-side request forgery, cross-site scripting, log injection, SMTP injection, template injection, unsafe deserialization, and open redirect attacks.

Teams should adopt the tool if they want automated security scanning integrated into their Go development workflow. It suits projects of any size that need continuous security checks, particularly those handling user input or performing sensitive operations. The tool integrates directly into GitHub Actions workflows and can output results in SARIF format for GitHub's code scanning interface, making it straightforward to incorporate into existing CI/CD pipelines. It also works with Bazel's nogo framework through the standard Go analysis interface, and can be run locally from the command line with options to select specific rules, exclude file paths, and generate reports in multiple formats.

Development activity shows consistent engagement with the codebase through regular updates and maintenance. The project maintains active support for recent Go versions, requiring Go 1.25 or newer. The tool provides clear exit codes to indicate scan results and supports configuration options like the `-no-fail` flag for flexible integration scenarios. Documentation includes examples for handling private Go module dependencies in CI environments, demonstrating attention to real-world usage patterns.