T09 · Insecure Skill Coding Practices
- Location
publish.py:38- Finding
Predictable File Writes Permit Symlink-Based File Overwrite
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill needs review because it can direct an agent toward public Xiaohongshu posting through a logged-in browser profile without clear final confirmation, while the bundled script only prepares a random image for manual upload.
Review this skill before installing. It is not backed by evidence of malware, but it is under-scoped for a public posting workflow: confirm the target Xiaohongshu account, inspect or replace any downloaded image, avoid running it with elevated privileges, and require an explicit final confirmation or draft-only behavior before anything is published.
publish.py:38Predictable File Writes Permit Symlink-Based File Overwrite
publish.py:31Unbounded and Unvalidated Remote Image Download
SKILL.md:10Documented Automatic Publishing Behavior Does Not Match the Implementation
The documented behavior overstates what the skill actually does, creating a trust gap between user expectations and real execution. Description-behavior mismatches are dangerous because users may approve actions they do not fully understand, or operators may fail to apply the right safeguards for downloading content and automating publication workflows.
The skill omits a prominent warning that it may automatically publish to a public platform and use network-downloaded images. This is especially risky in this skill's context because it combines external content acquisition with actions on a logged-in social-media account, creating legal, reputational, and account-safety risks if content is copyrighted, inappropriate, or posted unintentionally.
The skill describes use of network access and file-writing behavior but does not declare any tool scope or permission boundaries. In an agent ecosystem, this weakens least-privilege controls and can allow broader-than-expected access for downloading images or writing files, increasing the chance of unintended or abusive actions.
An overly broad trigger phrase can cause accidental invocation during ordinary conversation, especially for a skill that performs browser automation and public posting. In this context, mistaken activation is more dangerous than usual because it may lead to unintended content preparation or publication to a live social-media account.
The alternate invocation example is underspecified and does not clearly constrain when the skill should trigger or what parameters are required. That ambiguity increases the risk of the agent interpreting loosely related user text as authorization to assemble and post public content.
The module description and all user-facing console messages are written only in Chinese, including the tool name and operational instructions. This creates a language/locale policy issue because the skill imposes a specific language on users without opt-in or justification that it is intended only for a Chinese-speaking or region-specific audience.
The manifest describes a skill that supports image search/download and automatic upload/publish in one step. In this file, the implementation stops after downloading an image and copying it into a local upload directory, then instructs the user to manually open Xiaohongshu, upload the image, fill fields, and click publish.
The skill description says it supports image search and download, and the function logs that it is searching by keyword. However, the code does not use the keyword to perform any search and instead downloads from a hardcoded picsum.photos endpoint, which returns a generic image unrelated to the requested topic.
No suspicious patterns detected.