T05 · Unauthorized Access and Privilege Escalation
- Location
scripts/egress.py:341- Finding
Path Traversal Allows Source Files Outside the Skills Directory to Be Modified
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a local egress scanner, but it can also automatically rename skill directories and rewrite source files, with path-scoping weaknesses that warrant Review before installation.
Install only if you are comfortable with a security tool that can modify other skills. Prefer using scan, status, domains, and scan --skills-only first; avoid protect and block unless you have backups and have reviewed exactly which files will change. Do not pass untrusted skill names or paths to mutation commands.
scripts/egress.py:341Path Traversal Allows Source Files Outside the Skills Directory to Be Modified
scripts/egress.py:321Regex-Based Automated Protection Can Corrupt or Disable Skill Source Code
The skill is presented as an egress/DLP scanner, but it also includes active countermeasures that rename skill directories and rewrite other skills' source files. That exceeds a read-only detection role and gives the tool the ability to disable or tamper with unrelated code in the workspace, which is dangerous if triggered on false positives or used abusively.
The skill is user-invocable and documents execution of a local Python script over an arbitrary workspace path, but it does not declare any explicit tool scope such as permissions or allowed-tools. That means the effective capabilities are broader than what is transparently disclosed, including file access and shell execution, which increases the risk of unintended data exposure or misuse if the host agent grants broad defaults.
Workspace resolution and subsequent scanning logic enable enumeration of the full workspace, not just the target skills directory. For a skill whose stated purpose is agent-skill egress monitoring, this broad file access increases privacy and data-exposure risk by reading unrelated project files and metadata.
The protect flow automatically renames skill directories to quarantine them as soon as findings are classified as CRITICAL, with no confirmation step. In this context, false positives or overbroad pattern matches could disable legitimate skills and create an easy denial-of-service mechanism against the workspace.
The protection sweep automatically comments out lines in other skills and writes backup files without prior approval. Because the detection rules are heuristic and broad, this can silently alter legitimate code behavior, break skills, or be abused to tamper with the workspace under the guise of security scanning.
The docstring says the function comments out specific lines and returns a count blocked, but the implementation also copies the original file to a .bak backup and rewrites the entire file in place. That is an active side effect beyond what the documentation describes.
No suspicious patterns detected.