FlawPilot
Code security

Find the flaws in your source, not just your site

A live-site scan sees what a visitor sees. A code scan reads the code itself - so it catches the injection path, the committed API key, and the vulnerable package before any of it reaches production.

Analysis complete

Code scan report

For acme/checkout-api

0Overall
Critical
2
High
5
Medium
11
Low
8
CriticalSQL injection in user lookup
HighAWS access key committed to history
MediumPrototype pollution in lodash 4.17.15
Scan dimensions
3
Git history searched
Full
CycloneDX export
SBOM

Insecure code, pinned to the exact line

Static analysis reads your source for the patterns that turn into incidents - SQL and command injection, XSS, weak cryptography, path traversal, unsafe deserialization. Every finding lands with the file, the line, and the rule that matched, so triage starts at a location instead of a search.

Code findings

3
Static analysis
Critical

SQL injection in user lookup

src/api/users.ts:42 - the query interpolates `userId` instead of binding it.

High

Command injection via child_process

src/jobs/export.ts:88 - user input reaches exec() unescaped.

Medium

Weak hash used for a digest

src/utils/cache.ts:18 - MD5 where SHA-256 is expected.

Secrets, across your whole git history

Deleting a key from a file does not remove it from the repository - it stays readable in every earlier commit. The secrets scan walks your full history, not just the current checkout, so a credential someone removed months ago is still surfaced while it is still live.

Exposed secrets

3
Full history
High

AWS access key committed to history

.env.backup:3 - the file is deleted, the credential is not.

High

Database password in a config file

config/staging.yml:12 - plaintext connection string.

Medium

Private key checked into the repo

deploy/id_rsa - an unencrypted RSA private key.

Dependencies, with the version that fixes them

Known CVEs across direct and transitive packages, each reported with the version it is fixed in - so the remediation is a version bump you can act on, not a CVE id you have to go research. Every scan also produces a downloadable CycloneDX SBOM.

Vulnerable dependencies

3
CVE + SBOM
Medium

Prototype pollution in lodash 4.17.15

CVE-2020-8203 - fixed in 4.17.19, no API changes needed.

Medium

ReDoS in a transitive parser

Pulled in three levels deep; fixed upstream in 6.5.4.

Low

Outdated package with no known CVE

Two majors behind; worth planning, not urgent.

Code quality, kept separate from security

Complexity, duplication and dead code are not vulnerabilities, but they are what makes a codebase expensive to change and easy to break. This dimension is scored on its own and never blended into your security score, so a maintainability problem never masks a real risk, and a clean security scan never hides a codebase nobody can safely touch.

Code quality

3
Maintainability
Medium

Function too complex to safely change

src/orders/pricing.ts:44 - cognitive complexity well past the threshold.

Medium

Duplicated block across two modules

The same logic in two files, already drifting apart.

Low

Unused export and dependency

Dead code still shipped in the bundle.

Frequently asked questions

A standard scan analyses your deployed site over the public internet - headers, performance, DNS, SEO. A code scan reads the source code itself, which catches a different class of problem: injection paths, committed secrets, vulnerable dependencies, and code quality issues that a live-site scan has no way to see.

Ready when you are

Scan your first repository

Connect a repo, pick a dimension, and see the findings - scored and triageable, right alongside your site scans.

Run a code scan

Featured on

Featured on tinyshelf
Featured on saasfame.com
Featured on toolfame.com
Featured on aitoolfame.com