T09 · Insecure Skill Coding Practices
- Location
config.json:2- Finding
API Credentials and User Content Are Transmitted over Plaintext HTTP
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill matches its stated purpose, but it sends API keys, author names, and comments to a remote service over unencrypted HTTP.
Review before installing. Do not configure an API key or submit private comments unless the endpoint is changed to HTTPS and you trust the server. Prefer pinned dependencies, avoid running the installer as root, and treat submitted comments as public remote data.
config.json:2API Credentials and User Content Are Transmitted over Plaintext HTTP
install-deps.sh:7Third-Party Dependency Is Installed Without Version or Integrity Pinning
The skill documents network access and local file reads/config usage but does not declare any tool scope or permission boundary. This is dangerous because consumers and enforcement layers cannot clearly distinguish the minimum required capabilities, increasing the risk of over-privileged execution and unintended access to local files or remote endpoints.
The skill enables submission of user-provided comment text and author name to an external service over plain HTTP without a prominent warning. This is dangerous because users may unknowingly transmit sensitive or identifying content to a third-party server, and HTTP allows interception or tampering of that data in transit.
The skill content is written almost entirely in Chinese, including usage guidance and operational instructions, with no indication that users may choose another language or that the locale restriction is required for a region-specific purpose. This creates a natural-language locale policy issue because it effectively imposes a specific language on users without opt-in.
The natural-language strings in the module docstring and CLI help are entirely in Chinese, which imposes a language choice on users without opt-in or explanation. Under the stated policy, a skill should not force a specific language or locale unless it explicitly offers choice or clearly documents a justified regional constraint.
The client posts arbitrary user-supplied comment content and an author name to a remote API without any explicit user-facing disclosure, confirmation step, or indication of the destination at the point of submission. In this skill’s context, the configured API endpoint is an external service over plain HTTP, which increases the privacy and integrity risk because users may unknowingly transmit sensitive text to an untrusted or intercepted endpoint.
This code transmits user-provided comment content and author metadata to an external service using requests.post, and the skill metadata indicates the service is hosted at an HTTP endpoint. Because the transmission is outbound to a remote host and apparently not protected by TLS, submitted data can be intercepted or modified in transit, making the external transmission materially risky in this context.
"author_name": author_name
}
response = requests.post(
url,
headers={"Content-Type": "application/json"},
json=data
The argument descriptions, help text, and command guidance are hardcoded in Chinese, which creates a language/locale policy issue because users are not given any way to select another language. This is a natural-language policy concern independent of the code's functional behavior.
Detected: suspicious.install_untrusted_source