Back to skill

Security audit

fullstack-project-creator

Security checks for vulnerabilities and agentic risk

Overview

This project-generator skill is mostly coherent, but its permission-repair guidance encourages broad folder permissions and running the agent with administrator/root-level authority.

Review this skill before installing. It can generate many files in a user-selected directory, which is expected for its purpose, but do not follow its advice to run OpenClaw as administrator/root or grant broad full-control permissions to generic user groups. Prefer generating projects inside a directory you already own, such as a normal workspace under your home directory.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:289
Finding
Overly Broad Directory Permissions and Unnecessary Administrator Execution## Vulnerability Details **File Location**: `SKILL.md`, lines 289-299 **Vulnerability Type**: Excessive filesystem permissions and privilege escalation **Risk Level**: Medium ### Vulnerable Code ```powershell # Method 1: Modify folder permissions icacls "D:\YourFolder" /grant Users:F # Method 2: Run OpenClaw as administrator # Right-click PowerShell → Run as administrator ``` ```text **Windows (GUI)**: 1. Right-click target folder → Properties 2. Security → Edit 3. Add → Enter your username → Check Names 4. Check "Full control" → OK ``` ### Technical Analysis The permission-recovery instructions recommend granting the Windows `Users` group full control over the destination directory through `Users:F`. This applies the permission to a broad group rather than limiting access to the current user or the specific process responsible for project generation. Full control includes the ability to read, create, modify, and delete files and to alter directory permissions. Consequently, another local account or a process operating under another user context may be able to tamper with generated source code, dependency manifests, build configuration, application configuration, or executable scripts. The alternative recommendation to run OpenClaw as an administrator also violates the principle of least privilege. Project generation ordinarily requires write access only to a dedicated project directory. Elevating the entire Agent gives its subsequent filesystem operations, generated commands, and invoked tools administrative privileges beyond those legitimately required by the task. ### Attack Path 1. Project generation fails because the selected destination is not writable. 2. The user follows the Skill instructions and either grants `Users:F` to the project directory or launches OpenClaw as an administrator. 3. In the broad-permission scenario, another local user or compromised process modifies pr ...[truncated 1234 chars]
Remediation
## Remediation Suggestions 1. Remove administrator execution as a routine solution for destination-directory write failures. 2. Prefer the documented fallback that generates the project inside a user-owned workspace. 3. Grant access only to the current user, only on a dedicated project directory, and only with the permissions needed to create and modify project files. 4. Replace the broad Windows command with a narrowly scoped command such as: ```powershell icacls "D:\Target\Project" /grant "$env:USERNAME:(OI)(CI)M" ``` `M` grants modify access rather than full control, while `(OI)(CI)` applies the permission to files and subdirectories. 5. Validate and display the canonical destination path before changing permissions. Reject system directories, existing sensitive directories, path roots, and paths containing unexpected traversal components. 6. Do not recommend granting access to generic groups such as `Users` or `Everyone`. 7. If elevation is exceptionally necessary, isolate the single permission-management operation rather than running the entire Agent with administrative privileges. 8. Add a warning that users should not recursively change permissions or ownership on existing workspace roots, home directories, or operating-system directories.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (7)

Vague Triggers

High
Confidence
97% confidence
Finding
The activation rules are intentionally broad enough to match common phrases like 'build a project' or even terse references such as 'user management module', which can cause the skill to activate in situations where the user did not explicitly request filesystem changes or code generation. In a skill that creates directories and generates project files, unintended activation can lead to unwanted writes, confusing behavior, and amplification of downstream risky actions.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The skill states that any one listed keyword pattern activates it, but the specification does not define robust semantic boundaries between creation requests and general conversation about projects or modules. That ambiguity increases the chance of false triggering and can cause the agent to enter file-generation workflows unexpectedly.

Session Persistence

Medium
Category
Rogue Agent
Content
## Project Creation Process

1. **Requirement Communication** - Confirm project requirements with user
2. **Generate Project Structure** - Create standardized directories and files
3. **Generate Code** - Generate initial code based on requirements

## Project Structure Specification
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Session Persistence

Medium
Category
Rogue Agent
Content
#### Scenario 1: User specifies path (normal case)

**User**: "Help me create a lottery project"

**Assistant**: "Okay! I'll help you create a lottery project.
Confidence
60% confidence
Finding
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
**macOS/Linux**:
```bash
# Modify folder permissions
chmod 755 /path/to/folder

# Or change owner
sudo chown $USER:$USER /path/to/folder
Confidence
80% confidence
Finding
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Content
chmod 755 /path/to/folder

# Or change owner
sudo chown $USER:$USER /path/to/folder
```

### Working Directory Fallback
Confidence
84% confidence
Finding
The skill includes guidance telling users to run privileged commands such as 'sudo chown', which can modify ownership on arbitrary paths and normalize escalation to root for convenience. Even though it is framed as permission troubleshooting, this is dangerous because users may apply it to the wrong directory or follow it without understanding the security implications.

Natural-Language Policy Violations

Low
Confidence
95% confidence
Finding
The manifest description is written only in Chinese and does not indicate that language selection is optional or that the skill is intended for a Chinese-specific audience. Under the policy, forcing a specific language without user opt-in can be a natural-language policy violation.

Static analysis

No suspicious patterns detected.