.png&w=828&q=75)
The problem. Engineers log for debugging — logger.info(f"New patient: {patient}"), logger.exception("Card declined: %s", card), a forgotten print(f"issued token {jwt}"). Those lines ship straight to Datadog, ELK, Sentry, and S3, get retained for months, and are readable by far more people than the production database — a direct PCI DSS / GDPR exposure. Static scanners can't catch this because they read code, not runtime output: a leak through an object's __repr__, an f-string, a third-party library's debug log, or an exception traceback is invisible to grep. It only appears when the code actually runs. The solution. LogLeak instruments the runtime instead of the source. It runs a target app's own pytest suite with a plugin that hooks the logging system and stdout, injects seven fake-but-valid "canary" PII values (Luhn-valid card, real-shaped CNIC, IBAN that passes mod-97, etc.) into the test fixtures, and traces every log line, print, and traceback back to the exact file:line that produced it. A canary showing up in a log is a confirmed leak with zero ambiguity; pattern matches without a canary are flagged as suspected. Every value is masked before it leaves the detection engine — nothing downstream, including IBM Bob, ever sees raw PII. Target users are backend engineering and security teams shipping apps that touch personal or payment data, who need to close this class of bug before it becomes an incident, plus SREs who want a live tripwire in production. How they interact with it: four CLI commands — logleak scan (find leaks, produce a masked report), logleak fix (hand the report to IBM Bob in a dedicated logleak-fixer mode, sandboxed to a disposable workspace copy), logleak verify (re-run the same flows and pass only if all 6 checks succeed — no confirmed leaks, no critical suspected leaks, tests still pass, no over-redaction of useful IDs, ≥90% of log sites still exercised, and a safety-net redaction filter is active), and logleak serve, a before/after dashboard. A fifth command, logleak watch, stays attached to a running process (via piped stdout, a tailed file, or an in-process handler) and fires an instant console + HTML email alert the moment any PII appears in a live log. What makes it creative and unique is the combination of canary-based ground truth (turning "might leak" into "is a leak"), an anti-cheat verification gate that stops the AI fixer from just deleting log lines to pass, and a live production watcher that turns a one-time scan into an ongoing safety net. A bundled demo app, CareDesk, ships with 7 realistic planted leaks (repr leaks, card numbers in logs and tracebacks, a stray JWT print, a third-party library leak) plus decoys that must not be flagged, so the whole pipeline is independently verifiable end to end.
27 Sep 2026