other
- Location
scripts/chat.js:17- Finding
Session Credential and User Prompt Disclosure to an Unofficial Third-Party Endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a simple Doubao chat wrapper, but it sends both user prompts and a reusable session credential to an unofficial third-party Vercel endpoint with limited warning.
Install only if you are comfortable giving doubao-free-api.vercel.app access to your Doubao session identifier and every prompt you send through the skill. Treat DOUBAO_SESSIONID like an account credential, avoid sensitive prompts, and prefer an official scoped API token or official endpoint if available.
scripts/chat.js:17Session Credential and User Prompt Disclosure to an Unofficial Third-Party Endpoint
scripts/chat.js:40Unsanitized Remote Response Bodies Written to Error Logs
The skill declares use of environment-derived secrets but does not define any explicit tool scope or permission boundary. This weakens least-privilege controls and makes secret access implicit, which increases the chance that the skill can read sensitive environment data without clear user awareness or platform enforcement.
The documentation states that chat requests are sent to a remote API endpoint, but it does not clearly warn users that their prompts and possibly related context leave the local device and are transmitted to a third party. This creates a privacy and data-handling risk because users may unknowingly send sensitive content to an external service.
The skill asks users to provide 'DOUBAO_SESSIONID' via an environment variable but does not label it as a sensitive authentication credential or explain the risks of exposing it. Session identifiers can often grant account access or impersonation, so mishandling them may lead to unauthorized use, data exposure, or account compromise.
Multiple user-visible strings, including errors, usage text, and status messages, are presented only in Chinese. This imposes a specific language on users without opt-in or justification, matching the language/locale policy violation criteria.
User-supplied prompt data is transmitted to a third-party external service, but the script provides no user-facing disclosure or consent mechanism before sending potentially sensitive content off-host. In a chat tool, users may paste secrets, internal data, or personal information, so silent network exfiltration to an external API creates a real confidentiality risk.
The manifest describes a Doubao chat skill with web search support, but does not mention any need to access local environment variables for authentication material. The code requires DOUBAO_SESSIONID from the process environment, which is an additional capability not evident from the stated purpose alone.