Back to skill

Security audit

詹明明·这生意靠谁

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent business-dependency assessment guide, but it asks to read shared persistent memory and save sensitive business details without clear user control.

Review this skill before installing if you use persistent agent memory. It may retain commercially sensitive details about your business dependencies and may read shared memory outside its own directory. Prefer installing only where memory access is isolated or where you can approve, inspect, and delete saved records.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:19
Finding
Overbroad Access to Shared Persistent Agent Memory## Vulnerability Details **File Location**: `SKILL.md`, line 19 **Vulnerability Type**: `T05: Unauthorized Access and Privilege Escalation` **Risk Level**: Medium ### Vulnerable Code Snippet ```markdown First read `config.yaml` (if it cannot be read, explicitly state that the configuration is missing and stop; do not use example values as if they were user settings), then read `zmm/references/交互规范.md` (...), and then read memory from `{config.paths.memory}/zmm-dependency/` plus `_通用/`. ``` The snippet above is an English translation of the instruction at the cited location. The original instruction mandates reading both the Skill-specific memory directory and the shared general-memory directory. ### Technical Analysis The Skill requires bulk access to `{config.paths.memory}/zmm-dependency/` and the shared `_通用/` memory area. Access to the Skill-specific directory is reasonably related to its business-dependency assessment, but mandatory access to the entire shared directory is broader than the declared task requires. Shared persistent memory may contain unrelated conversation history, user profile information, operational data, or records generated by other Skills. The instruction provides no record allowlist, field-level filtering, purpose limitation, or consent check before loading that data into the active model context. This violates the principle of least privilege. No network transmission or deliberate data-exfiltration instruction was identified. The issue is therefore overbroad local data access, not confirmed external exfiltration. ### Attack Path 1. A user invokes the dependency-assessment Skill. 2. The Skill reads `config.yaml` and resolves `config.paths.memory`. 3. Following `SKILL.md:19`, it loads both its dedicated memory and the shared `_通用/` memory directory. 4. Unrelated sensitive records from previous sessions or other Skills enter the active context. 5. Those records may influence the assessment or be unintentionally disclosed throug ...[truncated 840 chars]
Remediation
## Remediation Suggestions 1. Restrict default memory access to `{config.paths.memory}/zmm-dependency/`. 2. Do not bulk-load the shared `_通用/` directory. 3. If shared information is necessary, define an explicit allowlist of permitted records and fields. 4. Request user consent before accessing shared persistent information not created by this Skill. 5. Enforce purpose-based access controls in the host runtime rather than relying only on textual instructions. 6. Load the minimum records needed for the current assessment and discard them from active context when no longer required. 7. Add auditing that records which memory entries were read and why. 8. Apply retention and deletion controls to stored switching costs, operational dependencies, license cycles, and other commercially sensitive information. 9. Preserve redaction when storing or retrieving records, including replacing real counterparty names with neutral identifiers where appropriate.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (1)

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill explicitly instructs the agent to persist user and business information into a memory path, including business-specific dependency patterns, incidents, and historical switching costs, but it provides no requirement to obtain user consent or warn that data will be stored. This creates a privacy and data-governance risk because sensitive operational details may be retained across sessions unexpectedly, potentially exposing confidential business information beyond the user's intent.

Static analysis

No suspicious patterns detected.