T09 · Insecure Skill Coding Practices
- Location
scripts/agent2rss.sh:68- Finding
Dry-run mode exposes bearer tokens and submitted content
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is mostly coherent for publishing content to Agent2RSS, but it has review-worthy credential and content exposure risks in dry-run output and remote HTTP use.
Review this skill before installing. Use it only with a trusted HTTPS Agent2RSS server, avoid remote http:// endpoints, do not run DRY_RUN with real channel tokens or private content, and treat the local config file as sensitive because it stores channel bearer tokens.
scripts/agent2rss.sh:68Dry-run mode exposes bearer tokens and submitted content
scripts/agent2rss.sh:44Authenticated operations permit remote plaintext HTTP connections
scripts/agent2rss.sh:160Channel names and descriptions are interpolated into JSON without encoding
The skill advertises shell-based operation (bash, curl, jq, and scripts/agent2rss.sh) but does not declare an explicit tool scope such as permissions or allowed-tools. That means an agent may invoke shell/network-capable actions without a clear policy boundary, increasing the risk of unintended command execution, filesystem access, and outbound requests to a configurable remote server.
The trigger description is broad enough that ordinary mentions of RSS, channels, uploading articles, or default-channel setup could activate the skill in situations where the user did not intend remote publishing behavior. In this skill's context, accidental activation is more dangerous because the documented commands can create channels, upload files, and send content to a remote serverUrl, potentially exposing local content or causing unauthorized external side effects.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
请求
curl -X POST https://agent2rss.yaotutu.top:8765/api/channels \
-H "Content-Type: application/json" \
-d '{"name":"技术博客","description":"分享技术文章和教程"}'
The examples instruct users to send article content, uploaded files, and bearer tokens to a remote third-party server, but they do not warn that this transmits potentially sensitive data off-platform. In an agent skill context, users may paste private content or reuse privileged tokens without understanding the privacy and security implications, increasing the risk of unintended data disclosure.
Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.
}
ensure_secure_perms() {
chmod 600 "$CONFIG_FILE" 2>/dev/null || true
}
warn_if_remote_or_insecure() {
The example response sets language to zh-CN, and the document overall presents the API as using Chinese locale values without stating that this is merely illustrative or optional. The policy requires avoiding forced language/locale behavior unless the user is given a choice or the regional constraint is clearly documented.
Multiple response examples repeat language: "zh-CN", which can imply a fixed locale expectation for the skill or service. Because the file does not mention alternative locales or explain that the service is intentionally China-specific, this is a natural-language locale policy concern.
The update response example includes language: "zh-CN" but the surrounding documentation never tells users whether they can choose another language. Repeated fixed-locale examples across the document can amount to a policy issue when no user choice or justification is provided.
Detected: suspicious.exposed_secret_literal