T09 · Insecure Skill Coding Practices
- Location
SKILL.md:31- Finding
Destructive Reset and Data-Wiping Operations Lack Safety Controls
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 31-45 and 178-187
Vulnerability Type: Unscoped destructive operations
Risk Level: HighThe Skill recommends commands that reset state, remove generated files, wipe databases, recreate environments, clear user data, and reinitialize repositories:
bash 0 init # Create a blank project 0 new project_name # Start a new project from zero 0 reset # Reset all state to its initial point 0 clean # Clear caches, temporary files, and build artifacts 0 scaffold # Generate a standard directory structure 0 env --fresh # Recreate the virtual environment 0 db --wipe # Wipe the database 0 cache --clear # Clear all caches 0 config --default # Restore default configurationAdditional destructive commands appear later in the file:
bash 0 dayplan --clear # Clear the previous day's plan 0 journal --new # Create a new journal 0 habits --reset # Restart habit tracking 0 repo --fresh-start # Reinitialize Git while retaining code 0 deps --reinstall # Reinstall all dependenciesTechnical Analysis
These operations are presented without mandatory confirmation, target validation, backup checks, dry-run behavior, or path and environment scoping. The project contains only
SKILL.md; it does not define or document an implementation of the0executable. Consequently, the precise effects, trustworthiness, and safety properties of these commands cannot be verified from the audited artifact.A natural-language request such as “reset the project” or “start from zero” could cause an Agent to select a command with effects broader than the user intended. In particular,
0 db --wipe,0 reset,0 clean, and0 repo --fresh-startimply irreversible or disruptive state changes.Attack Path
- A user or untrusted instruction asks the Agen ...[truncated 1015 chars]
- Remediation
View remediation
Remediation Suggestions
- Require explicit user confirmation immediately before every destructive operation.
- Display the fully resolved target path, database identifier, environment, and affected resources before execution.
- Implement a dry-run mode that enumerates all planned changes without modifying state.
- Reject empty, implicit, root-level, production, or out-of-scope targets.
- Verify that a recent, restorable backup exists before database wipes, repository resets, or configuration replacement.
- Prefer reversible operations, such as moving files to a quarantine directory, over permanent deletion.
- Require additional confirmation for production environments and prohibit destructive operations by default.
- Document the trusted source, implementation, version, and exact semantics of the
0executable. - Run operations with least privilege and restrict access to only the specific project resources requested by the user.
- Record an audit log containing the confirmed target, requesting user, executed operation, and result.
