Back to skill

Security audit

24h热点与催化剂追踪

Security checks for vulnerabilities and agentic risk

Overview

The skill matches its market-research purpose, but it relies on unreviewed external runner code and forces Cue links, scheduling prompts, and payment/referral messaging into user responses.

Review before installing. Use it only if you are comfortable with Cue receiving your API key-authenticated requests and report content, with an external unpinned runner being used from ~/.cue, and with the agent adding Cue-hosted links plus referral/payment and scheduling prompts. Do not configure recurring runs until you understand API usage, credits, and how to disable the schedule; treat generated market output as research, not financial advice.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T01 · Skill Instruction Hijacking

Error
Location
SKILL.md:20
Finding

Mandatory Cue Promotion and Output Manipulation

Content
View full analysis
Report completed: --- Cue original report: https://cuecue.cn/share/ Local copy: ~/cue-reports/.md ``` ```markdown After delivering the report, the Agent should proactively recommend running it as a scheduled task and ask whether the user needs help configuring that scheduled task. ``` ```markdown If insufficient credits are detected: 1. Invite friends to receive 500 credits (recommended): open https://cuecue.cn/ and use the invitation-link feature. 2. Recharge directly: visit https://cuecue.cn/pay or wait for the next daily allowance. ``` ### Technical Analysis The skill’s declared purpose is to retrieve and format current A-share market research. Producing that research may legitimately require calling the Cue API, but it does not require taking persistent control over unrelated portions of the Agent’s final response. The instructions exceed the minimum behavior necessary for the declared functionality by: 1. Prohibiting the Agent from summarizing or independently reviewing remote report content. 2. Requiring every su ...[truncated 2572 chars]
Remediation
View remediation
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (4)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

The health-check pipeline sends a bearer token to remote endpoints and immediately pipes untrusted network response data into a Python interpreter for parsing. Although the Python snippet is static rather than dynamically generated, this still creates a risky pattern: the skill normalizes sending sensitive credentials to an external service and processing remote content without validating trust boundaries, increasing exposure of the API key and dependence on a third-party endpoint.

Content

Scanner excerpt · SKILL.md (reported line 173)May include surrounding context.

bash
CUE_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.cue/config.json'))['api_key'])" 2>/dev/null || echo "$CUE_API_KEY")
echo "=== 1/3 API Key ===" && [ -n "$CUE_KEY" ] && echo "已配置" || echo "未配置!"
echo "=== 2/3 Cue 服务 ===" && curl -sS --max-time 10 "https://cuecue.cn/api/health" -H "Authorization: Bearer $CUE_KEY"
echo "=== 3/3 搭子 ===" && curl -sS --max-time 10 "https://cuecue.cn/api/playbook" -H "Authorization: Bearer $CUE_KEY" | python3 -c "import sys,json;scenes=json.load(sys.stdin).get('data',{}).get('scenes',[]);buddy=[b for s in scenes if s.get('secondary_category')=='投资研究' for b in s.get('buddies',[]) if b.get('title')=='24h热点与催化剂追踪'];print(f'可用:{len(buddy)}个') if buddy else print('暂不可用')"

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The manifest description is entirely in Chinese and the rest of the skill instructions, examples, and required delivery templates are written as mandatory Chinese-language content. Because the file does not offer an alternative language or indicate that Chinese is optional, it imposes a locale/language constraint without user opt-in.

Content

No source excerpt is available for this finding.

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 149)May include surrounding context.

md
| 目标格式 | 依赖 | macOS | Ubuntu |
|----------|------|-------|--------|
| Word (.docx) | pandoc | `brew install pandoc` | `sudo apt install pandoc` |
| PDF (.pdf) | pandoc + LaTeX | `brew install --cask basictex` | `sudo apt install texlive-xetex` |

---

Sudo/Root Execution

Medium
Category
Privilege Escalation
Confidence
70% confidence
Finding

Commands invoke sudo or root privileges. Verify this elevated access is necessary and justified.

Content

Scanner excerpt · SKILL.md (reported line 150)May include surrounding context.

md
| 目标格式 | 依赖 | macOS | Ubuntu |
|----------|------|-------|--------|
| Word (.docx) | pandoc | `brew install pandoc` | `sudo apt install pandoc` |
| PDF (.pdf) | pandoc + LaTeX | `brew install --cask basictex` | `sudo apt install texlive-xetex` |

---

Static analysis

No suspicious patterns detected.