Back to skill

Security audit

ACP Orchestrator

Security checks for vulnerabilities and agentic risk

Overview

This skill is a high-impact agent orchestrator whose core behavior is delegated to unpinned npm packages and whose examples launch or terminate agent work without much safety guidance.

Review this skill carefully before installing. Use it only with trusted task files and prompts, avoid running parallel or passthrough commands from untrusted sources, verify the npm package versions you install, and expect invoked agents to have the same file, tool, and credential access as your normal agent environment.

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
manifest.json:14
Finding
Unpinned Executable npm Dependencies Create a Supply-Chain Risk<![CDATA[ ## Vulnerability Details **File Location**: `manifest.json:14-20` **Vulnerability Type**: Unpinned third-party executable dependencies **Risk Level**: Medium ### Vulnerable Code ```json "install": { "npm": ["acpx"], "optional": { "acp-agents": ["opencode-ai", "@anthropic-ai/pi"], "cli-agents": ["kimi-cli", "kilocode"] } }, ``` ### Technical Analysis The manifest specifies executable npm packages without exact versions, lockfile references, or integrity hashes. Package resolution can therefore select mutable future releases rather than a version reviewed with this project. The project contains documentation and configuration but does not include the implementation of the advertised orchestrator. Its core behavior is delegated to the external `acpx` package and optional agent packages. Consequently, reviewing this repository alone cannot establish what code will execute during package installation or at runtime. If one of these packages or its transitive dependencies is compromised, a malicious release could execute through npm lifecycle scripts or when the installed CLI is invoked. This is a supply-chain weakness rather than evidence that the currently published packages are malicious. ### Attack Path 1. An attacker compromises a referenced npm package, its maintainer account, or one of its transitive dependencies. 2. The attacker publishes a malicious release under the legitimate package name. 3. A user installs the Skill dependencies without an exact version or verified lockfile. 4. npm resolves the dependency to the compromised release. 5. Malicious code executes through an installation lifecycle script or when the orchestrator or agent CLI is run. 6. The code operates with the privileges and environmental access of the installing user, including any credentials, source files, or agent capabilities available to that process. ### Impact Assessment Successful exploitation could provide arbitrary code execution with the privile ...[truncated 559 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin every direct dependency to an exact, reviewed version rather than relying on the latest registry release. 2. Commit and enforce a package lockfile containing resolved transitive versions and integrity hashes. 3. Verify package provenance, publisher identity, signatures, and registry source before installation. 4. Use `npm ci` or an equivalent reproducible installation mechanism that rejects lockfile drift. 5. Disable npm lifecycle scripts where they are unnecessary, for example with `--ignore-scripts`, and explicitly review packages that require them. 6. Run installation and agent execution in a sandbox or container with minimal filesystem, network, credential, and repository access. 7. Apply automated dependency monitoring while requiring manual security review before accepting version updates. 8. Include or vendor the orchestrator implementation where practical so its effective behavior can be audited together with the Skill. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
Findings (3)

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The README explicitly promotes batch and parallel execution of task files containing agent commands, but it provides no warning that each line may trigger real agent actions with side effects. In an orchestration skill, this omission is dangerous because users may treat task files as harmless configuration rather than executable instructions, increasing the chance of unintended code changes, data access, or destructive operations across multiple agents at once.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The session spawning, workflow, JSON, and direct passthrough examples normalize launching subagent runs from user-supplied strings without any caution about subprocess-like execution or task injection risk. In this skill's context as an agent orchestrator, these examples make the capability more dangerous because they encourage chaining autonomous execution mechanisms while hiding the operational and security consequences from users.

Missing User Warnings

Medium
Confidence
84% confidence
Finding
The skill explicitly documents a process-control command (`acpx kill opencode`) that can terminate agent sessions, but provides no warning, confirmation requirement, or scope limitations. In an orchestration skill that encourages automation and parallel execution, exposing kill functionality without safety guidance increases the chance of accidental or misuse-driven disruption of active work.

Static analysis

No suspicious patterns detected.