Problem
Forge correctly keeps Jira and GitHub mutations in its trusted host integration layer, but implementation containers still receive reusable model credentials and, when enabled, observability credentials through environment variables or mounted Google application credentials.
A compromised agent can read and exfiltrate any bearer credential visible in its environment, filesystem, process arguments, or outbound traffic. Shortening token lifetime helps but is not equivalent to credential isolation.
Scope
This issue covers credentials required inside code-execution sandboxes:
- direct Anthropic
- Google GenAI
- Vertex AI Gemini and Anthropic
- Langfuse/OTel credentials when container-side emission is enabled
It does not move Jira or GitHub writes into the sandbox. Those remain in Forge's trusted integration layer.
Proposed phased solution
Phase 1: inventory and compatibility policy
- enumerate credentials exposed by each model/telemetry backend
- record only the credential delivery mode in redacted execution evidence
- define a
credential_free|required|compatibility deployment policy
Phase 2: model mediation
- evaluate OpenShell providers and a Forge-compatible inference gateway
- keep real provider/cloud credentials outside the agent process
- enforce allowed connection, model, project/location, execution identity, and token/cost limits
- bind access to one sandbox execution and revoke it on completion/cancellation
Phase 3: telemetry
- prefer host-side trace emission from structured execution results
- otherwise proxy telemetry so secret keys do not enter the sandbox
Acceptance criteria
Related work
Estimate
AI-assisted: estimate after #262. A single-backend proof of concept is likely several days; complete backend coverage remains a multi-week effort.
Problem
Forge correctly keeps Jira and GitHub mutations in its trusted host integration layer, but implementation containers still receive reusable model credentials and, when enabled, observability credentials through environment variables or mounted Google application credentials.
A compromised agent can read and exfiltrate any bearer credential visible in its environment, filesystem, process arguments, or outbound traffic. Shortening token lifetime helps but is not equivalent to credential isolation.
Scope
This issue covers credentials required inside code-execution sandboxes:
It does not move Jira or GitHub writes into the sandbox. Those remain in Forge's trusted integration layer.
Proposed phased solution
Phase 1: inventory and compatibility policy
credential_free|required|compatibilitydeployment policyPhase 2: model mediation
Phase 3: telemetry
Acceptance criteria
Related work
Estimate
AI-assisted: estimate after #262. A single-backend proof of concept is likely several days; complete backend coverage remains a multi-week effort.