Code Assisted Pentesting

Source Code Assisted PentestingThe agent reads the repo before it attacks.

Hand the agent your source and it stops guessing where the input lands.
It traces the sink back to a route, builds the request that reaches it, and fires.

Trusted by security teams at

AWSPayPalUberCiscoCheggFortinetByteDanceDuckDuckGoFordConvexPhilipsPfizer

What is source code assisted penetration testing?

Source code assisted pentesting, sometimes called white box or gray box testing depending on how much else the tester gets, means the person attacking your app can also read how it was built. They see the routing table, the ORM calls, the auth middleware, and the spots where a developer wrote a raw query. Coverage goes up because nothing stays hidden behind a form that only appears for admins. Somebody holding the repo finds that path by reading the router.

What changes when the agent has the code

Reading the source turns a guessing game into a targeted one.

Finds the hidden routes

Admin endpoints, debug handlers, and feature-flagged paths show up in the router even when no link points at them.

Traces sink to request

The agent follows a dangerous call back through the handler and works out which HTTP request reaches it.

Confirms by exploiting

A suspicious line in the code becomes a finding only after the agent lands the request against the running app.

Cuts the false positives

Running the exploit tells you whether the sanitizer three frames up already handled the sink that static analysis flagged.

Patches the real line

Knowing the file and the function means the fix arrives as a diff against that exact line.

Scopes to the diff

On a pull request the agent limits itself to what changed, which keeps the run short enough to gate a merge.

How the boxes compare

Three ways to scope an engagement, sorted by how much the tester knows going in.

Black box

No internal knowledge. Closest to an outside attacker, and slowest to reach anything deep.

Gray box

Credentials and some documentation. The usual shape of a commissioned engagement.

White box

Full source and architecture. Highest coverage per hour of testing.

Code assisted testing vs black box testing

Same agent, different amount of information at the start.

Undocumented endpoints

With source access

Found in the router

Black box only

Found by luck
Path from input to sink

With source access

Traced through the code

Black box only

Inferred from responses
Auth logic flaws

With source access

Read the middleware

Black box only

Probe and guess
Time to first real finding

With source access

Minutes

Black box only

Hours
False positives

With source access

Low, exploit confirms every report

Black box only

Low, though coverage is thinner
Fix precision

With source access

Patch on the exact line

Black box only

General guidance
Runs on a pull request

With source access

yes

Black box only

no
Source leaves your network

With source access

no

Black box only

no

From issue to fix in seconds

Find critical issues, auto-validate, and auto-fix with merge-ready PRs.

Issues/STR-00847

SSRF via URL Parameter in /api/proxy

OpenHigh · 8.6CWE-918

TL;DR

The /api/proxy endpoint accepts a user-supplied URL without validation. An attacker can access internal services, read cloud metadata, and exfiltrate credentials.

Impact

Access to cloud metadata at 169.254.169.254, potential credential theft, and internal network scanning.

Location

acme/api · proxy-handler.ts:23
GET/api/proxy?url=

Severity

High

CVSS

8.6

Fix Effort

Low

Discovered

2h ago

Discover & Validate

Pentests your entire attack surface continuously. Reproduces each finding, confirms exploitability with proof, and prioritizes by real impact.

FixReproduction

How do I fix it?

Validate and restrict the target URL using an allowlist of permitted hostnames. Reject private/internal IP ranges and enforce HTTPS-only.

proxy-handler.ts:23-29Copy
2323 const targetUrl = req.query.url;
24 const resp = await fetch(targetUrl);
24 const parsed = new URL(targetUrl);
25 if (!ALLOWED_HOSTS.has(parsed.hostname)) {
26 throw new ForbiddenError("blocked");
27 }
28 const resp = await fetch(parsed.href);
2529 return res.json(await resp.json());
Fix verified — vulnerability no longer exploitable
PR #247 fix/ssrf-proxy-handler ready to merge

Auto-Fix

Generates a fix, retests to confirm the vulnerability is gone, and delivers a merge-ready PR. Review, merge, done.

Frequently asked questions

Questions about white box and code assisted engagements.

An engagement where the tester works with your repository open alongside the running application. Reading the code reveals routes, sinks, and auth logic that a black box tester would have to discover by probing.

Point it at your repo

Connect a repository and the first review starts right away.