T05 · Unauthorized Access and Privilege Escalation
- Location
auto-approver.sh:24- Finding
Automatic Approval Bypasses Claude Code Trust and Permission Boundaries
- Content
View full analysis
/dev/null || true # Step 1: Create tmux session echo "[Wingman] Creating tmux session..." tmux new-session -d -s "$SESSION_NAME" -c "$WORKDIR" # Step 2: Start approver in background if [ "$INTERACTIVE" = true ]; then echo "[Wingman] Starting interactive approver..." LOG_FILE="/tmp/interactive-approver-${SESSION_NAME}.log" INTERACTIVE_APPROVER="$SCRIPT_DIR/interactive-approver.sh" touch "$LOG_FILE" && chmod 600 "$LOG_FILE" "$INTERACTIVE_APPROVER" "$SESSION_NAME" > "$LOG_FILE" 2>&1 & APPROVER_PID=$! echo "[Wingman] Interactive approver running (PID: $APPROVER_PID)" echo "[Wingman] You'll be notified when approval is needed" else echo "[Wingman] Starting auto-approver..." LOG_FILE="/tmp/auto-approver-${SESSION_NAME}.log" touch "$LOG_FILE" && chmod 600 "$LOG_FILE" "$AUTO_APPROVER" "$SESSION_NAME" > "$LOG_FILE" 2>&1 & APPROVER_PID=$! echo "[Wingman] Auto-approver running (PID: $APPROVER_PID)" fi # Step 3: Start Claude Code echo "[Wingman] Launching Claude Code..." tmux send-keys -t "$SESSION_NAME" "claude" C-m # Wait for Claude Code to initialize echo "[Wingman] Waiting for Claude Code to initialize..." sleep 5 # Check for trust prompt and handle it echo "[Wingman] Checking for trust prompt..." for i in {1..5}; do OUTPUT=$(tmux capture-pane -t "$SESSION_NAME" -p) if echo "$OUTPUT" | grep -q "Do you trust"; then echo "[Wingman] Trust prompt detected, approving..." tmux send-keys -t "$SESSION_NAME" Enter sleep 2 break fi sleep 1 done ``` `auto-approver.sh:24-37`: ```bash # Look for "Do you trust... ...[truncated 3941 chars]- Remediation
View remediation
