Skip to content

[Feature]: Document sandbox configuration and security model #367

@sjnims

Description

@sjnims

Parent Issue

Sub-issue of #344 (Leverage Additional SDK v0.2.25 Capabilities)
Follow-up to #350 (Configure sandbox settings for execution safety)

Feature Type

Other

Problem or Need

The sandbox configuration added in #350 introduces 4 new ExecutionConfig fields (sandbox, env, cwd, additional_directories) with a nested SandboxConfig object containing 8 fields plus sub-objects for network and ripgrep settings. None of this is currently documented beyond code comments and type definitions.

Users need:

  • Configuration examples in docs showing common sandbox setups
  • Explanation of how sandbox interacts with permission_bypass: true
  • Guidance on when to enable sandboxing vs when it causes false negatives
  • Updated SECURITY.md reflecting the new security boundary

Proposed Solution

  1. Update docs/ with sandbox configuration guide:

    • Add sandbox section to an existing config reference doc (or create docs/sandbox.md)
    • Include YAML examples for common configurations
    • Document the snake_case → camelCase field mapping for users who reference SDK docs
    • Explain the opt-in default (sandbox disabled) rationale
  2. Update SECURITY.md:

    • Add sandbox as a security boundary alongside existing tool restrictions
    • Document the defense-in-depth model: disallowed_tools + sandbox + budget limits
    • Note that permission_bypass and sandbox are complementary (bypass skips prompts, sandbox restricts the execution environment)
  3. Add inline config.yaml examples:

    • Minimal sandbox: sandbox: { enabled: true }
    • Network-restricted: sandbox: { enabled: true, network: { allowed_domains: [...] } }
    • Full lockdown with env isolation

Pipeline Stage Affected

General / Multiple stages

Component Type (if applicable)

Not component-specific

How important is this feature to you?

Medium - Would be nice to have

Additional Context

The implementation from #350 is complete and all fields pass through to the SDK correctly. This issue covers only documentation, not code changes.


🤖 Created with Claude Code

Metadata

Metadata

Assignees

Labels

component:configConfiguration loading (src/config/)documentationImprovements or additions to documentationeffort:medium1-4 hoursgood first issueGood for newcomerspriority:mediumShould be addressedsdk:agentClaude Agent SDK usage (Stage 3)securitySecurity-related issue or improvementstatus:analyzedIssue has been analyzed by Claude

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions