{
  "id": 2492972,
  "title": "I pentested my own AI hub and shipped the method, not the map",
  "url": "https://urgent.news/2026/08/22/i-pentested-my-own-ai-hub-and-shipped-the-method-not-the-map",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-22T03:32:31.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/mk023/i-pentested-my-own-ai-hub-and-shipped-the-method-not-the-map-4k3n"
  },
  "original_language": "en",
  "account": "In a recent penetration test on his own AI-assisted coding infrastructure, the reporter discovered numerous serious defects within the system. The test involved a read-only audit of the code and configuration, as well as a dynamic run against the entire stack running locally in Docker. The reporter expected to find issues in the less-looked-at areas, but instead found that the majority of the defects were in controls written recently, often by the reporter themselves.\n\nThe reporter's observability hub consisted of six services within a single compose file, including a tunnel, OpenTelemetry Collector, Prometheus, Grafana, Loki, and a status API. The public surface consisted of three aggregate numbers, with everything else kept private. The reporter had implemented a privacy boundary as an allow-list rather than a deny-list, which proved to be a successful measure.\n\nOne of the significant issues identified was the lack of proper filtering of key attributes in Loki. The reporter had implemented a keep_keys function to filter keys, but the implementation was flawed, leading to sensitive information being exposed. Additionally, the reporter found that a line in the log path was meant to zero the trace ID on every record before storage, but due to a parsing error, it failed on every record, allowing sensitive data to pass through undetected.\n\nAnother issue discovered was a conditional failure in the OTTL (OpenTelemetry tracing) documentation. The reporter had written a proof that was meant to zero the trace ID on every record before storage, but due to a parsing error, it was actually failing on every record. This allowed sensitive data to be leaked through the logs.\n\nFinally, the reporter found that a dependency PR had moved the image version for the Collector, causing the proofs to continue pulling the old image and passing false tests. The reporter fixed this issue by writing a CI gate to prevent the mistake from happening again, but also discovered that the gate itself was born broken, allowing false positives to occur.\n\nOverall, the reporter's pentest revealed a multitude of issues within his own AI-assisted coding infrastructure, highlighting the importance of thorough testing and review of code and configurations.",
  "summary": "I ran a penetration test on my own infrastructure last week. No Burp Suite, no exploit fired at production, no CVE popped. The whole engagement came down to one habit: refusing to believe a control was working until I had watched it work. The target is a small observability hub I built for my own AI-assisted coding. Six services in one compose file: a tunnel, an OpenTelemetry Collector taking…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}