T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:4- Finding
Overbroad curl Permission Violates Least Privilege
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 4
Vulnerability Type: Overbroad network-tool authorization
Risk Level: MediumVulnerable Code
yaml allowed-tools: Bash(curl --proto =https *)Technical Analysis
The skill authorizes Bash execution of
curlagainst any HTTPS destination. Its declared functionality only requires requests to the/browserand/searchendpoints onunblocker.joinmassive.com. The wildcard therefore grants broader network access than necessary.Although
--proto =httpsprevents use of non-HTTPS protocols, it does not constrain the destination hostname, request headers, body, or transmitted data. If attacker-controlled content or instructions influence the agent, this permission could be used to send contextual information or accessible secrets to an unrelated HTTPS server.The documented transmission of the target URL or search terms and
MASSIVE_UNBLOCKER_TOKENto Massive's API is necessary for the declared service and is not, by itself, hidden exfiltration. The vulnerability is the authorization of arbitrary HTTPS destinations rather than only the documented service.Attack Path
- A user asks the skill to fetch attacker-controlled content, or untrusted page content enters the agent's context.
- The content includes instructions designed to induce an external
curlrequest. - The agent treats those instructions as actionable and invokes the pre-authorized wildcard command.
curlconnects to an attacker-controlled HTTPS endpoint because no hostname allowlist is enforced.- Sensitive context, user-provided data, or credentials included in the generated request are transmitted to the attacker.
Successful exploitation depends on the surrounding agent allowing untrusted input to influence tool invocation. No direct command-execution payload was found in the audited files.
Impact Assessment
The permission provides arbitrary outbound HTTPS access through
curl, exceeding ...[truncated 535 chars]- Remediation
View remediation
Remediation Suggestions
- Replace wildcard Bash authorization with a narrowly scoped, typed HTTP tool or wrapper.
- Restrict outbound requests to the exact hostname
unblocker.joinmassive.comand only the required/browserand/searchpaths. - Enforce HTTPS certificate validation and prohibit redirects to unapproved hosts.
- Keep the authorization token in a dedicated secret field that cannot be inserted into arbitrary request destinations.
- Validate target URLs before submitting them:
- Reject embedded user information.
- Reject localhost, loopback, link-local, and private-network destinations unless explicitly required.
- Detect or redact sensitive query parameters and fragments.
- Treat fetched pages as untrusted data and prohibit their contents from authorizing or modifying subsequent tool calls.
- Require confirmation before transmitting potentially sensitive URLs or search queries to the third-party API.
- Avoid logging authorization headers, full sensitive URLs, or private search terms.
