Back to skill

Security audit

Ralph Security Audit

Security checks for vulnerabilities and agentic risk

Overview

This is a legitimate security-audit skill, but it needs Review because it can inspect secrets and host/infrastructure details and write reports without clear scope or redaction limits.

Before installing, decide whether you want this skill to inspect only the project repository or also host/container/network infrastructure. If you use it, explicitly instruct the agent not to print or save raw secrets, tokens, connection strings, private keys, cookies, or authorization headers, and review or delete .ralph-report.md after the audit because it may contain sensitive findings.

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
Findings (1)

other

Warning
Location
SKILL.md:74
Finding

Overly Broad Host and Infrastructure Reconnaissance Without Explicit Scope Controls

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 74-84 and 121-124
Vulnerability Type: Unrestricted environment reconnaissance
Risk Level: Medium

Vulnerable Instructions

md
| 2 | Git sync: local vs remote |
| 3 | Uncommitted sensitive files |
| 4 | .env in .gitignore |
| 5 | Public endpoints enumeration |
| 6 | Authentication requirements mapping |
| 7 | Rate limiting coverage |
| 8 | Exposed ports (host/container) |
| 9 | Hidden services discovery |
| 10 | Cron jobs and scheduled tasks |
| 11 | Environment variable audit |
| 12 | Docker environment check |
md
| 71-75 | Network security (ports, firewall, isolation) |
| 76-78 | TLS/SSL (cert validity, ciphers, HSTS) |
| 79-81 | SSH security (key auth, config hardening) |
| 82-85 | Database security (SSL, permissions, access) |

Technical Analysis

The skill directs an agent performing a project audit to inspect host-level and infrastructure-level resources, including environment variables, hidden services, scheduled tasks, exposed ports, SSH configuration, and database configuration. These targets can extend substantially beyond the supplied project directory.

The instructions do not establish an explicit authorization boundary, require user consent before examining host resources, limit environment inspection to variable names, prohibit access to private keys or credential stores, or require sensitive-value redaction. Consequently, an agent following the skill may place unrelated credentials and infrastructure details into its working context or the generated .ralph-report.md.

This is not evidence of intentional exfiltration, privilege escalation, or persistence. No remote transmission mechanism or executable malicious payload was found. The risk arises from excessive collection and retention of sensitive operational information.

Attack Path

  1. A user invokes the skill to audit a project directory.

...[truncated 1252 chars]

Remediation
View remediation

Remediation Suggestions

  1. Restrict all default audit activity to the user-supplied project directory.
  2. Require explicit, informed user consent before inspecting host services, containers, scheduled tasks, network configuration, SSH configuration, or databases.
  3. Define an allowlist of approved commands, paths, hosts, ports, and configuration files for infrastructure checks.
  4. Audit environment-variable names and configuration structure by default, but never read or report secret values.
  5. Explicitly prohibit access to private keys, credential stores, cloud metadata endpoints, shell history, unrelated home-directory files, and production databases unless separately authorized.
  6. Redact passwords, tokens, private keys, connection strings, cookies, and authorization headers from all output and report files.
  7. Ask the user to confirm the scope before each host-level phase and mark checks as not applicable when authorization is absent.
  8. Store reports with restrictive permissions and document their retention and deletion requirements.
  9. Add a mandatory safety rule stating that reconnaissance must not cross repository, host, account, or network boundaries not explicitly approved by the user.
Vulnerability Patterns
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • 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
Findings (5)

Credential Access

High
Category
Privilege Escalation
Confidence
78% confidence
Finding

The skill directs secret-focused checks including uncommitted sensitive files, environment variable audits, and .env handling. In a security-audit context this is legitimate, but it still increases exposure to credentials because the agent may read, collect, or surface secrets from the workspace; if outputs are mishandled, this becomes credential disclosure.

Content

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

md
| 1 | Auto-detect stack and infra |
| 2 | Git sync: local vs remote |
| 3 | Uncommitted sensitive files |
| 4 | .env in .gitignore |
| 5 | Public endpoints enumeration |
| 6 | Authentication requirements mapping |
| 7 | Rate limiting coverage |

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger phrases are broad enough that normal user requests like 'check for vulnerabilities' or 'security audit' may invoke a long-running, side-effecting skill unexpectedly. Because this skill includes file writes and potentially network-relevant checks, overbroad activation increases the chance of unintended execution in contexts where the user did not mean to authorize those actions.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The skill explicitly instructs checking Git local-vs-remote state and later references public endpoint enumeration, which can drive network-connected behavior beyond a purely local audit. In an agent setting, this expands the skill's operational scope and can cause unintended outbound access, especially if invoked automatically or without explicit user confirmation.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill instructs renaming existing .ralph-report.md files and repeatedly writing audit output into the workspace. Even if intended for reporting, this creates side effects in the repository, risks overwriting or cluttering user files, and violates least-surprise for a security audit tool if not clearly disclosed and authorized.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill's description emphasizes auditing but does not clearly warn that it will rename and update report files in the workspace. Missing disclosure reduces informed consent and can surprise users with repository changes, especially in automated or shared environments.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.