T09 · Insecure Skill Coding Practices
- Location
SKILL.md:6- Finding
External manuscript processing contradicts local-only privacy assurances
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:6, 62;references/审核流程.md:50-88
Vulnerability Type: Misleading privacy boundary and undisclosed external data processing
Risk Level: MediumTechnical Analysis
The Skill description promises that processing is entirely local, requires no API key, and does not upload manuscripts. However, the prescribed review workflow directs the agent to invoke separately installed RedFox helper Skills that use an external API.
Relevant instructions, translated into English:
text SKILL.md:6 Processing runs entirely locally, requires no API key, and does not upload manuscripts. SKILL.md:62 Step 1: RedFox official prohibited-word detection — invoke the RedFox API script for detection; fall back to local rules if unavailable. references/审核流程.md:50-77 This step calls the official prohibited-word database through the RedFox API. python3 ~/.workbuddy/skills/xiaohongshu-prohibited-word/scripts/check_sensitive_words.py \ --content="content to be reviewed" python3 ~/.workbuddy/skills/wechat-prohibited-word/scripts/check_sensitive_words.py \ --content="content to be reviewed" The REDFOX_API_KEY environment variable is configured in the shell environment, and the script reads it automatically.The external step is conditional on the relevant helper Skill being installed. Nevertheless, when that condition is met, unpublished user content is supplied to a helper explicitly documented as using an external API. There is no instruction requiring informed user consent before that transfer.
This is not evidence that the RedFox service or helper scripts are malicious. The security issue is the mismatch between the declared local-only privacy boundary and the effective workflow.
Attack Path
- A user submits an unpublished manuscript for compliance review, relying on the local-only and no-upload claims.
- The target platform is Xiaohongshu, WeChat, or ...[truncated 810 chars]
- Remediation
View remediation
Remediation Suggestions
- Make
scripts/check_prohibited_words.pythe default review path. - Remove the unconditional local-only and no-upload claims, or ensure that no external helper is invoked while those claims remain.
- Before any external submission, disclose:
- The receiving service.
- The exact content being transmitted.
- The purpose of transmission.
- Applicable retention and privacy considerations.
- Require explicit per-request opt-in before invoking an external API.
- Provide a clear local-only option that cannot invoke RedFox or other network-backed helpers.
- Prefer passing content through standard input rather than command-line arguments to reduce incidental exposure through process listings.
- Make
