PRD 0006: pipelock native TLS interception #9
Reference in New Issue
Block a user
Delete Branch "pipelock-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
Turn on pipelock's built-in
tls_interceptionso its DLP / URL / header / MCP scanners fire on the plaintext of HTTPS requests. Per-bottle ephemeral CA generated viapipelock tls initat launch, public cert installed in the agent's trust store, private key dies with the sidecar on teardown. The single-pipelock-sidecar topology from PRD 0001 is otherwise unchanged.Why a new PR
PR #8 (
mitmproxy-tls-interception) is closed. It built a mitmproxy + addon chain on the inherited claim that pipelock could not MITM. That claim is false against pipelock v2.3.0 — empirical proof in the spike (pipelock generated a CA-signed leaf forhttpbin.org, terminated TLS, scanned the decrypted body, and blocked the credential POST). The right shape is to use pipelock's native feature instead of putting a second proxy in front of it.Context
docs/research/pipelock-assessment.mdcorrected in this commit; the staletls-mitm-for-pipelock.mdnote is removed.Third step of PRD 0006. 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 : pipelock (per-bottle ephemeral CA, generated at launch)"). - JSON output (--format=json contract): new egress.tls_interception: { enabled: true, ca_fingerprint: null } block. Fingerprint is always null at dry-run because the CA only exists after launch; 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>