Back to skill

Security audit

OpenClaw Agent Swarm

Security checks for vulnerabilities and agentic risk

Overview

This skill is openly about autonomous coding agents, but it gives them high-impact capabilities without enough scoping, approval, or credential-safety guidance.

Review this before installing if you are comfortable with autonomous agents modifying code and potentially opening PRs. Use least-privilege API keys, restrict permissions on the .agent-env file, avoid global installs where possible, pin package versions, and require human review before any PR or repository-changing workflow is allowed.

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:25
Finding
Unpinned Global npm Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 25-26 **Vulnerability Type**: Unpinned third-party dependencies installed globally **Risk Level**: Medium **Vulnerable Code**: ```bash npm install -g @openai/codex npm install -g @anthropic-ai/claude-code ``` ### Technical Analysis The installation instructions use npm package names without exact version constraints, lockfile enforcement, or integrity verification. Consequently, npm resolves whichever package versions are current when a user runs these commands. The packages are also installed globally, increasing their reach beyond the project directory. npm installation can invoke package lifecycle behavior with the permissions of the user running npm. If a package publication account, registry, release pipeline, or transitive dependency is compromised, a malicious release could execute code during installation. No evidence indicates that the named packages are currently malicious or typo-squatted; the risk arises from mutable, unverified dependency resolution and global installation. ### Attack Path 1. An attacker compromises a package publication account, its release pipeline, the configured npm registry, or a dependency included in a newly published release. 2. The attacker publishes a malicious version under a package name referenced by the documented commands. 3. A user follows the installation instructions without specifying a reviewed version. 4. npm resolves and downloads the malicious release. 5. Malicious package lifecycle code executes with the invoking user's permissions, or the installed command later executes attacker-controlled logic. 6. Because installation is global, the compromised executable can remain available through the user's command search path and affect activity outside this project. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user running npm. This may permit access ...[truncated 483 chars]
Remediation
## Remediation Suggestions - Pin each dependency to an exact, reviewed version rather than resolving the latest release. - Prefer project-local installations recorded in a lockfile over global installations. - Use reproducible installation mechanisms that enforce lockfile contents and package integrity metadata. - Verify package provenance, publisher identity, signatures or attestations, and registry configuration before installation. - Review transitive dependencies and use automated dependency vulnerability monitoring. - Where compatible, disable npm lifecycle scripts during installation and explicitly run only reviewed setup steps. - Run installation under an unprivileged account and avoid `sudo` or administrative shells. - Document trusted registry requirements and periodically review pinned versions before upgrading.
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 (3)

Vague Triggers

Medium
Confidence
90% confidence
Finding
The invocation examples are extremely broad and can cause the skill to activate for generic coding requests without clearly signaling that it may spawn autonomous agents. In a multi-agent coding system, ambiguous activation increases the chance of unexpected delegation, unintended code changes, or autonomous actions being taken without informed user consent.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
Advertising automatic PR creation by autonomous agents without a clear warning is dangerous because it normalizes repository-modifying actions that may occur with limited user oversight. In this context, autonomous PR generation can introduce malicious, unsafe, or simply incorrect changes into source control, especially if users do not realize the skill may create externalized code artifacts automatically.

Missing User Warnings

Low
Confidence
84% confidence
Finding
Telling users to place API keys in a filesystem path without credential-handling guidance can lead to secrets being stored insecurely, with overly broad permissions, or accidentally exposed to spawned agents and tooling. In a multi-agent environment, the risk is elevated because more processes and agent contexts may gain access to those credentials once configured.