T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:17- Finding
Hard-Coded External Paths Permit Unscoped Local File Access
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 17–23
Vulnerability Type:T05: Unauthorized Access and Privilege Escalation
Risk Level: MediumVulnerable code:
markdown For this repository, then load: - `/Users/lebo/project/ai-video/src/ai_video_control/models.py` - `/Users/lebo/project/ai-video/src/ai_video_control/shortform.py` - `/Users/lebo/project/ai-video/src/ai_video_control/review.py` - `/Users/lebo/project/ai-video/src/ai_video_control/cli.py`Technical Analysis
The Skill instructs the Agent to load source files through hard-coded, developer-specific absolute paths. These paths are outside the packaged Skill directory and may also be outside the project root authorized by the user.
Following these instructions can violate least-privilege and project-boundary expectations by causing the Agent to probe or read unrelated local files. If the listed paths exist on the execution host, their contents could enter the Agent's context without being necessary for the user's current project. The audited text does not instruct the Agent to transmit or maliciously use those contents, so the finding is limited to unscoped local access rather than confirmed exfiltration.
Attack Path
- A user invokes the Skill for an AI-video or storyboard task.
- The Agent reads
SKILL.mdand follows its repository-loading instructions. - The Agent attempts to access the four absolute paths under
/Users/lebo/project/ai-video/. - If those files exist and tool permissions allow access, source code outside the user-selected project is loaded into the active context.
- That unrelated source may then influence generated output or be exposed through later responses, logs, or downstream processing.
Impact Assessment
Successful exploitation requires the referenced files to exist and the Agent's file-reading tools to permit access. Under those conditions, the Agent can obtain read access ...[truncated 474 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove all hard-coded absolute filesystem paths from
SKILL.md. - Resolve implementation files relative to a project root explicitly supplied or approved by the user.
- Canonicalize each resolved path and verify that it remains within the authorized project root before reading it.
- Reject path traversal, symbolic-link escapes, and references to unrelated directories.
- Treat implementation files as optional: load them only when the user's request requires repository-specific behavior.
- Ask for explicit confirmation before accessing files outside the packaged Skill directory.
- Replace the vulnerable section with a scoped pattern such as:
markdown If repository-specific implementation analysis is required, ask the user for the project root. Load only the following paths relative to that root after verifying that each resolved path remains inside it: - `src/ai_video_control/models.py` - `src/ai_video_control/shortform.py` - `src/ai_video_control/review.py` - `src/ai_video_control/cli.py` - Add a validation test ensuring that loading the Skill never triggers reads outside the authorized project root.
- Remove all hard-coded absolute filesystem paths from
