Back to skill

Security audit

个人背调底稿

Security checks for vulnerabilities and agentic risk

Overview

The skill’s background-check purpose is disclosed, but it tells agents to run an externally sourced, unpinned Cue runner that is not included in the reviewed artifact.

Review the Cue runner source and install process before using this skill, preferably pin it to a trusted commit or signed release, and treat the Cue API key plus generated background-check reports as sensitive. Use it only for lawful, consented, public-record checks where applicable.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • 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)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:66
Finding
Execution of an Unpinned and Unaudited Remote Runner## Vulnerability Details **File Location**: `SKILL.md`, lines 66-85 **Vulnerability Type**: Remote payload retrieval and execution through a mutable external repository **Risk Level**: High ### Vulnerable Code The Skill directs users to obtain the runner from externally maintained repositories: ```text https://github.com/sensedeal/cue-skills https://gitee.com/sensedeal/cue-skills ``` It subsequently instructs the Agent to execute the installed runner: ```bash python3 ~/.cue/cue-skills/cue-research/scripts/research_run.py \ --query "target person background-check report: corporate appointments, external investments, judicial risks, administrative penalties, and business network" \ --template-id template_m4NxQy \ --output ~/cue-reports/$(date +%Y-%m-%d-%H%M)-person-check.md ``` ### Technical Analysis The Skill requires an externally maintained Cue runner to be cloned and executed locally. However, it does not pin the runner to an immutable commit or release and does not provide a cryptographic checksum, digital signature, or bundled copy that can be reviewed with the Skill. The referenced one-click installation section also contains no installation command. Therefore, the provenance and exact version of the runner that will be installed cannot be established from the audited project. Because the external repository and mirror are mutable, the effective code executed by `research_run.py` can change after this Skill has been reviewed. A compromised upstream account, repository, mirror, release process, or network delivery path could substitute malicious Python code while the documented invocation continues to appear legitimate. ### Attack Path 1. An attacker compromises the upstream repository, mirror, maintainer account, or distribution process. 2. The attacker modifies the externally hosted runner or its installation process. 3. A user follows the Skill documentation and obtains the current mutable v ...[truncated 1197 chars]
Remediation
## Remediation Suggestions 1. Pin the runner to a specific immutable Git commit or cryptographically signed release rather than cloning a mutable branch. 2. Publish and verify a SHA-256 digest for every runner artifact before execution. 3. Require signed commits or release signatures and document the trusted signing identity and verification procedure. 4. Bundle the required runner source inside the Skill package so that it is included in security review. 5. Replace the empty installation block with an explicit, reviewable installation procedure that checks the pinned revision and checksum. 6. Avoid silently falling back between GitHub and Gitee mirrors unless both artifacts are independently authenticated and verified as identical. 7. Execute the runner in a sandbox with minimal filesystem and network permissions. 8. Restrict credential exposure by providing the API key only to the process that requires it and preventing access to unrelated user files. 9. Review runner updates before changing the pinned version, and repeat security testing whenever the dependency is updated.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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

Static analysis

No suspicious patterns detected.