Back to skill

Security audit

区域政策商机简报

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent Cue-based research purpose, but it relies on an unreviewed external runner and asks the agent to use API credentials with limited scoping guidance.

Review the external cue-skills runner before installing, prefer a pinned commit or verified release, and avoid using sensitive client, regulated, or confidential business data unless you trust Cue's handling of prompts, reports, and API credentials. Run it with ordinary user privileges and keep the output directory and API key exposure limited.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:59
Finding
Execution of an Unpinned and Unaudited External Runner## Vulnerability Details **File Location**: `SKILL.md`, lines 59-78 **Vulnerability Type**: Unpinned external dependency and supply-chain exposure **Risk Level**: Medium The relevant instructions state that an installer should obtain a runner from an external repository and subsequently execute that runner: ```bash # The document identifies these mutable runner sources: # https://github.com/sensedeal/cue-skills # https://gitee.com/sensedeal/cue-skills python3 ~/.cue/cue-skills/cue-research/scripts/research_run.py \ --query "Target region policy opportunity brief: policy releases, investment developments, compliance leads, prospect list" \ --template-id template_30MSWO \ --output ~/cue-reports/$(date +%Y-%m-%d-%H%M)-regional-policy-brief.md ``` ### Technical Analysis The project does not contain the referenced installer or runner. The installation code block is empty, while the documentation points users to mutable GitHub and Gitee repositories without specifying an immutable commit, release digest, checksum, or signature. Consequently, the effective executable code is outside the reviewed artifact. A repository compromise, malicious update, account takeover, or unsafe installation process could alter the runner after this Skill has been reviewed. Executing the runner with `python3` grants it the permissions of the invoking user. This is an insecure dependency rather than a confirmed malicious payload: the audited file does not itself download or execute a response through `curl | bash`, and no malicious runner code was available in the project. ### Attack Path 1. An attacker compromises or gains publishing access to one of the referenced runner repositories or its distribution path. 2. The attacker modifies the runner or installer while preserving the expected filename and command-line interface. 3. A user installs or updates the runner without verifying an immutable revision or cryptographic digest. 4. ...[truncated 824 chars]
Remediation
## Remediation Suggestions 1. Bundle the complete runner and installer in the Skill so they can be reviewed with the documentation. 2. If external distribution is necessary, pin an immutable commit or version and publish a verified SHA-256 digest or cryptographic signature. 3. Provide an explicit installation command that checks the digest before executing any downloaded content. 4. Never use a remote-script-to-shell pipeline such as `curl URL | bash`. 5. Run the dependency with ordinary user privileges and, where practical, isolate it in a container or sandbox with access limited to the required output directory and Cue endpoint. 6. Restrict the runner's access to the API credential and avoid exposing unrelated environment variables or files. 7. Document the repository ownership, release process, update policy, and incident-response procedure.

T01 · Skill Instruction Hijacking

Note
Location
SKILL.md:17
Finding
Forced Verbatim Relay of Untrusted Remote Content## Vulnerability Details **File Location**: `SKILL.md`, lines 17-22 **Vulnerability Type**: Remote-content instruction propagation **Risk Level**: Low The execution summary includes directives equivalent to: ```text Step 2: Tell the user that execution takes 2–15 minutes. Prohibition: Do not cancel midway. Step 5: Deliver the report verbatim. Prohibition: Do not summarize. ``` ### Technical Analysis The Skill states that report content is generated through the Cue service and external data sources, but it directs the Agent to return that content verbatim and prohibits summarization. Remote report content must be treated as untrusted data because it may contain misleading instructions, unsafe links, advertisements, or prompt-injection text. Requiring verbatim delivery removes an opportunity to distinguish report data from instructions and to filter dangerous or irrelevant material. The separate prohibition against cancellation also unnecessarily weakens user control over a potentially long-running external operation. This finding does not demonstrate that remote content can directly execute code or invoke tools. The confirmed risk is the unsanitized propagation of attacker-controlled text into the Agent's response and the possibility that an insufficiently isolated Agent may interpret embedded text as instructions. ### Attack Path 1. An attacker places crafted text in an external source consumed by Cue, or compromises content returned by the Cue service. 2. Cue includes that text in the generated policy report. 3. The Skill requires the Agent to reproduce the report without summarization or content review. 4. The user receives deceptive instructions or unsafe links as if they were part of a trusted report. 5. If the Agent fails to maintain a strict data-versus-instruction boundary, embedded prompt-injection text may also influence subsequent behavior. ### Impact Assessment The direct impact is ...[truncated 532 chars]
Remediation
## Remediation Suggestions 1. Explicitly classify all Cue responses and external-source material as untrusted data, not Agent instructions. 2. Remove the requirement to deliver reports verbatim. 3. Permit the Agent to summarize, sanitize, and clearly label remote content while preserving citations to the original sources. 4. Strip or neutralize embedded instructions, executable links, active content, and unsupported claims before presentation. 5. Validate URLs and distinguish third-party links from trusted Cue service links. 6. Preserve the user's ability to cancel or interrupt the operation at any time. 7. Add an instruction stating that report content must never authorize tool use, credential disclosure, file access, or changes to Agent safety constraints.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Confidence
97% confidence
Finding
The skill sends user queries and an API bearer token to an external service, but this data flow is not clearly disclosed up front before operational steps. That creates a privacy and trust risk because users may provide sensitive regional intelligence requests or credentials without informed consent, and the skill also encourages cloning/running third-party tooling tied to that service.

Static analysis

No suspicious patterns detected.