Back to skill

Security audit

OpenA2A Security

Security checks for vulnerabilities and agentic risk

Overview

This security-audit skill is purpose-aligned, but it tells agents to run an unpinned npm tool against sensitive OpenClaw files while claiming no network use.

Review before installing. The skill's goal is legitimate, but only run the scanner from a pinned, trusted version or a locked local install, preferably with ~/.openclaw mounted read-only and outbound network blocked during scans. Treat generated reports as potentially sensitive because they may contain configuration findings or file paths.

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

Error
Location
SKILL.md:134
Finding

Unpinned npm Package Is Downloaded and Executed with Access to Sensitive OpenClaw Data

Content
View full analysis
``` ### CVE Detection Only ```bash npx hackmyagent scan --cve ~/.openclaw ``` ### Configuration Audit ```bash npx hackmyagent audit ~/.openclaw/config.json5 ``` ### Generate Security Report ```bash npx hackmyagent secure ~/.openclaw --format html --output security-report.html ``` ``` ### Technical Analysis The Skill instructs the agent to execute `npx hackmyagent` without an exact package version, lockfile, integrity hash, or verified local installation. If the package is not already available locally, `npx` can resolve and download it from the configured npm registry before executing its CLI. Consequently, the code executed by this Skill can change after the Skill itself has been reviewed. This behavior conflicts with the frontmatter declaration `network: []` and with the statements that the Skill “runs entirely locally” and makes “no external API calls.” Package resolution and retrieval may require network access. More importantly, the downloaded package is executed with the permissions of the agent process and is explicitly given sensitive paths such as `~/.openclaw` and `~/.openclaw/config.json5`. The scanner legitimately needs read access to OpenClaw configuration for its declared auditing function. However, giving a mutable, remotely resolved package that access is not the minimum-risk implementation. A compromised npm release, maintainer account, registry, dependency, or local npm registry configuration could turn the security scan into arbitrary code execution. The reviewed Markdown does not prove that the current `hackmyagent` packag ...[truncated 2325 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (10)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The skill declares an executable dependency as npx hackmyagent without pinning an exact package version. Because npx may resolve and execute the latest published package, a compromised or unexpectedly changed upstream release could run arbitrary code on the user's machine, which is especially risky for a security-themed skill that encourages trust and local execution.

Content

No source excerpt is available for this finding.

Unsafe Defaults

Medium
Category
Tool Misuse
Confidence
70% confidence
Finding

Tool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.

Content

Scanner excerpt · SKILL.md (reported line 114)May include surrounding context.

md
| Check | What It Detects |
|-------|-----------------|
| CRED-001 | Credentials exposed via gateway API |
| CRED-002 | Credential files with world-readable permissions |
| CRED-003 | Plaintext credential storage without encryption |
| CRED-004 | Timing side-channel in authentication |

Unsafe Defaults

Medium
Category
Tool Misuse
Confidence
70% confidence
Finding

Tool defaults are unsafe or overly permissive (e.g. disabled TLS verification, no authentication, world-writable permissions). Unsafe defaults widen the attack surface.

Content

Scanner excerpt · SKILL.md (reported line 176)May include surrounding context.

md
| Check | What It Detects |
|-------|-----------------|
| CRED-001 | Credentials exposed via gateway API |
| CRED-002 | Credential files with world-readable permissions |
| CRED-003 | Plaintext credential storage without encryption |
| CRED-004 | Timing side-channel in authentication |

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The full security audit command instructs users to run npx hackmyagent without a pinned version, which can cause execution of whatever version is currently served by the registry. If the package is hijacked or updated maliciously, the user would execute attacker-controlled code while expecting a defensive audit tool.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The specific-skill scan command uses unpinned npx, exposing users to package substitution or malicious upstream updates at execution time. Since this command is intended to inspect potentially sensitive local skill content, arbitrary code execution through the scanner would have access to that environment and user permissions.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The CVE detection command again relies on npx hackmyagent without version pinning, creating a supply-chain execution risk. Users are encouraged to run it locally against their OpenClaw installation, so a malicious package could inspect, modify, or exfiltrate local configuration and credentials.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

The configuration audit command invokes an unpinned remote package through npx, which is a classic supply-chain risk. Because the command targets a configuration file that may contain security-sensitive settings, compromise of the package could expose or alter important local state.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding

Generating the HTML report uses the same unpinned npx execution path, so the reporting workflow inherits the same arbitrary-code-execution exposure. The skill's security branding may make users less suspicious and more likely to run the command with confidence, increasing practical exploitability.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
93% confidence
Finding

The recommendation to run npx hackmyagent secure repeats the same unpinned execution pattern in prescriptive guidance, reinforcing unsafe usage. Because it is framed as an immediate security recommendation, users may execute it quickly without scrutinizing the package source, amplifying supply-chain risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

This markdown file documents a command that creates security-report.html, which is a filesystem write affecting user data and workspace state. While the command is legitimate for the skill's purpose, the description does not explicitly warn the user that running it will create or overwrite a local file.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.