Clang Static Analyzer vs gosec
Clang Static Analyzer
clang-analyzer.llvm.orggosec
github.comSide by side
| Figure | Clang Static Analyzer | gosec |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Windows | Yes | — |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Static Analysis Tools | 8.2 (#11) | 8.6 (#6) |
| False positives | The analyzer can falsely flag bugs in code that behaves correctly, with frequency varying by check. | The documentation says automated detection can produce false positives and supports code annotations to suppress verified safe findings. |
| License | Current LLVM releases are distributed under the Apache-2.0 with LLVM-exception license. | The repository states that gosec is licensed under Apache License 2.0. |
| Purpose | Clang Static Analyzer finds bugs in C, C++ and Objective-C programs. | gosec inspects Go source code for security problems by scanning its AST and SSA code representation. |
Plans
In their own words
Clang Static Analyzer
Clang Static Analyzer finds selected bugs in C, C++, and Objective-C programs. It uses symbolic execution to examine paths through code across function calls, and is part of the open-source Clang project. The analyzer is also implemented as a reusable C++ library for other tools and applications. Official releases include scan-build, a command-line tool for analyzing a codebase. On macOS, users can invoke it from Xcode; it can also run alongside clang-tidy when clang-analyzer checks are enabled. Clang-based IDEs may integrate the analyzer directly, and the documentation covers scan-build and CodeChecker. It runs on Linux, macOS, and Windows, and is self-hosted. The tool only detects bugs it has been designed to find, and analysis can take much longer than compilation. Some algorithms have exponential worst-case time, and results may include false positives. The listed free plan costs nothing.
gosec
gosec is a free Go source-code security checker that analyzes abstract syntax trees and static single assignment representations. It applies pattern rules, SSA analyzers, and taint analysis to detect issues including injection, path traversal, SSRF, unsafe deserialization, cryptography and TLS problems, blocklisted imports, and Go-specific risks. Findings map to Common Weakness Enumeration entries. Users can select or exclude rules, define path-based exclusions, and change settings such as audit mode. Reports are available as text, JSON, YAML, CSV, JUnit XML, HTML, SonarQube, golint, and SARIF. The project documents GitHub Actions and SARIF uploads to GitHub code scanning; its goanalysis package supports tools such as Bazel nogo. Local installation requires Go 1.25 or newer, with dependencies loaded through Go modules. An optional AI feature suggests fixes through Atlas Cloud, Gemini, Claude, OpenAI, or custom OpenAI-compatible APIs. Automated detection can produce false positives, which annotations can suppress. It is licensed under Apache License 2.0.