T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:27- Finding
Unattended Agent Execution Bypasses Permission Confirmation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:27-31, with repeated usage atSKILL.md:38,SKILL.md:111-115, andSKILL.md:252-254
Vulnerability Type: Unattended execution without per-action authorization
Risk Level: HighVulnerable Code
bash atomcode -C "<workdir>" \ --prompt-file "<prompt_file>" \ -y \ --provider "<provider>" \ --max-turns <N>The documented parameter behavior explicitly states:
text | `-y` | Required | Skip permission confirmation (mandatory for background tasks, otherwise they hang) |The same option is used in the single-task execution flow:
bash atomcode -C "<workdir>" \ --prompt-file "/tmp/prompts/<task_id>.txt" \ -y --dev \ --provider AtomGit-deepseek-v4-flash \ --max-turns 12 \ > "$LOG" 2>&1 & ATOMCODE_PID=$!Technical Analysis
The Skill instructs users or agents to run AtomCode with
-y, which disables permission confirmation while granting the delegated agent access to the selected working directory. The command does not apply a restrictive tool policy, despite documenting the availability of--disable-tools.Consequently, actions requested by the model can occur without interactive review. If task instructions, prompt files, repository content, or other model-visible context contain malicious or misleading instructions, the delegated process may modify files or invoke available tools under the permissions of the account running AtomCode.
This does not elevate the operating-system account beyond its existing privileges. However, it removes an authorization boundary and can permit actions beyond the legitimate scope of the delegated coding task.
Attack Path
- An attacker influences a task prompt, prompt file, issue description, repository file, or other content processed by AtomCode.
- The Skill launches AtomCode with
-y, suppressing p ...[truncated 891 chars]
- Remediation
View remediation
Remediation Suggestions
- Do not make
-ythe default execution mode. Require interactive approval for sensitive filesystem, shell, network, and credential-related actions. - If unattended execution is necessary, run AtomCode inside a disposable container, sandbox, or restricted virtual machine.
- Use a dedicated Git worktree containing only the files required for the task.
- Run the process under a low-privilege account with no access to SSH keys, cloud credentials, browser profiles, or unrelated repositories.
- Explicitly disable unnecessary tools with
--disable-tools, or use an allowlist if AtomCode supports one. - Mount the target repository as read-only where possible and apply reviewed patches separately.
- Validate and review
git diffbefore merging or executing any generated code. - Treat repository content and externally sourced task descriptions as untrusted input.
- Do not make
