An HTTP 200 response is not proof of a secret leak

A practical way to separate an exposed file from a friendly fallback page when reviewing automated security findings.

Luca Deguin

By Luca Deguin

Black title on a yellow paper collage: An HTTP 200 response is not proof of a secret leak.

A scanner requests a path that often contains secrets. The server replies with 200 OK. It is tempting to call that a leak, but the status code only tells us that the server returned a response. Many applications return the same HTML page for every unknown path.

A useful security finding needs to answer a harder question: did the response contain the sensitive file, or did the application simply render its normal fallback?

Start with the response body

Compare the suspected response with a known missing path on the same site. If both have the same title, structure and body, the apparent file exposure may be a single page application fallback. A login page, CDN error or branded 404 can create the same confusion.

Then look for evidence that belongs to the file type being tested. A response for an environment file might contain assignment syntax and recognizable configuration keys. A response for a repository metadata path needs a different signature. One generic keyword is rarely enough, because ordinary documentation can mention the same terms.

Synthetic comparison: a request to an environment file path and a missing path both return HTTP 200, HTML, the same page title and no file signature.

Synthetic comparison. A suspected file and a missing path return the same HTML page. The response does not establish a leak.

Keep the conclusion narrower than the evidence

If the content matches the expected format, the finding can describe what was observed and where it was found. If the response is ambiguous, report it as a lead for manual review. If it is clearly the site shell, do not call it a secret leak.

The report should include enough context to reproduce the observation without copying credentials into logs or a shared report. A redacted excerpt or a structural signature is usually more useful than a raw dump of sensitive material.

Why this matters beyond one scan

False alarms cost time. They also train teams to distrust future findings, including the real ones. Evidence based classifications make an automated audit easier to act on: confirmed observations can be handled first, while weaker signals remain visible without pretending to be proven vulnerabilities.

VICE applies this distinction in its open source engine. The goal is not to make every result sound certain. It is to make the limits of each result clear enough for a builder to decide what to verify next.

When you review any scanner output, ask for the response body, the expected file signature and a comparison with an ordinary missing path. A 200 response is a starting point for investigation. It is not the finding itself.