Back to skill

Security audit

cargo-mailbox-management

Security checks for vulnerabilities and agentic risk

Overview

The skill is transparent about live email operations, but it installs and recommends running an unpinned Cargo CLI while using authenticated mailbox authority.

Review this before installing in a production workspace. The mailbox and email behaviors are disclosed, but use a pinned reviewed `@cargo-ai/cli` version, confirm the active Cargo workspace and token permissions, and get explicit approval before provisioning mailboxes or sending live email.

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:12
Finding
Mutable Third-Party CLI Dependency Is Installed and Executed Without Version Pinning## Vulnerability Details **File Location**: `SKILL.md`, lines 5 and 12–16; executable installation guidance at lines 53–55 **Vulnerability Type**: Supply-chain risk caused by a mutable dependency reference **Risk Level**: Medium ### Vulnerable Code ```yaml compatibility: Requires @cargo-ai/cli (npm). Sign in or create an account with `cargo-ai login --email` (emailed code, no browser), `--oauth`, or an API token ``` ```yaml install: - kind: node package: "@cargo-ai/cli@latest" bins: - cargo-ai ``` ```bash npm install -g @cargo-ai/cli # no global install? prefix every command with `npx @cargo-ai/cli` cargo-ai login --email you@company.com # emailed code, no browser; creates the account on first use # alternatives: --oauth (browser) · --token <api-token> (CI) ``` ### Technical Analysis The Skill directs the runtime or user to obtain `@cargo-ai/cli@latest` and also recommends unversioned `npm install` and `npx` invocations. These references resolve mutable package-registry content at installation or execution time. Consequently, the code that runs is not necessarily the version reviewed when this Skill was published. This is inconsistent with the statement at `SKILL.md:43` that functionality is available in a “pinned CLI (1.0.66).” The package declaration and Bootstrap commands do not enforce that pin. No evidence indicates that the current package is malicious. The vulnerability is the unsafe trust model: future package releases, a compromised publisher account, or registry compromise could alter the effective executable payload without any change to the reviewed Skill. ### Attack Path 1. An attacker compromises the npm publisher account, release pipeline, or another component capable of publishing `@cargo-ai/cli`. 2. The attacker publishes a malicious release under the legitimate package name and makes it the registry's latest version. 3. A user installs the Skill or follows its Bootst ...[truncated 1443 chars]
Remediation
## Remediation Suggestions 1. Pin the dependency to an exact reviewed release in metadata: ```yaml install: - kind: node package: "@cargo-ai/cli@1.0.66" bins: - cargo-ai ``` 2. Pin every installation and fallback command consistently: ```bash npm install -g @cargo-ai/cli@1.0.66 npx --yes @cargo-ai/cli@1.0.66 ``` 3. Remove `@latest` and unversioned package references from all executable guidance. Ensure the declared dependency matches the version claimed at `SKILL.md:43`. 4. Prefer a project-local, lockfile-controlled installation over a global installation where operationally feasible. Commit the lockfile and use `npm ci` to obtain the reviewed dependency graph deterministically. 5. Verify package provenance and integrity during release and installation. Restrict package publication with multi-factor authentication, protected CI releases, and npm provenance attestations. 6. Establish a reviewed upgrade process: assess each new CLI release, update the exact pin and integrity information, regenerate metadata, and publish a new Skill version only after validation.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Rp1

Medium
Category
MCP Rug Pull
Confidence
95% confidence
Finding
The skill instructs users to run `npx @cargo-ai/cli`, which pulls and executes the latest published package at runtime without a pinned version. If the package is compromised, typo-squatted, or a malicious version is published, users could execute attacker-controlled code on their machine while authenticated to Cargo, making this a real supply-chain risk.

Unbounded Resource Access

Medium
Category
Excessive Agency
Content
| `pricing get` | `{ monthlyCredits: Record<MailboxType, number> }` | — | — | — |

**Two traps.** `mailbox list` is the only list with no `count` — count the array. And `mailbox
list` / `suppression list` have no default limit, so an unbounded call returns everything up to
1000 while the other three quietly stop at 50.

There is no `event get`. Fetch events through `event list --message-uuid` or `--thread-uuid`.
Confidence
80% confidence
Finding
Skill allows unbounded resource consumption (API calls, storage, compute). Without rate limits or quotas, a compromised or misbehaving agent can cause denial-of-service or cost overruns.

Missing User Warnings

Medium
Confidence
87% confidence
Finding
The guide explicitly states there is no dry run and recommends sending to yourself first, but it does not prominently warn that this performs a real outbound send through production mailbox infrastructure. In a skill whose core purpose is provisioning and sending email, that omission can cause users to unintentionally contact live recipients or test with non-consenting addresses, creating compliance, reputational, or abuse-risk issues.

Static analysis

No suspicious patterns detected.