Back to skill

Security audit

maple-structured-storage

Security checks for vulnerabilities and agentic risk

Overview

This knowledge-archive skill is not malicious, but it can store and move private files and secrets in plaintext without enough safeguards.

Review this skill before installing if your notes, source folders, configs, or code may contain credentials, private endpoints, personal data, or proprietary material. Use a dedicated archive folder, avoid pointing it at broad project or home directories, and manually redact secrets before archiving until the skill adds explicit secret handling, previews, and confirmation for file moves and write-backs.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
references/file-rules.md:20
Finding

Plaintext Archival of Credentials and Sensitive Configuration

Content
View full analysis

Vulnerability Details

File Location: references/file-rules.md:20-38, with supporting instructions at SKILL.md:121-122
Vulnerability Type: Plaintext storage and duplication of sensitive data
Risk Level: Medium

Relevant source excerpt translated into English:

markdown
## Metadata

- The authentication key for the xxx API is private-00912ksi
- The project deployment server address is 192.168.1.100:8080

## code.md

Store all code snippets, scripts, and configuration-file contents.
Preserve the original code without modification.

## resource/

Copy local files mentioned by the user into this directory.

Supporting archive constraints from SKILL.md:121-122, translated into English:

markdown
- Do not lose information; retain extra information rather than omit anything.
- Preserve code completely without truncation or omission.

Technical Analysis

The skill explicitly instructs the agent to preserve authentication keys, scripts, configuration contents, and referenced local files without modification. It also requires retaining all information rather than omitting potentially sensitive content.

These rules create an insecure data-handling workflow because they define no secret-detection, redaction, exclusion, encryption, access-control, or retention requirements. A document containing API tokens, passwords, private keys, connection strings, internal addresses, or other credentials can therefore be duplicated into searchable Markdown files such as meta.md or code.md. Referenced files can likewise be copied into the archive's resource/ directory.

The credential shown in the documentation appears to be an example rather than a confirmed active secret. The vulnerability is the prescribed handling of future real credentials, not proof that the displayed value is usable.

Attack Path

  1. A user supplies a note, source file, configuration file, or referenced resource c ...[truncated 1221 chars]
Remediation
View remediation

Remediation Suggestions

  1. Add secret scanning before any content is archived. Detect API keys, access tokens, passwords, private keys, connection strings, cloud credentials, and high-entropy values.
  2. Redact detected secrets by default and record only a placeholder such as [REDACTED SECRET].
  3. Exclude sensitive file types and locations by default, including .env files, credential stores, SSH keys, cloud credential directories, password databases, and production configuration files.
  4. Require explicit, informed user confirmation before retaining any detected sensitive value or copying a potentially sensitive resource.
  5. Store archives with restrictive permissions limited to the current user. Avoid shared or world-readable directories.
  6. Support encryption at rest when confidential records must be preserved.
  7. Prevent generated archives from being committed accidentally by adding appropriate ignore rules and clear warnings.
  8. Apply data-minimization and retention policies instead of requiring unconditional preservation of all content.
  9. Replace credential-like documentation examples with unmistakable placeholders such as REDACTED_API_KEY.
  10. Document a secure deletion and credential-rotation procedure for cases where secrets have already been archived.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Context-Inappropriate Capability

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The rules explicitly give examples of storing a plaintext authentication key and an internal server address in the knowledge archive. For a knowledge indexing/archival skill, persisting secrets and infrastructure details in shared markdown files is unnecessary and materially increases the risk of credential leakage, lateral movement, and accidental disclosure through retrieval, syncing, or reuse of the archive.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The document instructs the system to retain sensitive user-provided secrets and infrastructure details in markdown knowledge files, and elsewhere directs copying user-mentioned local files into a resource directory. In the context of a structured memory/storage skill, this is especially dangerous because the whole purpose is long-term retention and retrieval, which amplifies exposure, propagation, and accidental resurfacing of sensitive data.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger list is extremely broad and includes common verbs like 归档/存储/记录/保存 as well as generic English terms such as 'structured summary' and 'retrieve'. This increases the chance the skill activates on ordinary conversations or unrelated file-handling tasks, causing unintended ingestion, indexing, or movement of user data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The workflow moves processed source files into source_path/done/, but the description does not prominently warn users of this side effect before operation. A user may expect read-only indexing and instead lose the original file location, which is especially risky when broad triggers can invoke the skill unexpectedly.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The reflection step actively solicits missing contextual details such as people, timing, causes, and related systems, then persists those answers back into knowledge files. This can progressively enrich records with sensitive operational, personal, or security-relevant metadata that was not initially present, increasing exposure and the blast radius of later retrieval or leakage.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The constraints explicitly require not omitting information, fully preserving code, and appending all existing content, which encourages wholesale retention and reproduction of user-provided material. In a knowledge-archiving skill, this creates a substantial risk of storing secrets, credentials, personal data, proprietary code, or regulated information in multiple indexed locations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The workflow explicitly says that after the user answers, the skill will write supplemental information into corresponding files, but it does not require an explicit warning or confirmation before modifying stored markdown content. In a knowledge-management skill, silent or implicit write-back can lead to unauthorized, accidental, or misleading persistence of user-provided data across description.md, process.md, and meta.md.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The user-trigger phrases include broad, natural language terms such as “补充信息” and “检查缺失”, which can plausibly appear in ordinary conversation unrelated to a request to run the reflection workflow. In a skill that reads indexed content and generates follow-up questions, this creates a real risk of unintended activation, causing unexpected retrieval of stored knowledge and prompting based on prior notes.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

This file contains user-facing natural-language instructions exclusively in Chinese, which can amount to a language/locale policy constraint if users are not given a choice. The policy explicitly allows locale constraints only when documented and justified, which is not present here.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.