Back to skill

Security audit

记忆快速启动

Security checks for vulnerabilities and agentic risk

Overview

This is a local memory skill, but it asks the agent to persist user information broadly and has inconsistent scoping, network, and install guidance that users should review before installing.

Install only if you are comfortable with a local memory system that can retain project and user details across sessions. Pin and review the npm package before installing, avoid administrator installs, confirm before storing sensitive information or deleting/cleaning memory, and do not enable Gist or callback-style network features unless you explicitly want memory data to leave the machine.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:98
Finding

Unpinned Global Installation of a Third-Party npm Package

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:98
Vulnerability Type: Unpinned third-party dependency installed globally
Risk Level: Medium

Vulnerable Code Snippet

bash
npm install -g simple-local-memory

The same unversioned installation instruction is also referenced in the dependency table at SKILL.md:177.

Technical Analysis

The skill directs users to install simple-local-memory from the npm registry without specifying an exact version, integrity hash, lockfile, or verified source repository. npm will therefore resolve whichever package release is represented by the applicable registry tag at installation time. The installed implementation can change after this skill has been reviewed.

npm packages may execute lifecycle scripts during installation. Because the package is installed globally with -g, such scripts execute with the permissions of the user running npm and can modify globally accessible package or command locations. If a user follows the separate generic recommendation to run with administrator privileges when permission errors occur, the potential impact could be greater, although the installation instruction itself does not explicitly require elevation.

This is a supply-chain weakness rather than evidence that the named package is currently malicious. The project provides no package implementation, lockfile, checksum, provenance record, or verification procedure with which to validate the dependency.

Attack Path

  1. An attacker compromises the npm package, its maintainer account, or its publication pipeline and publishes a malicious release under the version resolved by the unpinned command.
  2. A user follows the skill documentation and runs npm install -g simple-local-memory.
  3. npm downloads the mutable package release and may execute its installation lifecycle scripts.
  4. Malicious package code executes with the installing user's privileges.
  5. The package co ...[truncated 1001 chars]
Remediation
View remediation

Remediation Suggestions

  1. Pin the dependency to an exact reviewed version, for example:
    bash
    npm install --save-exact simple-local-memory@<reviewed-version>
    
  2. Prefer a project-local dependency over a global installation and invoke its executable through a pinned package script or local node_modules/.bin path.
  3. Commit and enforce a lockfile with integrity metadata. Use npm ci in automated or reproducible environments.
  4. Document the authoritative package repository, expected publisher, reviewed version, and package provenance.
  5. Verify registry signatures, provenance attestations, or independently published checksums where available.
  6. Review package contents and lifecycle scripts before installation. Where compatible with deployment requirements, install with lifecycle scripts disabled and explicitly run only reviewed setup operations.
  7. Do not recommend administrator execution as a general response to permission errors. Correct npm ownership or use a user-scoped package location instead.
  8. Reconcile the documentation's “zero external dependency” claim with its mandatory npm dependency so users can make an informed trust decision.
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
  • Behavioral ASTexec() Call, eval() Call, Dynamic Import
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (12)

Vague Triggers

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The description says to use the skill whenever data analysis, report generation, statistical insights, or data visualization are needed, even though the rest of the file describes a local memory system. This broad and mismatched trigger scope could cause unintended invocation for many ordinary analytics requests.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill instructs export, import, archive, cleanup, deduplication, and persistent storage operations over user memory data without prominent warnings, confirmations, or backup safeguards. In a write/exec-enabled agent, this can lead to unintended data loss, irreversible modification, or bulk exposure of stored memory through export actions.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill repeatedly claims the system is purely local and requires zero network use, yet elsewhere introduces callback URLs, GitHub Gist token-based sync, HTTPS transport guidance, and API-style workflows. This inconsistency can mislead operators into trusting the skill with sensitive data under a false assumption of no network exposure, increasing the risk of unintended data exfiltration or unsafe deployment decisions.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest description at L009-L010 says the skill should be used for data analysis, report generation, statistical insights, and data visualization, while the rest of the file consistently describes a local memory bootstrapper managing SESSION-STATE.json, MEMORY.md, and memory CLI workflows. This is a semantic mismatch between the advertised purpose and the documented behavior/scope.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The description states '支持中文交互,无需复杂配置即开即用,' and the file title/display name are also Chinese, but it does not offer language selection or explain that the skill is intentionally region- or language-specific. This can violate language/locale policy when a skill implicitly forces one language without user opt-in.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The workflow directs the agent to persist user preferences, decisions, deadlines, and corrections into memory before responding, creating broad default retention of conversational data. In practice, this can capture sensitive personal, project, or security-relevant information without minimization, consent, retention limits, or clear boundaries on what should never be stored.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The file claims coverage for a long list of loose keywords including generic terms like local, zero, dependency and broad scene descriptors, without clear trigger boundaries or negative examples. Such open-ended keyword matching is ambiguous and likely to collide with unrelated user requests.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The system-prompt guidance encourages the agent to read prior memory at session start and continuously write important user information during conversation. This normalizes persistent surveillance-like retention and increases the chance that sensitive or regulated data will be stored and resurfaced later without the user’s awareness.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The example stores both explicit project decisions and inferred user preferences from ordinary conversation, which encourages broad capture and inference-based retention. Inferring and persisting preferences is especially risky because it may store conclusions the user did not explicitly ask to save, increasing privacy and trust concerns.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The documented boundary says there is no built-in cross-device/cloud sync, but other sections describe cloud sync and network/API-related workflows as supported options. While this is primarily a documentation integrity issue, it can cause users to misunderstand where data may travel and whether persistence extends beyond the local machine.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill warns against concatenating user input into commands, but its examples directly interpolate conversational content into CLI arguments such as memory-store and memory-search. In an agent context with exec capability, this pattern can normalize unsafe command construction and lead to shell injection, argument confusion, or unintended command behavior if user-controlled strings are passed unsafely.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The markdown highlights '中文交互' as part of the core functionality, but nowhere in the user-facing description does it offer an alternative language mode. This reads as a default language constraint rather than an optional capability.

Content

No source excerpt is available for this finding.