Skip to content

Trust gating before third-party creators may declare runtime/workflow capabilities (gates #141) #142

Description

@serge-ivo

Context

#141 wires declarative capabilities (surfaces/runtime/workflow/tools) through the create/update API so agents are authorable as data. That is safe today only because agent creation is operator-only (epic #58 is demand-gated). This issue is the guardrail that must land before the same authoring path is opened to untrusted third-party creators.

The risk

Declaring runtime:"coding"|"browser" + a workflow binding gives an agent's Pilot the ability to drive a CLI or real browser on a subscriber's machine (via pags up) or the subscriber's connected accounts. The blast radius is bounded by:

  • closed-enum capabilities (no arbitrary code — that's customSurfaces, separately guarded),
  • Pro-gating,
  • subscriber consent (they choose to run the runner),
  • per-connector write-consent (instance_connector_consent).

But a malicious or low-quality third-party agent that declares a runtime and lures a subscriber into running pags up is a real abuse vector once creation is open.

What this issue must decide/build

Critical assessment

This is a policy + UX problem more than a code one — the enforcement points already exist (capability resolution, consent gate, Pro-gate). The missing pieces are (1) a trust tier on the creator, (2) an honest subscribe-time disclosure, (3) keeping the one genuinely code-executing surface (customSurfaces) off the open path. Until this lands, #141's capability-write routes must remain owner/admin-gated (they are).

Refs: #74, #75 (trust model epic), #58 (open-to-third-parties epic), #52 (Tier-2 sandbox), #141 (the wiring this gates).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3: laterDesign, strategy, or deferred pending a decision or demanddeferred: no demandBlocked on the #68 focus bet — not before external users existenhancementNew feature or requestsecuritySecurity hardening / audit findingstrategyProduct strategy / focus

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions