Back to skill

Security audit

book-painter

Security checks for vulnerabilities and agentic risk

Overview

This skill appears to be a painter-booking guide, but it asks for broad file and command access while giving inconsistent scope and control details.

Review this skill before installing. It should not be granted command execution or broad file read/write access unless the publisher narrows the purpose, documents the exact Lokuli endpoints and data sent, and requires explicit confirmation before any booking, payment-like order, file change, or command run.

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:20
Finding

Excessive File-System and Command-Execution Permissions

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:20-23
Supporting Locations: SKILL.md:202, SKILL.md:209-218, SKILL.md:231-233
Vulnerability Type: Excessive tool permissions and violation of least privilege
Risk Level: Medium

Vulnerable Code

yaml
tools:
- read
- exec
- write

Technical Analysis

The Skill declares file-reading, file-writing, and arbitrary command-execution tools even though its stated purpose is to locate and book local painter services through an external API. The documentation does not establish a legitimate need for general host-level file access or shell execution.

No enforceable command allowlist, permitted path list, sandbox policy, privilege boundary, user-confirmation requirement, or argument validation mechanism is provided. Although the security guidance mentions allowlisting commands and using a sandbox, these are recommendations rather than implemented controls. The troubleshooting documentation also recommends elevated execution when permissions are insufficient, increasing the risk that users or integrating agents may bypass operating-system access controls.

The repository contains only SKILL.md; therefore, no implementation exists through which the claimed restrictions can be verified. Exploitability depends on whether the hosting Agent grants the declared tools and follows the Skill's generic execution instructions.

Attack Path

  1. The Skill is installed on an Agent platform that grants the declared read, write, and exec capabilities.
  2. An attacker supplies crafted content through a booking request, painter description, API response, or other untrusted input processed by the Agent.
  3. The input induces the Agent to treat embedded instructions as operational steps, such as reading a sensitive local file, modifying a configuration file, or executing a shell command.
  4. Because the Skill defines no enforceable command or path restrictions, the Agent may invoke the broadly au ...[truncated 1123 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove exec, read, and write from the declared tools unless each capability is demonstrably necessary for the booking workflow.
  2. Replace general command execution with a narrowly scoped API client that can communicate only with explicitly approved HTTPS endpoints.
  3. Define the exact API hostname, endpoint paths, HTTP methods, request schema, authentication mechanism, timeout policy, and response-size limits.
  4. If file access is required, restrict it to a dedicated application directory and enforce canonical-path validation to prevent traversal and symbolic-link attacks.
  5. If command execution cannot be removed, use fixed executable paths and static argument templates. Reject shell metacharacters and never interpolate user-controlled input into command strings.
  6. Enforce command and path restrictions in code or platform policy rather than relying on documentation.
  7. Run the Skill under a dedicated, unprivileged operating-system account in an isolated sandbox with minimal network and file-system access.
  8. Require explicit user confirmation before any action that changes files, invokes a command, transmits sensitive data, or creates a paid booking.
  9. Remove guidance recommending administrator or elevated execution. Diagnose and correct the required permission model instead.
  10. Treat user input and external API responses as untrusted data, and ensure they cannot introduce new Agent instructions or tool calls.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest and description conflict on the skill’s actual purpose: parts describe a painter-booking service via Lokuli, while other parts claim the skill is for AI/LLM calling, orchestration, and automation. This ambiguity can cause an agent to invoke the skill in the wrong context and grant it read/exec/write capabilities under false pretenses, increasing the chance of unintended external actions or misuse.

Content

No source excerpt is available for this finding.

Vague Triggers

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The activation guidance is overly broad and inconsistent, suggesting use for almost any AI-model, chat, orchestration, or LLM application while the rest of the file points to booking local painters. Overbroad routing guidance can cause an agent to invoke a side-effecting skill far outside its legitimate scope, exposing users to unintended network calls, file operations, or transactions.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
95% confidence
Finding

The core capability and scenario sections contradict each other about whether the skill performs generic AI workflow automation or arranges local painter services. In a capability-driven agent system, contradictory documentation undermines policy enforcement and may lead the model to perform side-effecting actions that the user did not intend.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill describes constructing HTTP requests, calling external services, parsing responses, submitting orders, writing files, and executing commands, yet it does not clearly warn users about external data transfer, system modification, or irreversible transactions. In combination with enabled read/exec/write tools, this creates a substantial risk of unauthorized side effects, data leakage, or harmful command execution if the skill is auto-invoked or prompted ambiguously.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The FAQ again reframes the skill as an AI model/orchestration tool, conflicting with the rest of the document’s painter-booking behavior. Repeated contradictions increase the likelihood of unsafe auto-selection and user deception, especially because the skill advertises powerful tools including exec and write.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

The description explicitly says the skill supports Chinese interaction, which can imply a forced locale preference in the absence of an opt-in or alternative language choice. The file does not clearly present this as optional or justify it as a region-specific constraint.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The phrase 'Use when user needs to find and book painter' is incomplete and underspecified, leaving key boundaries undefined such as geography, data collection, transactional behavior, and whether the skill will contact external services. Such ambiguity increases the risk of accidental misuse, though it is less severe than the broader purpose-confusion elsewhere in the file.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.