T09 · Insecure Skill Coding Practices
- Location
scripts/main.py:17- Finding
Undisclosed Transmission of Sensitive User Documents to a Third-Party API
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This script-writing skill has a real confidentiality risk because it can read user documents, print them to logs, and send them to a hard-coded third-party model API with an embedded API key.
Review this skill carefully before installing. Do not use it with confidential customer, strategy, meeting, product, or competitor documents unless you are comfortable with the full contents being logged locally, saved under the skill output directory, and potentially sent to the hard-coded external model service. The embedded API key should be treated as compromised and replaced with user-managed credentials before use.
scripts/main.py:17Undisclosed Transmission of Sensitive User Documents to a Third-Party API
scripts/main.py:18Hard-Coded API Credential Exposed in Source Code
scripts/main.py:121Complete Sensitive Prompt Contents Printed to Standard Output
scripts/main.py:147Documented User-Confirmation Security Gate Is Not Enforced
This is a serious description-behavior mismatch: the skill is presented as a script-writing tool, but the detected behavior includes sending user inputs and document contents to a third-party model API, using undeclared remote network access, hardcoded credentials, and writing prompts/results to a fixed local directory. In this context, the skill processes potentially sensitive business documents such as product files, strategy maps, and historical scripts, so silent exfiltration and unsafe secret handling materially increase confidentiality and operational risk.
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.
好的,任务收到。作为顶级的IP文案策划师,我将立即进入“小麦”的角色,根据你提供的全部信息,进行纯粹的原创。
**【口吻分析与提炼】**
The skill advertises file and model-driven behavior but declares no tool scope or permissions, while the analyzed capability set indicates file read, file write, and network access. That combination is dangerous because users are not given an explicit trust boundary: local documents may be read, prompt/result data may be written to disk, and content may be sent off-host without transparent authorization.
The manifest description, usage guidance, and embedded prompt template are entirely written in Chinese and assume Chinese output conventions, but the file does not state that the skill is intentionally limited to Chinese users or offer any language/locale opt-in. This creates a natural-language policy issue because the skill effectively enforces a specific language without user choice.
The instructions define the skill entirely in Chinese and direct the model to produce final output in that language and format, with no indication that the user can choose another language. Under the language/locale policy, forcing a specific language without user opt-in is a natural-language policy concern.
The file begins with Chinese-only natural-language instructions and states the assistant will immediately enter the role and respond in that style, with no indication that another language is available on request. This creates a language/locale policy concern because the skill appears to impose a specific language without user opt-in or a documented regional justification.
The skill reads potentially sensitive local files such as meeting notes, product documents, competitor scripts, and historical copy, then packages that content into prompts sent to an external model API. In a content-generation skill, this is dangerous because it can exfiltrate confidential business information beyond what users may reasonably expect from the description.
The model API request sends file-derived user content to a remote endpoint without any in-code warning, consent flow, or disclosure. Because the skill is specifically designed to ingest internal business materials, silent transmission to a third party raises significant confidentiality and compliance risks.
The code prints the full replacements dictionary, which includes raw contents extracted from user-supplied files and prompt fields. This can leak sensitive business data into terminal logs, CI logs, shell history captures, or host monitoring systems even if the model call is never made.
The package description is written entirely in Chinese and presents the skill's behavior in that locale without any indication that users can choose another language. Per the policy, forcing a specific language without user opt-in is a natural-language policy concern.
The file contains user-facing descriptions, comments, and error/help text in Chinese, and the CLI experience appears fixed to that language. There is no indication that the user can opt into another language or locale, which may violate a language-choice policy.