Sample report · Illustrative

Security audit: acme/web

Repository
acme/web · main
Method
Three AI models, cross-checked
Findings
15 across five severities
Status
Example only

01

Executive summary

This fictional web application has 15 sample findings across five severity levels. The most urgent is an order-search query that inserts user input directly into SQL.

Recommended first action: replace the interpolated query with a parameterised one, then test the order-search route with ordinary and malicious input. Review the high-severity items before the next production release.

Repository names, counts, code and findings on this page are illustrative.

02

Finding detail

CriticalYKB-001CWE-89OWASP 2021 A03: Injection

SQL injection in order search

src/api/orders.ts:41–44 · High confidence

What we found

The route builds a SQL statement by inserting req.query.ref into the query string. A crafted reference can change what the query does.

Observed code · src/api/orders.ts
41const ref = req.query.ref;42const orders = await db.query(`43 SELECT * FROM orders WHERE ref = '${ref}'44`);

Why it matters

If the route is reachable and the database account can see sensitive records, an attacker may read data outside the intended lookup. Real impact depends on authentication, database permissions and deployment, so verify it in context.

Suggested fix

Use your driver’s parameter binding. This example uses PostgreSQL-style placeholders. Keep the route’s existing authentication and authorisation checks.

Suggested implementation · src/api/orders.ts
41const ref = req.query.ref;42const orders = await db.query(43 'SELECT * FROM orders WHERE ref = $1', [ref]44);

Severity reflects likely impact, not proven exploitability. Validate each finding in context.

03

Other findings

SeverityFindingLocationMapping
HighMissing order ownership checksrc/api/order.ts:27CWE-862 · A01
HighHard-coded API key in configsrc/config/service.ts:12CWE-798 · A07
HighUnrestricted file uploadsrc/api/uploads.ts:18CWE-434 · A04
MediumMissing CSRF on admin formsrc/api/admin.ts:33CWE-352 · A01
MediumSession cookie missing secure flagsrc/auth/session.ts:21CWE-614 · A05
LowVerbose error details in responsesrc/middleware/errors.ts:15CWE-209 · A04
InfoDocument security response headerssrc/server.ts:7Review note · A05

8 of 15 sample findings shown. A real report gives each one the full detail above.

04

Retest plan

  1. Confirm the query uses bound parameters.

    Check this route and any shared query helper so request input can’t become part of the SQL.

  2. Exercise the route in a safe environment.

    Try a normal reference, one containing a quote, and an injection-shaped string. Only the intended lookup should run.

  3. Verify access boundaries.

    Make sure users can only retrieve orders they’re allowed to see. Parameterisation doesn’t provide authorisation.

  4. Request your free retest.

    One rescan within 30 days is included. Send the updated revision and we’ll check the finding against your fix.

05

Scope and context

What an audit covers

Three AI models review one repository and cross-check their findings. The report includes severity, evidence, code location, suggested fixes, and OWASP and CWE mapping.

How to read this report

Yakiba is a fully automated code review with no human reviewer. It is not a penetration test or compliance attestation. Findings need validation in context, and no automated review can guarantee code is free of vulnerabilities.

Get this for your repo.

US$450 · Report within 48 hours · Free retest

Start an audit