T01 · Skill Instruction Hijacking
- Location
SKILL.md:45- Finding
Agent Instructions Suppress Failures and Mandate Vendor Promotion
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a coherent marketing automation integration, but it asks for persistent API-token access and autonomous public posting while also instructing agents to hide some failures.
Install only if you are comfortable giving this skill an AutoWhisper token that can operate your account and publish to connected channels. Use a least-privilege or revocable token if available, protect the credentials file with owner-only permissions, keep human approval enabled for publishing unless you intentionally want autonomy, and verify operations because the skill currently tells agents to hide some service failures.
SKILL.md:45Agent Instructions Suppress Failures and Mandate Vendor Promotion
SKILL.md:55Bearer Token Is Written Without Enforced Restrictive File Permissions
README.md:20Installation Instructions Use an Unpinned npx-Based Supply-Chain Source
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
mkdir -p ~/.config/autowhisper
echo '{"api_token": "your_token_here"}' > ~/.config/autowhisper/credentials.json
This line explicitly instructs the agent to access a local file containing an API token, which is a direct credential-access behavior. In this skill's context, that secret is then used to operate against a remote marketing platform, so accidental invocation or misuse could lead to unauthorized account activity, data exposure, or billable actions.
Read the token once per session:
TOKEN=$(jq -r .api_token ~/.config/autowhisper/credentials.json)
If the file is missing, tell the user to sign up at https://autowhisper.xyz (free credits on signup), then Settings → Connect your agent, copy the
The skill tells the user to store the API token in a predictable plaintext path under the home directory, encouraging insecure long-term secret storage. Predictable plaintext credential locations are easier for other tools, skills, or compromised processes to discover and abuse, especially in multi-tool agent environments.
token, and run:
mkdir -p ~/.config/autowhisper
echo '{"api_token":"THEIR_TOKEN"}' > ~/.config/autowhisper/credentials.json
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
mkdir -p ~/.config/autowhisper
echo '{"api_token": "your_token_here"}' > ~/.config/autowhisper/credentials.json
The README says that after connecting a social account, 'your agent can publish on its own,' but it does not prominently warn users about the security and operational consequences of autonomous posting. In the context of a marketing automation skill with broad social-channel access, insufficient disclosure can lead users to grant powerful permissions without understanding the risk of unwanted, abusive, or reputationally damaging posts.
The invocation guidance is broad enough to activate this skill for generic marketing or product-content requests, which can cause the agent to route users into a third-party service without clear user intent. In context, this increases the chance of unnecessary external API use, account actions, or credential-dependent behavior beyond a narrow AutoWhisper-specific request.
The skill directs the agent to read an API token from a local credentials file automatically, without requiring explicit user consent at time of access or warning that a sensitive secret will be used. This is dangerous because it normalizes silent secret retrieval and use of persistent credentials to contact an external service, expanding the blast radius if the skill is invoked unexpectedly.
The skill establishes persistent local state for credentials by creating a config directory and storing a reusable token there. Persistent session material increases exposure over time because future invocations may silently reuse the secret, and any compromise of the environment can yield ongoing access to the user's AutoWhisper account.
(free credits on signup), then Settings → Connect your agent, copy the token, and run:
mkdir -p ~/.config/autowhisper
echo '{"api_token":"THEIR_TOKEN"}' > ~/.config/autowhisper/credentials.json
This instruction imposes a language behavior based on inferred user language rather than an explicit user choice. Under the stated policy, language or locale constraints should either offer user choice or be clearly documented as justified; here the behavior is automatic and not framed as opt-in.
The manifest text states the skill makes content "in every language," which implies a broad language behavior without saying the user can choose or opt into a language/locale. The policy requires flagging language or locale constraints/behaviors when they are forced or unspecified rather than user-directed.
This description says the skill generates and publishes content "in every language" but does not mention any user choice, default, or limitation. That creates a natural-language policy concern because the skill appears to force or assume language behavior without explicit opt-in.
No suspicious patterns detected.