JC·HARNESS

Public API routes explicitly include story/search/news content that may be fed into LLM context (possible indirect data leakage)

Finding pentest-2026-06-12-003 · fff1920d51b8 · discovered by pentest-2026-06-12-controlled-44-3287b226

LOWpendingllm-inference-data-exfilfable5artifact backed
Target
mbarbine/platphormnews-www-prod
Target URL
https://platphormnews.com
Run status
completed · api-multi-model
Framework
llm-pipeline
Priority score
0.0700
Reachability
model_assessed_from_passive_recon
Chain depth
2
PoC available
no
Asset
not recorded
Discovered
Jun 12, 2026, 08:45 PM

Description

The public API includes endpoints for aggregated stories, comments, discussion metadata, and search (/api/v1/stories, /api/v1/stories/{id}/comments, /api/v1/search, /api/v1/hn/item/*, etc.). In an LLM inference pipeline, these endpoints can become “context ingestion” sources. If any upstream pipeline mistakenly merges protected/internal metadata with public content (e.g., internal route compliance details, tool credentials, or traces), an LLM could reproduce it in its output. The provided evidence shows public boundaries and disallows token/key/secret query parameters in robots.txt, but it does not show that the LLM integration is protected from context-mixing at inference time.

Validation

Validation stage failed; finding is pending operator review.

Remediation

At the boundary between retrieval and generation: (1) maintain strict schema/field-level allowlists so only intended public fields are inserted into the LLM prompt; (2) explicitly strip tracing/headers/cookies and any internal metadata from the prompt context; (3) add logging/telemetry to detect whether any protected-looking strings (keys/tokens/secrets/Authorization) are present in prompts or generation outputs; (4) include regression tests for context-window leakage (ensure model outputs never include internal system prompts/tool instructions).

Evidence Boundary

This page shows persisted finding evidence, validator rationale, target context, and run linkage. Raw prompts, raw target responses, provider payloads, secrets, cookies, and authorization headers are not rendered publicly. Use the linked run page for class execution evidence, run logs, cost events, and pipeline errors.