Sample report · Real scan · Live verification links
We scanned the most deliberately insecure app on GitHub.
Twice.
OWASP Juice Shop is the industry’s reference vulnerable application — insecure on purpose, packed with planted flaws, and used to train security teams worldwide. We pointed Attest at it, checked it against the OWASP Top 10 (2025), and published the signed reports below. Then we ran the identical scan again to show you what “deterministic” actually means.
Spoiler: it failed. Grade F. That is the product working — a scanner that hands the world’s most broken app a passing grade would be lying to you.
What it found
166 unique deterministic findings from Semgrep, gitleaks, and checkov — each citing the tool, the rule, and the exact file and line, mapped to every OWASP clause it violates. A few highlights:
A hardcoded RSA private key in lib/insecurity.ts:21 — the key that signs every session token in the app.
gitleaks · A04 Cryptographic failures
User input flowing into eval() in routes/userProfile.ts:65 — remote code execution served over HTTP.
semgrep · A05 Injection
SQL injection in the login route itself: a user-tainted Sequelize query at routes/login.ts:34.
semgrep · A05 Injection
CI workflows interpolating untrusted GitHub context into run: steps — code injection into the build runner (.github/workflows/*.yml).
semgrep · A05 Injection
Load balancers pinned to TLS versions below 1.2 in terraform/networking.tf:160.
semgrep · A04 Cryptographic failures
The receipt: same input, same verdicts
We ran the identical scan on the identical commit twice, 96 minutes apart. Every deterministic control returned the same status, backed by the same evidence — the same tools, rules, files, and lines, finding for finding. Open both reports above and compare them yourself; that is the point.
Eight of ten controls are decided deterministically on this repo. A scanner that reads the same code with the same pinned rules returns the same answer — your auditor can run gitleaks, Semgrep, osv-scanner, and checkov on commit 1618a611 and reproduce every row of this table independently.
And the two controls that are not deterministic — labeled, and proven
Two OWASP categories — A06 Insecure design and A10 Mishandling of exceptional conditions — have no scanner that can measure them, so Attest has AI read the code and judge them. Those verdicts are stamped AI-ASSESSED — advisory, not reproducible, and kept visually separate from the deterministic ones.
We mean that label literally, and this pair of runs proves it: between run 1 and run 2, the AI’s verdict on A06 shifted from Gap to Partially met (moving the overall score from 25 to 30) — both runs spotted the same weak password-reset design and the same rate-limiter bypass, but weighed them differently. That is exactly why compliance evidence should be deterministic first, and why every AI verdict in an Attest report is labeled as what it is. A tool that graded all ten controls with AI would flip like this everywhere — and would not tell you.
This is the difference between a compliance answer you can defend and one you can only hope survives a second run.
Now imagine this report about your repository.
Read-only, no build, any stack. A signed, evidence-backed report against any of 65 frameworks — HIPAA, SOC 2, PCI DSS, ISO 27001 — in minutes.
Get a One-Time Report — $19OWASP Juice Shop is an intentionally vulnerable application maintained by the OWASP Foundation for security training, and is MIT-licensed; its terrible score here is by design — both the app’s and ours. OWASP® and Juice Shop are trademarks of the OWASP Foundation, used here nominatively to describe what was scanned; Attest is independent and is not affiliated with, certified by, or endorsed by OWASP. Attest reads code and produces technical evidence for auditors; it does not issue certifications. The AI-assessed commentary accompanying deterministic verdicts may vary in wording between runs; the deterministic statuses and evidence do not.