PRD 0005: mitmproxy TLS interception for pipelock content scanning #8
Reference in New Issue
Block a user
Delete Branch "mitmproxy-tls-interception"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Captures the design for putting a mitmproxy sidecar in front of pipelock on the egress path so pipelock's body / header / MCP scanners see plaintext for the HTTPS hosts in the default allowlist. Implements Topology A from
docs/research/tls-mitm-for-pipelock.md(mitmproxy → pipelock → internet) with a per-bottle ephemeral CA, no manifest schema change in v1, and selective-bumping deferred until a pinning host appears.Context
DEFAULT_ALLOWLIST(all HTTPS).tests/integration/test_pipelock_blocks_secret_post.pyonly fires because it forces plain HTTP; real Claude Code traffic toapi.anthropic.comslips past.docs/research/tls-mitm-for-pipelock.md. Recommended Topology A: mitmproxy in front of pipelock.Third step of PRD 0005. The preflight now surfaces the TLS- intercept layer so the operator sees it before agreeing to launch. - Text output: one new line under the egress summary — "tls intercept : mitmproxy (per-bottle ephemeral CA, generated at launch)". - JSON output (--format=json contract): new egress.mitm: { enabled: true, ca_fingerprint: null } block. Fingerprint is always null at dry-run because the CA only exists after the sidecar starts; real launches print it as a stderr log line from provision_ca. - Pin the new shape in the dry-run integration test. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>Closing this PR.
The whole design rests on a falsified premise.
docs/research/pipelock-assessment.mdsays "Pipelock does not perform TLS inspection (no CA trust injection)" anddocs/research/tls-mitm-for-pipelock.mdinherits that claim — both wrong against pipelock v2.3.0. Pipelock has fulltls_interception(enabled,ca_cert,ca_key,cert_ttl,passthrough_domains, ...) plus apipelock tls init/install-ca/show-caCLI. Empirical proof from an impl-walkthrough spike: pipelock generated a CA-signed leaf for httpbin.org (subject: CN=httpbin.org, issuer: O=Pipelock; CN=Pipelock CA), terminated the agent's TLS, and emitted:Standalone, no mitmproxy in the path.
This means mitmproxy is unnecessary and the entire
mitmproxy → addon → pipelocktopology in this PR is dead weight. Replaced by a fresh PRD that simply enables pipelock's nativetls_interceptionblock. Both research notes need a correction in the new PR so they stop misleading.Follow-up PR: (pending).
didericis-claude referenced this pull request2026-05-27 16:38:22 -04:00
Pull request closed