Back to skill

Security audit

Max QMD Search

Security checks for vulnerabilities and agentic risk

Overview

The skill does what it says, but it installs a mutable GitHub-hosted Node package and can index local files, so users should review the install source and indexing scope before enabling it.

Install only if you trust the qmd GitHub source or can pin/review the exact revision being installed. When using the skill, index only directories you intend the tool and agent to search, because the local cache can retain searchable copies or representations of private content.

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:5
Finding
Unpinned Remote Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, line 5 **Vulnerability Type**: Unpinned executable dependency from a mutable remote repository **Risk Level**: Medium ### Vulnerable Code ```yaml metadata: {"clawdbot":{"emoji":"📝","requires":{"bins":["qmd"]},"install":[{"id":"node","kind":"node","package":"https://github.com/tobi/qmd","bins":["qmd"],"label":"Install qmd (node)"}]}} ``` ### Technical Analysis The installation metadata directs the host to install the `qmd` Node package directly from a GitHub repository without pinning an immutable commit, a reviewed release tag, or an integrity checksum. Because the repository reference is mutable, the code installed in the future may differ from the code reviewed when this skill was published. This creates a supply-chain trust issue: compromise of the upstream repository, its maintainer account, or its release process could introduce malicious package code or installation lifecycle scripts. Such code could execute locally under the privileges of the process performing the installation. The audit did not establish that the current upstream project is malicious. The finding concerns the unsafe, unpinned dependency source. ### Attack Path 1. An attacker compromises the upstream repository, a maintainer account, or another part of its publication process. 2. The attacker modifies the repository's package contents or lifecycle scripts. 3. A user or agent installs `qmd` through the skill's declared installation metadata. 4. The installer retrieves the repository's current mutable state rather than a previously reviewed immutable revision. 5. Malicious package or lifecycle code executes with the installer process's privileges. 6. The payload can access resources available to that process, potentially including local files, environment variables, credentials, and indexed documents. ### Impact Assessment Successful exploitation could permit arbitrary code execution within the installing user's security c ...[truncated 378 chars]
Remediation
## Remediation Suggestions 1. Pin the dependency to a reviewed, immutable commit hash rather than the repository's mutable default branch. 2. Prefer a specific signed release or trusted package-registry version when available. 3. Record and verify a cryptographic integrity hash for the retrieved artifact. 4. Review the pinned source, package manifest, dependency tree, and installation lifecycle scripts before approval. 5. Disable Node package lifecycle scripts during installation where they are unnecessary. 6. Perform installation and execution with least privilege in a sandbox that restricts filesystem, credential, and network access. 7. Use automated dependency monitoring, but require security review before updating the pinned revision.
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.