T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/launch.sh:181- Finding
Claude Code Runs Without Permission Controls or Enforced Filesystem Confinement
- Content
View full analysis
&2 ;; execute) CLAUDE_ARGS+=(--dangerously-skip-permissions) echo "⚡ Execute mode (all permission prompts skipped)" >&2 # Always resume the previous session if one exists (discuss or execute) if [[ -n "$LAST_SESSION_ID" ]]; then CLAUDE_ARGS+=(--resume "$LAST_SESSION_ID") if [[ "$LAST_MODE" == "discuss" ]]; then echo "🔗 Carrying over discussion context (session: ${LAST_SESSION_ID:0:8}...)" >&2 else echo "🔗 Resuming previous execute session (${LAST_SESSION_ID:0:8}...)" >&2 fi fi ;; continue) if [[ -n "$LAST_SESSION_ID" ]]; then CLAUDE_ARGS+=(--resume "$LAST_SESSION_ID") CLAUDE_ARGS+=(--dangerously-skip-permissions) echo "🔄 Resuming ${LAST_MODE:-execute} session (${LAST_SESSION_ID:0:8}...)" >&2 else CLAUDE_ARGS+=(--dangerously-skip-permissions) echo "⚠️ No previous session found — starting a new execute session" >&2 fi ;; esac ``` The documentation simultaneously claims: ```yaml permissions: claude_flags: "--dangerously-skip-permissions" rationale: >- Required for non-interactive use. Claude Code is triggered by a chat message (not a terminal session) and cannot present permission prompts to the user. All file/tool access is bounded to the specified project directory; no system-level writes occur. ``` ### Technical Analysis The implementation disables Claude Code's interactive permission checks in every operational mode, including `discuss`, where filesystem modification and command execution are not required. Changing the process working directory to the ...[truncated 1778 chars]- Remediation
View remediation
