{"api":"v1","generated_at":"2026-10-03T08:46:07.459Z","licence":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"TOLL, with a link to the page cited"},"page":"https://tollindex.com/e/shellpermit-schemasure-com-v1-guard-shell-bbca7e","pinned_page":"https://tollindex.com/e/shellpermit-schemasure-com-v1-guard-shell-bbca7e/at/2026-10-03T05-16Z","pinned":false,"method":"https://tollindex.com/ledger/method","snapshot_at":"2026-10-03T05:16:39.214Z","snapshot_stamp":"2026-10-03T05-16Z","endpoint":{"slug":"shellpermit-schemasure-com-v1-guard-shell-bbca7e","canonical_url":"https://shellpermit.schemasure.com/v1/guard/shell","resource":"https://shellpermit.schemasure.com/v1/guard/shell","http_method":"POST","type":"http","x402_version":2,"registries":["cdp"],"primary_registry":"cdp","curated_by_coinbase":false,"description":"Decide whether an agent-authored bash command complies with an execution policy, using a real shell tokenizer rather than pattern matching. Catches recursive deletes, force pushes, cluster and infrastructure teardown, raw device writes, path escapes, privilege escalation, and curl-piped-to-shell through pipelines, substitutions, quoting games and base64. Returns reason codes with spans and an optional short-lived permit bound to the exact canonical command. Never executes anything.","service_name":"ShellPermit","declared_category":null,"declared_tags":["shell","bash","command","guard","policy"],"route_template":null,"registry_updated":"2026-10-02T07:41:46.357Z"},"derived":{"note":"fields no registry supplies; TOLL derives them and marks them derived on the page","title":"guard shell","category":"compute","first_observed_by_toll":"2026-09-19T20:39:01.196Z","last_observed_by_toll":"2026-10-03T05:16:39.213Z","observation_began":"2026-09-10"},"presence":{"listed_now":true,"first_absent_at":null,"delisting_confirmed_at":null,"events":[{"registry":"cdp","at":"2026-09-19T20:39:01.197Z","event":"listed"}]},"accepts":[{"registry":"cdp","ordinal":0,"network":"eip155:8453","asset":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","asset_name":"USD Coin","symbol":"USDC","decimals":6,"amount_display":"0.015 USDC","amount_units":0.015,"decimals_known":true,"pay_to":"0x9876af0F6D8Ed5155Cd02d1ca56D128601612690","scheme":"exact"}],"counters":{"observed_at":"2026-10-03T05:16:39.214Z","calls_30d":16,"unique_payers_30d":1,"last_called_at":"2026-10-02T07:41:46.123Z"},"validation":{"latest":{"observed_at":"2026-10-03T07:17:05.054Z","state":"pass","failed_checks":[],"endpoint_http_status":402,"run_id":"daily-2026-10-03"},"uptime":[{"days":7,"observed":5,"passed":5,"ratio":1},{"days":30,"observed":9,"passed":9,"ratio":1},{"days":90,"observed":9,"passed":9,"ratio":1}],"history_90d":[{"observed_at":"2026-10-03T07:17:05.054Z","state":"pass","failed_checks":[],"run_id":"daily-2026-10-03","state_changed":false},{"observed_at":"2026-10-02T16:26:00.388Z","state":"pass","failed_checks":[],"run_id":"daily-2026-10-02","state_changed":false},{"observed_at":"2026-10-01T09:10:33.015Z","state":"pass","failed_checks":[],"run_id":"daily-2026-10-01","state_changed":false},{"observed_at":"2026-09-30T08:37:23.464Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-30","state_changed":false},{"observed_at":"2026-09-29T20:44:30.101Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-29","state_changed":false},{"observed_at":"2026-09-23T07:41:02.792Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-23","state_changed":false},{"observed_at":"2026-09-22T07:54:44.209Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-22","state_changed":false},{"observed_at":"2026-09-21T08:16:50.269Z","state":"pass","failed_checks":[],"run_id":"daily-2026-09-21","state_changed":false},{"observed_at":"2026-09-20T18:24:04.569Z","state":"pass","failed_checks":[],"run_id":"new-after-daily-2026-09-19","state_changed":true}]},"seller":{"wallet":"0x9876af0F6D8Ed5155Cd02d1ca56D128601612690","page":"https://tollindex.com/seller/0x9876af0F6D8Ed5155Cd02d1ca56D128601612690","endpoints":11,"hosts":10},"reports":0,"registry_record":{"cdp":[{"tags":["shell","bash","command","guard","policy"],"type":"http","accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","extra":{"name":"USD Coin","version":"2"},"payTo":"0x9876af0F6D8Ed5155Cd02d1ca56D128601612690","amount":"15000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":60}],"quality":{"lastCalledAt":"2026-10-02T07:41:46.123Z","l30DaysTotalCalls":16,"l30DaysUniquePayers":1},"resource":"https://shellpermit.schemasure.com/v1/guard/shell","extensions":{"bazaar":{"info":{"input":{"body":{"shell":"bash","policy":{"cwd":"/srv/app","allowed_roots":["/srv/app"],"allow_destructive":true,"allow_network_egress":false},"command":"rm -rf ./dist && npm run build","audience":"executor:acme-prod-01","issue_permit":true},"type":"http","method":"POST","bodyType":"json"},"output":{"type":"json","example":{"ok":true,"result":{"permit":"eyJhbGciOiJFZDI1NTE5Iiwia2lkIjoi…","cmd_hash":"sha256:0f4c…1c2d","cmd_fingerprint":"a1b2c3d4e5f60718","canonical_command":"rm -f -r ./dist && npm run build"},"verdict":"pass","evidence":[],"warnings":["cmd_fingerprint is ADVISORY and must not be used for authorization."],"confidence":1,"risk_codes":[]}}},"schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["shell","command"],"properties":{"env":{"type":"object","description":"Environment the executor will run with, used only for static expansion so that paths like \"$HOME/.cache\" can be resolved and decided rather than reported as unresolvable.","additionalProperties":{"type":"string"}},"shell":{"enum":["bash"],"type":"string","description":"Required. Only bash is supported in v1: a permit issued under one shell's grammar and executed under another is a parser differential with a signature on it."},"policy":{"type":"object","properties":{"cwd":{"type":"string","description":"Absolute working directory relative operands resolve against. Defaults to the first allowed root."},"timeout_ms":{"type":"integer","minimum":1,"description":"Execution timeout written into the permit obligations. Defaults to 120000."},"max_segments":{"type":"integer","minimum":1,"description":"Ceiling on chained segments. Defaults to 32."},"allowed_roots":{"type":"array","items":{"type":"string"},"description":"Absolute directories the command may touch. Containment is lexical, not symlink-resolved."},"denied_commands":{"type":"array","items":{"type":"string"},"description":"Always blocked, applied after allowed_commands."},"allowed_commands":{"type":"array","items":{"type":"string"},"description":"If set, argv[0] must appear here."},"allow_destructive":{"type":"boolean","description":"Permit deletes, truncations, and overwrites. Defaults to false."},"protected_branches":{"type":"array","items":{"type":"string"},"description":"Branches a force push must never target. Defaults to main, master, trunk, develop, production, prod, release."},"allow_network_egress":{"type":"boolean","description":"Permit commands that reach the network. Defaults to false."},"allow_privilege_escalation":{"type":"boolean","description":"Permit sudo, su, chmod 777, chown root. Defaults to false."}},"additionalProperties":false},"command":{"type":"string","maxLength":32768,"minLength":1},"subject":{"type":"string","description":"Opaque caller label recorded as the permit subject."},"audience":{"type":"string","description":"Identity of the ONE executor the permit is for. Required when issue_permit is true. Wildcards are rejected."},"issue_permit":{"type":"boolean"}},"additionalProperties":false},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["ok","verdict","confidence","risk_codes","evidence","result","warnings"],"properties":{"ok":{"type":"boolean"},"result":{"type":"object","required":["canonical_command","cmd_hash","cmd_fingerprint"],"properties":{"permit":{"type":"string","description":"Compact JWS, 60s TTL, one audience."},"cmd_hash":{"type":"string","description":"BINDING. sha256 of canonical_command."},"cmd_fingerprint":{"type":"string","description":"ADVISORY ONLY. Operands discarded; never authorize on it."},"canonical_command":{"type":"string","description":"What a permit binds. Every operand preserved."}}},"verdict":{"enum":["pass","warn","unknown","block"],"type":"string"},"evidence":{"type":"array","items":{"type":"object","required":["code","severity","detail","disposition"],"properties":{"code":{"type":"string","description":"Stable reason code, e.g. REMOTE_CODE_EXECUTION."},"data":{"type":"object"},"span":{"type":"object","properties":{"end":{"type":"integer"},"start":{"type":"integer"}}},"detail":{"type":"string"},"source":{"type":"string"},"severity":{"enum":["info","low","medium","high","critical"],"type":"string"},"disposition":{"enum":["block","unknown","warn","info"],"type":"string","description":"What this finding does to the verdict, which is a different axis from how bad it is."}}}},"warnings":{"type":"array","items":{"type":"string"}},"confidence":{"type":"number"},"risk_codes":{"type":"array","items":{"type":"string"}}}}}}}}}},"description":"Decide whether an agent-authored bash command complies with an execution policy, using a real shell tokenizer rather than pattern matching. Catches recursive deletes, force pushes, cluster and infrastructure teardown, raw device writes, path escapes, privilege escalation, and curl-piped-to-shell through pipelines, substitutions, quoting games and base64. Returns reason codes with spans and an optional short-lived permit bound to the exact canonical command. Never executes anything.","lastUpdated":"2026-10-02T07:41:46.357Z","serviceName":"ShellPermit","x402Version":2}]}}