Back to skill

Security audit

Ravi email-send

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward email-sending skill, with the main risk being accidental outbound messages if recipients and content are not checked first.

Install only if you want the agent to send email through Ravi. Before any compose, reply-all, forward, or attachment-related use, verify recipients, subject, body, and quoted thread content. Agents should pass CLI arguments safely rather than building shell-evaluated command strings from email content or user input.

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

Error
Location
SKILL.md:18
Finding

Shell Command Injection Through Unsafe Argument Construction

Content
View full analysis
HTML content" ``` ```bash # Lines 41–44: Unquoted message ID and user-controlled reply body ravi email reply --body "

Reply content

" ravi email reply-all --body "

Reply content

" ``` ```bash # Line 52: Unquoted message ID, recipient, and body ravi email forward --to "recipient@example.com" --body "

FYI — see below.

" ``` ### Technical Analysis The skill directs an agent to construct shell commands using values that may originate from users or email content, including contact names, recipient addresses, subjects, HTML bodies, and message identifiers. Placing a value inside double quotes does not make arbitrary input safe for shell evaluation. Shell constructs such as `$(command)` and backtick command substitution remain active inside double-quoted strings. For example, if an attacker-controlled subject is inserted literally into the documented template as `$(malicious-command)`, the shell may execute that command before invoking `ravi`. The `` argument is shown without quoting. If an agent directly substitutes an untrusted or insufficiently validated identifier, shell metacharacters, whitespace, additional command-line options, or command separators may alter the intended command. Values beginning with a hyphen may also be interpreted as options unless the CLI supports and uses an end-of-options delimiter. The vulnerability arises when an implementation builds a command as a shell-evaluated string rather than invoking t ...[truncated 1980 chars]
Remediation
View remediation
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

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill enables composing, replying to, and forwarding email, which inherently transmits user-provided content and potentially prior message content or attachments to external recipients. The documentation describes functionality but does not clearly warn that invoking these commands causes outbound communication and possible data disclosure, increasing the risk of accidental exfiltration or unintended sends by an agent or user.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.