mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-16 03:49:26 +00:00
Task 2.7. A canary is how a family says the vulnerability fired. Injection plants a row in an in-memory database that only an unconstrained query returns, file path plants a file under the scratch mount that only a traversal reaches, and deserialization plants an object that only an unsafe load reconstructs. Each prints its token on that path and no other, and the token is derived from the claim, so one family's oracle can never answer for another and one claim's canary can never answer for the next. A snippet that cannot reach the function prints nothing, which is a suspicion rather than a proof. Every template passes the existing snippet safety check before it can run, and the candidate is always imported from the read-only source mount. Nothing reaches proven on a machine's say-so alone. A second, independent judgement reads the snippet and what the sandbox printed and either confirms or drops the claim back to corroboration; a judge that cannot answer never promotes anything. The judge is told the claim and the output, never the answer key. Templates and oracle code live in the package, outside every directory a round may write. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01T7XD7x5KonMdmGRkp63EQG