T03 · Remote Payload Retrieval and Execution
- Location
lib/decode-redirect.js:12- Finding
Execution of Remotely Retrieved JavaScript in an Inadequate VM Sandbox
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This forum skill mostly matches its stated purpose, but it handles login cookies unsafely and executes remote JavaScript during scraping.
Review before installing. Use a dedicated low-privilege forum account, keep cookie.txt tightly permissioned, avoid placing unrelated cookies in it, and do not use the skill on untrusted redirects or sensitive sessions unless the redirect parsing and cookie-origin checks are fixed.
lib/decode-redirect.js:12Execution of Remotely Retrieved JavaScript in an Inadequate VM Sandbox
main.js:133Forum Session Cookie Can Be Disclosed to Cross-Origin Redirect Destinations
package.json:16Unpinned Dependency Installation Without a Lockfile
The skill metadata advertises read-only content retrieval, but the workflow also includes authenticated sign-in and local cookie-file updates, both of which are state-changing behaviors. Undisclosed account actions and credential-material handling are dangerous because users may invoke the skill expecting passive scraping while it modifies remote account state and local auth data.
The skill metadata advertises read-only content retrieval, but the workflow also includes authenticated sign-in and local cookie-file updates, both of which are state-changing behaviors. Undisclosed account actions and credential-material handling are dangerous because users may invoke the skill expecting passive scraping while it modifies remote account state and local auth data.
The skill explicitly instructs the AI to extract and surface cloud-storage links and passwords from scraped posts. In this context, that facilitates redistribution of potentially unauthorized access information and increases the likelihood of exposing pirated, private, or access-controlled content, making the forum-scraping context more dangerous rather than less.
The skill performs outbound HTTP requests to a third-party forum and follows redirects, but the capability is not reflected in the declared behavior/permissions. Undeclared network access is dangerous because it expands the skill's trust boundary, can transmit user-derived data such as cookies, and makes review and consent ineffective.
The published description says the skill retrieves and summarizes forum posts, but the code also contains account automation for forum sign-in. This hidden functionality is risky because it uses the user's authenticated session for state-changing actions that a reviewer or user would not reasonably expect from a read-only scraping skill.
Automated daily check-in is an authenticated, state-changing action unrelated to post listing/summarization. In this context, it is more dangerous because the skill asks for forum cookies and can operate on the user's account without a clear, justified need, creating risk of unauthorized actions and account policy violations.
The instructions direct access to a local cookie.txt file containing authentication material without any user-facing disclosure about credential use, storage, or privacy impact. Handling session cookies silently can expose user accounts if the file is misread, overexposed to tools, or reused in unintended contexts.
The check-in feature performs an authenticated account action on the target forum, but the skill text does not clearly warn users that invoking it will modify account state. This can lead to unintended actions performed under the user’s identity and reduces informed consent around remote side effects.
The code writes updated authentication cookies back to local storage, extending the lifetime and exposure of sensitive session credentials beyond what is needed for one scraping run. In a skill whose stated purpose is summarization, persistent credential storage is unnecessary and increases the chance of token theft, misuse, or accidental reuse for hidden actions like check-in.
The request headers hard-code accept-language to zh-CN,zh;q=0.9, which imposes a specific language/locale on all outbound requests. This is a natural-language policy concern because the skill does not offer any user choice or explain why the locale is required.
The manifest exposes a checkin command that is not described in the skill's stated purpose of scraping forum content and summarizing posts. Hidden or undocumented capabilities increase risk because they may trigger additional network actions, authentication flows, or automated account activity outside user expectations, especially for a scraper targeting a third-party site.
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
"checkin": "node main.js checkin"
},
"dependencies": {
"cheerio": "^1.1.2",
"undici": "^7.15.0"
}
}
Dependencies lack version pinning, allowing potential malicious package updates. Consider pinning versions.
},
"dependencies": {
"cheerio": "^1.1.2",
"undici": "^7.15.0"
}
}
The manifest depends on undici without pinning to a known-safe version, while the package family has multiple advisories including request smuggling, response queue poisoning, and redirect-related header leakage. Because this skill performs network scraping, use of a vulnerable HTTP client is directly relevant and could expose requests, headers, or response handling to manipulation if an affected version is installed.
No suspicious patterns detected.