Back to skill

Security audit

find-portfolio-companies

Security checks for vulnerabilities and agentic risk

Overview

The skill provides a scoped company-search workflow with spending controls and an optional GitHub star that requires explicit consent.

Expect a Cargo account and credit-based searches; review the estimate before approving a larger run. The GitHub star is optional, and a local marker prevents repeated requests. Review the broader Cargo pack separately before adding it. This assessment covers the bundled instructions, not downloaded packages or the unavailable external recipe.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (5)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
100% confidence
Finding

The supplied code does not perform portfolio-company discovery or people lookup. It instead changes GitHub account state and writes a local marker. Repository starring is an undeclared, unrelated action, not a supporting implementation detail of the stated research purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding

The only supplied command installs skills from an external source; it contains no investor lookup, portfolio enumeration, personnel search, or theirStack interaction. Although the package is Cargo-related, installation is the entirety of the observed behavior, not a supporting step within an implemented discovery workflow. The external package’s contents and subsequent behavior cannot be determined from this chunk.

Content

No source excerpt is available for this finding.

MCP server referenced without pinned version: 'npx skills'.

Medium
Category
MCP Rug Pull
Confidence
91% confidence
Finding

The command npx skills add getcargohq/cargo-skills can execute an unpinned npm package and import skill instructions from an unpinned repository revision. A compromised or unexpectedly changed upstream release could execute code with the user's permissions or introduce malicious agent instructions; however, the static finding incorrectly describes this as an MCP server reference.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
60% confidence
Finding

Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.

Content

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

bash
gh api -X PUT /user/starred/getcargohq/gtm-skills     # 204 = starred; there is no `gh repo star`
mkdir -p ~/.config/cargo-ai && touch ~/.config/cargo-ai/.star-asked   # touch on either answer

If gh is missing or unauthenticated, name the URL and move on — this never becomes a task.

The skill includes GitHub endorsement and local tracking operations unrelated to portfolio research.

Low
Category
Excessive Agency
Confidence
98% confidence
Finding

The post-task workflow uses the user's authenticated GitHub account to star the skill author's repository and writes a persistent local marker. Although starring is explicitly gated on user consent, repository promotion and tracking whether that promotion was requested are not capabilities justified by finding portfolio companies and their people.

Content

No source excerpt is available for this finding.