Back to skill

Security audit

geo-audit

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent website audit/report generator, but it grants unrestricted shell access that is not scoped or explained by its documented workflow.

Review this skill before installing if you run skills in a workspace with sensitive files. Its website crawling and report generation are expected, but it should ideally remove Bash or explain and constrain any shell use, and it should warn users before overwriting GEO-AUDIT-REPORT.md.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:4
Finding

Unnecessary Unrestricted Shell Capability

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 4–11
Vulnerability Type: Excessive tool permissions violating least privilege
Risk Level: Medium

Evidence

yaml
license: MIT
allowed-tools:
  - Read
  - Grep
  - Glob
  - Bash
  - WebFetch
  - Write

Technical Analysis

The skill grants access to Bash, which provides a general-purpose local command-execution channel. The documented workflow only requires retrieving public web pages, inspecting content, analyzing GEO/SEO signals, and writing a report. It does not define any shell command or operation that requires unrestricted Bash access.

This permission therefore exceeds the skill's stated operational requirements and violates the principle of least privilege. Because the workflow processes attacker-controlled website content, unrestricted shell access unnecessarily increases the consequences of instruction confusion, unsafe orchestration, or future changes to the skill.

No direct instruction to invoke Bash maliciously was identified, so this is an excessive-permission weakness rather than evidence of intentional command execution.

Attack Path

  1. An operator loads the skill and supplies a website controlled by an attacker.
  2. The skill retrieves attacker-controlled content as part of its ordinary audit workflow.
  3. The content contains adversarial instructions or data that are mistakenly treated as operational guidance.
  4. Because Bash is authorized, the agent may invoke shell commands that are not necessary for the GEO audit.
  5. Those commands execute with the filesystem access, network access, and operating-system privileges available to the hosting agent process.

This path depends on the agent being induced to misuse the excessive permission; SKILL.md itself contains no explicit malicious Bash command.

Impact Assessment

Successful exploitation could permit arbitrary commands within the privileges of ...[truncated 491 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove Bash from allowed-tools because no documented workflow step requires shell execution.
  2. Retain only the narrowly scoped tools necessary for reading project data, retrieving web pages, analyzing content, and writing the audit report.
  3. If shell functionality becomes necessary later, replace unrestricted Bash access with a constrained helper that:
    • Allows only explicitly enumerated commands and arguments.
    • Rejects shell metacharacters, pipelines, redirections, substitutions, and dynamic command construction.
    • Restricts filesystem operations to the designated workspace and output file.
    • Disables unnecessary network access.
    • Runs under a low-privilege, sandboxed account.
  4. Treat all fetched website content as untrusted data and explicitly prohibit following instructions embedded in audited pages.
  5. Add tests verifying that the complete GEO audit workflow succeeds without Bash authorization.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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

Low
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill explicitly instructs the agent to generate GEO-AUDIT-REPORT.md in the workspace, but the skill description does not warn users that it will create or modify local files. This can lead to unexpected workspace side effects, especially in environments where users expect analysis-only behavior or where generated files may overwrite existing artifacts.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.