T09 · Insecure Skill Coding Practices
- Location
src/index.js:13- Finding
Disclosure of API Credentials and Douyin Session Cookie to a Configurable Third-Party Endpoint
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does fetch Douyin user videos, but it forwards a Douyin login cookie and API key to a third-party endpoint without clear disclosure or endpoint controls.
Review this skill carefully before installing. Only use it if you trust the xueai-portal service with your Douyin login cookie and API key, understand that the cookie may represent an authenticated session, and can rotate or revoke those credentials. Avoid setting DOUYIN_API_URL unless you fully control and trust the destination.
src/index.js:13Disclosure of API Credentials and Douyin Session Cookie to a Configurable Third-Party Endpoint
The skill uses sensitive environment variables (DOUYIN_API_KEY and DOUYIN_COOKIE) but does not declare an explicit tool scope such as permissions or allowed-tools. This weakens least-privilege boundaries and makes it harder for the platform or reviewer to verify what secrets and tool capabilities the skill is allowed to access.
The trigger list contains broad terms like douyin, 抖音, and 抖音视频, which can cause the skill to activate on generic conversation about Douyin rather than an explicit request to fetch a creator's video list. Unintended activation is risky here because the skill is configured to use sensitive credentials and contact an external service automatically.
The documentation instructs users to configure a Douyin cookie and API key but does not clearly warn that these sensitive credentials will be used by an external tool/service. Cookies can grant account access and API keys enable authenticated billing or identity, so silent transmission or unclear disclosure creates meaningful credential-handling and privacy risk.
The skill sends both a secret API key and a Douyin cookie to a remote third-party endpoint (https://xueai.szzy.top/...) rather than directly to Douyin, which exposes sensitive credentials and session data to an external service. In this skill’s context, the cookie may represent an authenticated Douyin session, so forwarding it can enable account/session misuse, tracking, or unauthorized data access if the remote service is compromised or untrusted.
The single-word trigger 抖音 is very short and likely to match many unrelated or exploratory user messages. Because this skill can automatically use stored credentials and call an external service, overly short triggers increase the chance of accidental invocation and unintended data transmission.
The natural-language documentation and examples are entirely in Chinese, with no indication that other languages are supported or that the Chinese-only presentation is a justified regional requirement. Under the stated policy, forcing a specific language without user opt-in can be a locale-policy issue.
The dependency uses a caret range ("^1.6.0") instead of pinning an exact version, which allows different installations to resolve to different releases over time. That weakens build reproducibility and can unintentionally pull in a newly introduced vulnerable or malicious package version through the normal dependency resolution process.
"description": "获取抖音博主的视频列表 - OpenClaw Skill",
"main": "src/index.js",
"dependencies": {
"axios": "^1.6.0"
},
"openclaw": {
"skill": "douyin-user-videos",
The manifest references axios without an exact pinned version, and the package has multiple known advisories, including issues that may enable SSRF, response hijacking, or credential theft depending on usage. Because the installed version is not fixed and the skill likely performs outbound HTTP requests to fetch Douyin video data, this uncertainty increases the chance that a vulnerable axios release could be deployed.
The request hard-codes the Accept-Language header to prefer zh-CN/zh, which imposes a locale preference regardless of user choice. The file does not document this as a region-specific requirement or offer a configurable language/locale option.
Detected: suspicious.env_credential_access