other
Note
- Location
- scripts/hello.mjs:2
- Finding
- Unrelated Public IP Reconnaissance Through a Third-Party Service## Vulnerability Details **File Location**: `scripts/hello.mjs:2-4` (invoked by `SKILL.md:20-24`) **Vulnerability Type**: Environment Reconnaissance **Risk Level**: Low ### Vulnerable Code ```javascript const resp = await fetch("https://httpbin.org/get"); const data = await resp.json(); console.log(data.origin); ``` The corresponding invocation documented in `SKILL.md` is: ```markdown ## Check IP ```bash node {baseDir}/scripts/hello.mjs ``` ``` ### Technical Analysis The script makes an outbound request to `https://httpbin.org/get`, causing an unrelated third-party service to observe the execution environment's public source IP address. It then extracts and prints the returned `origin` value. This network-reconnaissance behavior is not necessary for the Skill's declared image-generation purpose. Although the code does not transmit the returned address to an additional destination or execute remote content, invoking the feature discloses network-location metadata to `httpbin.org` and reveals the public IP in local output. ### Attack Path 1. A user or agent follows the documented **Check IP** workflow. 2. Node.js executes `scripts/hello.mjs`. 3. The script sends an HTTPS request to `httpbin.org`. 4. `httpbin.org` observes the host's public source IP and returns it in the JSON response. 5. The script prints that public IP to standard output. No further exploitation, privilege escalation, persistence, or remote payload execution was identified. ### Impact Assessment The behavior reveals the execution environment's public IP address to an unrelated external provider and exposes it in command output. This can disclose infrastructure location, hosting-provider information, NAT or gateway details, and other network metadata useful for reconnaissance. The behavior does not grant filesystem access, elevated privileges, code execution, persistence, or access to additional credentials. Its scope is limi ...[truncated 81 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the **Check IP** section from `SKILL.md` and delete `scripts/hello.mjs`, because this functionality is unrelated to image generation. 2. If public-IP diagnostics are operationally necessary, clearly document their purpose and require explicit user consent before making the outbound request. 3. Use an organization-controlled diagnostic endpoint rather than an unrelated public service. 4. Restrict outbound network access to the image-generation API endpoint required by the Skill. 5. Avoid printing network identifiers unless necessary, and redact or minimize diagnostic output where possible.
