Back to skill

Security audit

Task Orchestra

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly describes normal task orchestration, but it asks for an unexplained API key and installs an unpinned npm package that is not clearly needed.

Review this before installing. The orchestration guidance itself is coherent, but only provide `BRAVE_API_KEY` if you understand why the skill needs Brave access, and prefer a version-pinned or removed npm dependency before using it in an environment with sensitive files or credentials.

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:11
Finding
Unpinned Third-Party npm Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 11–15 **Vulnerability Type**: Unpinned third-party package installation **Risk Level**: Medium **Vulnerable Configuration**: ```yaml install: - id: npm kind: node package: async bins: ["async"] ``` ### Technical Analysis The skill declares installation of the npm package `async` without an exact version, lockfile, or integrity hash. Consequently, installation can resolve mutable package-registry content rather than a previously reviewed artifact. This prevents reproducible installation and creates exposure to future package compromise, malicious release publication, registry-account takeover, or unexpected dependency changes. The declaration should also be validated because `async` is commonly consumed as a Node.js library, while the configuration expects an `async` executable. A mismatch between the intended package and declared binary increases the risk of installing an unnecessary or incorrectly selected component. No evidence establishes that the current `async` package release is malicious. The vulnerability is the unsafe, unpinned supply-chain configuration. ### Attack Path 1. An attacker compromises the selected npm package, one of its transitive dependencies, or the relevant publisher account, and publishes a malicious release. 2. The skill installer resolves the package name without an exact version or verified integrity value. 3. npm downloads the attacker-controlled release during installation. 4. Malicious package content or applicable lifecycle behavior executes in the installation environment. 5. The payload operates with the privileges and accessible environment of the process installing the skill. ### Impact Assessment Successful exploitation could permit arbitrary code execution under the installer’s account. Depending on that account’s permissions, the payload could access project files, environment variables, API c ...[truncated 278 chars]
Remediation
## Remediation Suggestions - Pin the dependency to an audited exact version rather than relying on registry resolution of an unspecified release. - Use a committed lockfile and verify package integrity with trusted checksums or npm integrity metadata. - Review direct and transitive dependencies before release and continuously monitor them for compromise or known vulnerabilities. - Disable npm lifecycle scripts during installation where they are not required. - Verify that the selected package actually provides the declared `async` binary and is necessary for the documented orchestration functionality. - Remove the dependency entirely if the skill does not invoke it. - Install dependencies in a least-privileged, isolated environment without unrelated secrets such as `BRAVE_API_KEY`.
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 (1)

Missing User Warnings

Low
Confidence
84% confidence
Finding
The manifest declares a required environment variable, `BRAVE_API_KEY`, which indicates the skill depends on a credential. While the file describes orchestration behavior, it does not include any user-facing warning or note about accessing or handling API keys, which is relevant for privacy and safety expectations in markdown/manifest content.

Static analysis

No suspicious patterns detected.