Back to skill

Security audit

Ultra Agent Stinct

Security checks for vulnerabilities and agentic risk

Overview

This is a disclosed debugging helper, but it needs review because it can auto-activate broadly and launch background coding agents with under-scoped control.

Install only if you are comfortable with an always-on debugging skill that can run project commands and edit code. Before using it, require explicit approval for spawning any external coding agent, pass delegated prompts without shell string interpolation, and run delegated agents with limited repository, credential, and network access.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:125
Finding
Command Injection Through Unsafe Coding-Agent Delegation Templates<![CDATA[ ## Vulnerability Details **File Locations**: - `SKILL.md:125-127` - `references/escalation-guide.md:20-22` **Vulnerability Type**: Shell command injection through unsafe interpolation **Risk Level**: Medium ### Vulnerable Code From `SKILL.md:125-127`: ```text For large tasks (multi-file refactors, entire features, long builds), spawn a background agent: exec pty:true workdir:"<project>" background:true command:"claude '<detailed task>'" ``` From `references/escalation-guide.md:20-22`: ```text If you have a coding agent CLI installed (e.g. Claude Code, Codex, Aider), spawn it for heavy tasks: exec pty:true background:true command:"<agent> '<task description>'" ``` ### Technical Analysis The skill instructs an agent to construct a shell command by interpolating a detailed task description into a single-quoted command-line argument. Single quotes do not provide adequate protection if the interpolated value itself contains a single quote. Such a value can terminate the intended quoted argument and introduce shell operators or additional commands. For example, if untrusted text is incorporated into the task description, a payload conceptually shaped like the following can escape the quoting context: ```text ' ; <attacker-controlled command> ; # ``` The instructions do not require the agent to: - Use an argument-array execution API that bypasses shell parsing. - Escape or validate task descriptions. - Send task content through standard input. - Distinguish trusted user instructions from untrusted repository content. - Obtain explicit approval before transmitting repository context to another coding-agent CLI. The vulnerability is in the documented execution pattern. Exploitation depends on the host agent following that pattern and passing attacker-controlled text into a shell-interpreted command. ### Attack Path 1. An attacker places a malicious quote and shell syntax in task text, an error message, a repository file, an issue description, or ...[truncated 1653 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. **Do not concatenate task text into shell commands.** Invoke coding-agent CLIs through an execution interface that accepts an executable and an argument array without invoking a shell. Conceptual safe structure: ```text executable: "claude" arguments: ["<detailed task>"] shell: false ``` 2. **Prefer standard input for long or untrusted prompts.** Pass the task description through stdin rather than embedding it in a command string. 3. **Use a securely created temporary file if stdin is unavailable.** Create it with restrictive permissions, pass only its path as an argument, and remove it safely after use. 4. **Do not rely only on quote escaping.** Shell escaping is platform-dependent and error-prone. If shell execution is unavoidable, use a well-tested platform-specific escaping library and reject control characters or unsupported input. 5. **Treat repository content as untrusted.** Do not copy error messages, file contents, issue descriptions, or generated text directly into executable command templates. 6. **Require explicit user approval before external delegation.** State which external coding-agent provider will be used and what task or repository information may be shared. 7. **Apply least privilege.** Run delegated agents in a sandbox with restricted filesystem, credential, and network access. Avoid exposing unrelated environment variables or home-directory secrets. 8. **Update both documented templates.** Correct `SKILL.md:125-127` and `references/escalation-guide.md:20-22` so future agents are not directed to reproduce the unsafe pattern. ]]>
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (9)

Vague Triggers

Medium
Confidence
92% confidence
Finding
The README describes the skill as activating automatically on almost any code error, build failure, stack trace, or unexpected behavior during any task. That broad trigger surface can cause the skill to take over in routine situations, increasing the chance that untrusted repository content or adversarial error text influences agent behavior and expands the skill’s effective authority.

Vague Triggers

Medium
Confidence
97% confidence
Finding
The skill is defined to auto-activate whenever the agent encounters a code error, build failure, stack trace, or unexpected behavior, which is an extremely broad trigger surface for ordinary work. Because the skill then authorizes command execution, file modification, and structured debugging actions without an explicit user opt-in at activation time, it can cause unintended autonomous behavior across many tasks.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
### Safety
1. **Read before edit.** Never `edit` without `read` first — exact text match required or it fails
2. **`write` overwrites entirely.** Use `edit` for changes to existing files
3. **Never delete without asking.** Prefer safe deletion over `rm -rf`
4. **Never push without asking.** `git push` only when the user explicitly says to
5. **Never commit without asking.** Stage and commit only on request
6. **Backup awareness.** Before large refactors, suggest a branch or stash
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
### Safety
1. **Read before edit.** Never `edit` without `read` first — exact text match required or it fails
2. **`write` overwrites entirely.** Use `edit` for changes to existing files
3. **Never delete without asking.** Prefer safe deletion over `rm -rf`
4. **Never push without asking.** `git push` only when the user explicitly says to
5. **Never commit without asking.** Stage and commit only on request
6. **Backup awareness.** Before large refactors, suggest a branch or stash
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
### Safety
1. **Read before edit.** Never `edit` without `read` first — exact text match required or it fails
2. **`write` overwrites entirely.** Use `edit` for changes to existing files
3. **Never delete without asking.** Prefer safe deletion over `rm -rf`
4. **Never push without asking.** `git push` only when the user explicitly says to
5. **Never commit without asking.** Stage and commit only on request
6. **Backup awareness.** Before large refactors, suggest a branch or stash
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding
npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The guide expands a self-debugging skill into delegating work to arbitrary external coding-agent CLIs via background execution. That materially increases the skill's authority and autonomy beyond reading logs or fixing code directly, creating a path for unreviewed subprocesses to access repository contents, run commands, and continue operating outside the main agent's immediate control.

Context-Inappropriate Capability

Medium
Confidence
97% confidence
Finding
The documentation explicitly authorizes launching autonomous external agents for complex tasks, including multi-file changes, deep codebase exploration, and long-running build/deploy work. In the context of an automatically activated internal skill, this is especially dangerous because failures or stack traces could trigger delegation without a clear user request, enabling broad code execution and data exposure through third-party or local agent CLIs.

Static analysis

No suspicious patterns detected.