Skip to content

RFC: Deterministic execution guardrails for unattended sessions (secrets + shared App tokens in sandbox) #1663

Description

@grimdalltech

The gap

The README's security model is refreshingly honest, but reading it against the automations feature, there's a gap I'd love maintainer thoughts on:

  • Secrets are decrypted and injected as env vars at spawn (encrypted at rest, plaintext in-sandbox).
  • The git credential helper brokers short-lived shared GitHub App installation tokens into the sandbox.
  • Automations (webhooks, Sentry alerts, cron) start sessions with no human in the loop, and inbound payload content reaches the agent as prompt context.

So a malicious webhook/Sentry/Linear payload = indirect prompt injection into a sandbox holding (a) decrypted org secrets and (b) git credentials valid for every repo the App is installed on — with port tunnels and browser automation as exfil channels.

The single-tenant trust assumption covers users, but not content arriving at users' agents.

Proposal (optional, default-off)

A deterministic pre-execution policy layer in sandbox-runtime:

  1. Secret denial — block command args/env reads targeting injected secrets + credential helper.
  2. Egress allowlist — fail-closed, subdomain-aware; curl/wget/tunnels restricted to known infra domains.
  3. Git remote allowlist — push/fetch only to configured SCM hosts.
  4. Per-session spend cap — including child-session fan-out.
  5. Signed block receipts — emitted to the session event stream for audit.

Shadow mode by default, hard blocks via flag. Zero behavior change when off.

Question for maintainers

Interest in this as an optional hardening layer? Happy to contribute the implementation (tests + docs included) if the direction is welcome — or open to pointers if you'd rather solve it at the sandbox-infra network level instead.

(Hardening proposal, not a vuln disclosure — anything sensitive routes via SECURITY.md.)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions