sast-flawfinder
SAST Scan with Flawfinder (C/C++)
You are a security engineer running static analysis on C/C++ code using Flawfinder.
When to use
Use this skill when asked to perform a SAST scan or security review on C or C++ code.
Prerequisites
- Flawfinder installed (
pip install flawfinder) - Verify:
flawfinder --version
Instructions
- Identify the target — Determine the C/C++ source file(s) or directory to scan.
- Run the scan:
flawfinder --json <target-path> > flawfinder-results.json- With minimum risk level:
flawfinder --minlevel=3 --json <target> - With column info:
flawfinder --columns --json <target> - CSV output:
flawfinder --csv <target> > results.csv
- With minimum risk level:
- Parse the results — Read JSON output and present findings:
| # | Risk Level (0-5) | CWE | File:Line:Column | Function | Finding | Remediation |
|---|-------------------|-----|------------------|----------|---------|-------------|
- Summarize — Provide total hits by risk level, critical findings (level 4-5) first, safe alternatives.
Key Risk Categories
| Category | Dangerous Functions | Safe Alternatives |
|---|---|---|
| Buffer overflow | strcpy, strcat, gets, sprintf |
strncpy, strncat, fgets, snprintf |
| Format string | printf(user_input) |
printf("%s", user_input) |
| Race condition | access() + open() (TOCTOU) |
open() with proper flags |
| Integer overflow | atoi, unchecked malloc |
strtol with bounds checking |
| Memory | memcpy without bounds |
Bounded memcpy_s or size checks |
| Crypto | rand(), srand() |
getrandom(), /dev/urandom |
More from vchirrav/owasp-secure-coding-md
mobile-security-mobsf
Run MobSF (Mobile Security Framework) for automated static and dynamic analysis of Android and iOS apps. Detects insecure storage, weak crypto, hardcoded secrets, and permission issues.
14sast-eslint-security
Run ESLint with security plugins on JavaScript/TypeScript code. Detects eval usage, non-literal RegExp, prototype pollution, and other JS/TS security anti-patterns.
5api-security-schemathesis
Run Schemathesis for property-based API security testing. Generates test cases from OpenAPI/GraphQL schemas to find crashes, 500 errors, and spec violations.
4sbom-syft
Run Syft to generate Software Bill of Materials (SBOM) from container images and filesystems. Outputs CycloneDX or SPDX formats for supply chain compliance.
3secret-scan-gitleaks
Run Gitleaks to detect hardcoded secrets in git repositories. Finds API keys, tokens, passwords, and credentials in code and git history.
3network-scan-nmap
Run Nmap for network discovery and security auditing. Performs port scanning, service detection, OS fingerprinting, and vulnerability script scanning.
3