Back to skill

Security audit

MCP Development Kit: Guide + Server Templates + Registry Configs

Security checks for vulnerabilities and agentic risk

Overview

This is a non-executable documentation bundle, but it requests high-value credentials without showing a need for them.

Review before installing. Do not provide Stripe keys, signing keys, wallet details, or platform API keys to this bundle unless the publisher explains why each value is needed and how it is scoped; for the current artifact, those secrets appear unnecessary.

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:13
Finding
Unnecessary Declaration of High-Value Credentials## Vulnerability Details **File Location**: `SKILL.md`, lines 13–20 **Vulnerability Type**: Excessive credential access violating least privilege **Risk Level**: Medium ### Vulnerable Code ```yaml credentials: [STRIPE_API_KEY, GREENHELIX_API_KEY, AGENT_SIGNING_KEY, WALLET_ADDRESS] metadata: openclaw: requires: env: - STRIPE_API_KEY - GREENHELIX_API_KEY - AGENT_SIGNING_KEY - WALLET_ADDRESS primaryEnv: STRIPE_API_KEY ``` ### Technical Analysis The manifest declares access to a Stripe API key, a GreenHelix API key, an agent signing key, and a wallet address. However, the audited package contains only a 34-line documentation manifest and is explicitly marked `executable: false`. It contains no scripts, templates, network operations, or other implementation that requires these credentials. Requiring payment and signing credentials without a demonstrated functional need violates the principle of least privilege. `STRIPE_API_KEY` and `AGENT_SIGNING_KEY` are particularly sensitive because their effective privileges may include payment-platform operations and cryptographic authorization, depending on how the credentials are configured. The current package contains no code that reads, transmits, or misuses these values, so active credential theft or exfiltration is not established. The risk arises from unnecessarily making high-value secrets available to the Skill context, increasing the consequences of future package changes, prompt injection, or a compromised execution component. ### Attack Path 1. A user installs or loads the Skill based on its manifest. 2. The host attempts to satisfy the declared environment requirements. 3. The host exposes the listed payment, API, and signing credentials to the Skill context or associated runtime. 4. A later malicious package update, injected instruction, or compromised runtime component accesses those unnecessarily exposed val ...[truncated 1010 chars]
Remediation
## Remediation Suggestions 1. Remove all entries from `credentials` and `metadata.openclaw.requires.env` because the current documentation-only package does not use them. 2. Remove `primaryEnv: STRIPE_API_KEY` unless executable functionality with a documented Stripe integration is added. 3. If future functionality legitimately requires authentication, request only the specific credential needed by that operation. 4. Use narrowly scoped, short-lived tokens instead of unrestricted or long-lived API keys. 5. Do not expose private signing keys directly to a general Skill runtime. Use a dedicated signing service, hardware-backed keystore, or approval-gated signing interface. 6. Separate optional integrations so credentials are requested only when the corresponding feature is invoked. 7. Document each credential's purpose, required scope, storage expectations, and rotation procedure. 8. Add validation to release review processes to reject non-executable or documentation-only Skills that declare unnecessary secrets.
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • 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
Findings (1)

Context-Inappropriate Capability

Medium
Confidence
95% confidence
Finding
This bundle is explicitly marked non-executable and described as documentation, guides, and templates, yet it declares four sensitive credentials as required environment variables. Requiring payment, platform, signing, and wallet secrets for static content creates unnecessary secret exposure risk during installation, indexing, or runtime by agent platforms that may provision these values automatically.

Static analysis

No suspicious patterns detected.