Files
clawmates/crates/cm-api/src
Omar SobhandClaude Opus 5.5 5f69e88878
deploy / test (push) Successful in 5m0s
deploy / build (push) Successful in 5m57s
feat(gate): untrusted-target in shadow — stage 2 of argument provenance
Records (never refuses) a curl/wget to a host fetched content named, when the
command expands something at run time: the GET-exfil shape the floor leaves
open. The designed rule — body-carrying calls to tainted hosts — is dominated
by curl-body/curl-upload/wget-body, which already refuse every body, so it
would have shadowed nothing and looked like a clean result.

One case table drives the Rust predicate and the generated shell; they agree on
all ten cases (attack spellings, link-following, untainted expansion, subdomain
limit, non-fetches), and every case exits 0. The gate reads the file the tap
writes on both tiers (tested).

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-22 18:45:08 -05:00
..