T01 · Skill Instruction Hijacking
- Location
.- Finding
Agent-Turn Command Injection Through Scheduled Publishing Inputs
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This social-media automation skill is mostly purpose-aligned, but it needs review because it can affect real public accounts and contains unsafe scheduling, command construction, and token-handling patterns.
Review before installing or using with real accounts. Use dry-run/manual review by default, avoid untrusted content or plan files, do not register generated cron jobs without checking the full agentTurn message, and rotate any Weibo token that may have appeared in logs.
.Agent-Turn Command Injection Through Scheduled Publishing Inputs
.Browser Automation Command Injection Through Unescaped Social-Media Content
scripts/utils/weibo.js:26Weibo Access Token Disclosure Through Query Strings and Application Logs
scripts/generate_content.js:86Indirect Prompt Injection Through Untrusted Remote Trend Data
This variant of the mismatch specifically notes external network access to fetch hot topics without corresponding declared permissions. Undeclared outbound access is security-relevant because it can surprise users, expand data exposure, and bypass expected review of what the skill can send or retrieve.
This variant of the mismatch specifically notes external network access to fetch hot topics without corresponding declared permissions. Undeclared outbound access is security-relevant because it can surprise users, expand data exposure, and bypass expected review of what the skill can send or retrieve.
This variant of the mismatch specifically notes external network access to fetch hot topics without corresponding declared permissions. Undeclared outbound access is security-relevant because it can surprise users, expand data exposure, and bypass expected review of what the skill can send or retrieve.
This variant of the mismatch specifically notes external network access to fetch hot topics without corresponding declared permissions. Undeclared outbound access is security-relevant because it can surprise users, expand data exposure, and bypass expected review of what the skill can send or retrieve.
This variant of the mismatch specifically notes external network access to fetch hot topics without corresponding declared permissions. Undeclared outbound access is security-relevant because it can surprise users, expand data exposure, and bypass expected review of what the skill can send or retrieve.
The skill explicitly requires access tokens, API keys, and possibly browser cookies for social-media accounts. In this context, those credentials enable direct posting and account interaction, so any overexposure, mishandling, or unnecessary broad env access could lead to account takeover, unauthorized posting, or data leakage.
### Weibo
- Weibo Open Platform App Key / Access Token
- Or browser Cookie (configured via `references/weibo-guide.md`)
- Environment variables: `WEIBO_APP_KEY`, `WEIBO_ACCESS_TOKEN`
Referenced artifact was not completely inspected
node scripts/generate_content.js \
Referenced artifact was not completely inspected
node scripts/generate_content.js \
Referenced artifact was not completely inspected
node scripts/generate_content.js \
Referenced artifact was not completely inspected
node scripts/generate_content.js \
Referenced artifact was not completely inspected
node scripts/publish.js \
Referenced artifact was not completely inspected
node scripts/publish.js \
Referenced artifact was not completely inspected
node scripts/schedule_post.js \
Referenced artifact was not completely inspected
node scripts/schedule_post.js \
Referenced artifact was not completely inspected
node scripts/schedule_batch.js \
Referenced artifact was not completely inspected
node scripts/monitor_interactions.js \
The skill documents use of environment variables and authenticated platform access, but the manifest declares no explicit tool scope or permission boundary. That creates an authorization ambiguity where a host agent may expose env-backed secrets or external-action capability without clear user-visible consent and least-privilege controls.
The invocation keywords are broad enough to match many ordinary social-media requests, increasing the chance the skill is triggered in contexts where users did not intend account-affecting automation. In a skill capable of publishing, scheduling, or replying on external platforms, overbroad activation materially raises the risk of unintended high-impact actions.
The documentation presents one-click and scheduled publishing flows without a prominent warning that these actions can make real posts or replies using user-linked accounts. In the context of social-platform automation, missing action warnings can lead to accidental public posting, reputational damage, spam, or policy violations.
The browser automation flow includes direct steps to navigate to Weibo, enter content, and click publish without any warning, confirmation gate, or indication that the action posts publicly and may be difficult or impossible to undo fully once seen. In a social-media auto-publishing skill, this increases the risk of accidental public posting, unintended disclosure, reputational harm, and rapid propagation of unsafe or non-compliant content.
The instruction requires replies to use terms like "dear," "friend," and "sister," which imposes a particular language/register choice on all generated replies. This is a natural-language policy concern because the file does not offer the user a choice about whether to use these culturally specific forms of address.
The header comment describes this as an "AI Content Generator" that "Automatically generates social media content," which implies the script itself performs generation. However, the implementation only builds platform-specific prompt metadata, and an inline comment at L123 explicitly states that actual AI generation is handled elsewhere. This is an active contradiction between documentation and code behavior.
The Twitter prompt explicitly requires an 'English tweet within 280 characters.' This imposes a language constraint in natural-language instructions without offering the user a choice or documenting a justified region-specific requirement.
The script spawns a shell-executed subprocess to perform network retrieval from a third-party endpoint for automatic topic selection. While the command string is static, this design expands the attack surface through shell/process invocation and imports untrusted remote content directly into the publishing pipeline, which is riskier in a social auto-publisher because fetched topics may drive downstream autogenerated posts without validation.
The manifest describes an assistant that can automatically generate and publish content, but this code path for Xiaohongshu does not publish anything itself. It only prints a command sequence and explicitly says publication requires manual execution in a browser environment, which materially falls short of the advertised automated publishing behavior.
Detected: suspicious.dangerous_exec