Back to skill

Security audit

Uncle Matt

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent security-broker guide, but installing it requires running unpinned external installer scripts and a Docker build that were not included for review.

Review the external repository at a pinned commit before installing, inspect the installer scripts and Docker configuration, and prefer checksum or signature verification. Enable the optional voice packs only if that rude refusal style is acceptable for your users or organization.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:93
Finding

Unpinned External Repository and Installer Execution

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:93-107; README.md:32-38
Vulnerability Type: Unverified and mutable external installation dependency
Risk Level: Medium

Vulnerable Code Snippet

From SKILL.md:93-107:

markdown
## Quick install summary
1) Clone the full UNCLEMATTCLAWBOT repo (this skill folder alone is not enough).
2) Install OpenClaw.
3) Run the installer from the repo:
   - macOS/Linux: `installer/setup.sh`
   - Windows: `installer/setup.ps1`
4) Edit actions in `broker/config/actions.default.json`, validate, and restart the Broker.

From README.md:32-38:

markdown
## Install (fast path)
1) Clone the full UNCLEMATTCLAWBOT repo.
2) Install OpenClaw.
3) From the repo root:
   - macOS/Linux: `installer/setup.sh`
   - Windows: `installer/setup.ps1`
4) Edit actions in `broker/config/actions.default.json`.
5) Validate actions: `scripts/validate-actions.sh`
6) Restart broker: `docker compose up -d --build`

Technical Analysis

The supplied project is documentation-only and does not contain the Broker, installer scripts, Docker configuration, or dependency manifests needed for the advertised functionality. Instead, operators are instructed to clone https://github.com/uncmatteth/UNCLEMATTCLAWBOT and execute platform-specific installer scripts from that external repository.

The instructions do not pin the external source to an immutable commit or signed release and do not require verification through a cryptographic checksum or signature. Consequently, the code ultimately executed may differ from the content that existed when this skill artifact was reviewed. The subsequent Docker build may also process additional dependencies that cannot be assessed from the supplied package.

No malicious behavior was demonstrated in the audited files. The vulnerability is the unverified supply-chain trust boundary and the inability to establish that the external inst ...[truncated 1510 chars]

Remediation
View remediation

Remediation Suggestions

  1. Pin installation instructions to an exact commit hash or immutable release tag rather than a mutable default branch.
  2. Publish signed release artifacts and cryptographic checksums for installer scripts, Broker binaries, Docker files, and configuration templates.
  3. Require signature or checksum verification before any installer is executed.
  4. Vendor the reviewed installer and Broker implementation into the distributed package, or provide a reproducible build whose source and resulting artifacts can be independently verified.
  5. Document the minimum permissions required by each installation step and explicitly discourage running installers as an administrator or root user unless strictly necessary.
  6. Pin container base images by digest and lock all package dependencies to reviewed versions.
  7. Add automated release controls, including dependency scanning, provenance attestations, protected branches, mandatory review, and CI-generated software bills of materials.
  8. Advise operators to inspect installer changes and test installation in an isolated environment before production deployment.
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 (7)

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
- `SKILL.md` (this file)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
80% confidence
Finding

The file states that if the operator enables voice packs or explicitly instructs the agent, the agent may prepend a voice-pack line to refusals and warnings. This imposes a specific communication style on end users based on operator preference rather than user opt-in, which is a natural-language policy concern analogous to forcing a presentation mode without user choice.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The voice pack explicitly includes profane and insulting refusal text such as 'some stupid shit,' which can cause the agent to produce hostile, abusive, or unprofessional responses when the feature is enabled. In a security skill, refusals are likely to occur during sensitive interactions, so this creates brand, trust, and operator-safety risk even if it is not a direct code-execution flaw.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The file repeatedly includes language that labels user actions as 'stupid' or similar, which can force the model into a hostile interaction style. Because this is packaged as a reusable response layer, it can systematically generate harassing or demeaning output across many refusals, increasing reputational and misuse risk.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
87% confidence
Finding

The file defines a mandatory 'Uncle Matt' refusal/warning voice and instructs its use whenever the voice pack is enabled. This imposes a specific communication style on user-facing safety messages without offering a user choice of tone or locale, which can violate natural-language policy expectations around opt-in for constrained language presentation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The file hard-codes an English-only persona/style and conditions its use on a feature flag or operator enablement without any user language or locale negotiation. This can cause refusals and warnings to be delivered in the wrong language or cultural register, reducing user comprehension of safety-critical messages and creating accessibility, compliance, and trust issues.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The file hard-codes a specific colloquial persona ('Uncle Matt') and instructs the assistant to prepend these lines whenever the pack is enabled. This imposes a particular language/tone policy on refusals and warnings rather than offering user-selectable wording at runtime, which can conflict with organizational expectations around neutral or user-preferred language.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.