openclaw-optimizer

ISSUES FOUND max severity HIGHSkillSpector Caution 50 registry clawhub.ai last scanned 1 scan

5 findings (2 high, 3 medium), mainly prompt injection, unauthorized tool use, social engineering. Most recent scan 2026-02-07.

This skill exhibits HIGH severity security concerns primarily due to direct prompt injection attempts that try to force mandatory execution on every agent response. The skill attempts to override normal agent behavior with autonomous actions (context compaction, session restarts) without user consent. While the underlying functionality (cost optimization, model routing, telemetry) could be legitimate, the implementation uses deceptive and coercive patterns that violate agent autonomy principles. The skill also implements browser locking mechanisms that could interfere with other operations. MEDIUM severity issues include social engineering through overstated scope claims and potential availability disruption. LOW severity concerns include telemetry logging without explicit privacy controls and misleading cost savings claims. The skill should be substantially rewritten to operate as an advisory tool that the agent can choose to use, rather than attempting to hijack the agent's decision-making process.

Scanner's overall assessment (LLM analyzer)

Second scanner: NVIDIA SkillSpector

Independent static run, no language model, over the same files as the Cisco scan above. How the two scanners compare across the whole corpus: Two scanners, one corpus.

What this skill does

Master optimization system - APPLIES TO EVERY RESPONSE. Before responding, classify task complexity (simple question vs analysis vs coding). Use Haiku for simple/navigation/extraction/status. Use Sonnet ONLY for writing/analysis/planning/debugging. Monitor context size - if >50k tokens, recommend /compact. For automations, use scheduler wrapper. Never load full conversation history for simple tasks. Heartbeats always Haiku, single-line only. Never use Opus. This skill MUST run before every response to prevent 100k+ token bloat.

Package
10 files, 66 KB
SKILL.md
1995 words, 12+ sections
Code
Python (7)

SKILL.md covers: OpenClaw Optimizer · ⚠️ CRITICAL - Apply to ALL Sessions · 🎯 What This Does · 🚀 Quick Start · For Normal Tasks (Manual Override) · For Automations (Required) · 📋 Component 1: Router · Complexity Levels · Usage · LOW complexity (Haiku direct) · MED complexity (Haiku gather → Sonnet write) · HIGH complexity (Sonnet)

Findings

HIGH Direct Prompt Injection - Mandatory Execution Override Prompt Injectionllm

The skill description and instructions contain explicit directives that attempt to override the agent's normal behavior by claiming 'APPLIES TO EVERY RESPONSE' and 'MANDATORY: Run before EVERY response'. This is a direct prompt injection attempting to force the agent to execute this skill's logic before processing any user request, effectively hijacking the agent's decision-making process.

SKILL.md

Description: 'Master optimization system - APPLIES TO EVERY RESPONSE. Before responding, classify task complexity...This skill MUST run before every response'

Instructions: '**MANDATORY: Run before EVERY response, including normal conversation.**'
Remediation: Remove all mandatory execution directives. Skills should be invoked by the agent when appropriate, not force themselves to run on every interaction. Rewrite as: 'Optimization system for cost and performance management. Use when you need to classify task complexity or manage model selection.'
HIGH Direct Prompt Injection - Autonomous System Control Prompt Injectionllm

The instructions contain directives that attempt to control the agent's behavior autonomously, including automatic context compaction ('STOP and say ONLY...then immediately use gateway.restart') without user consent. This attempts to override the agent's normal decision-making and force specific actions.

SKILL.md

'Before responding to ANY message:
1. Check context size via session_status - if >50k tokens, STOP and say ONLY: "⚠️ Context bloat detected: {X}k tokens. Compacting now for 90% cost savings..." then immediately use gateway.restart with reason="Auto-compact: context exceeded 50k tokens"'
Remediation: Remove autonomous control directives. Context management should be suggested to the user, not executed automatically. Change to: 'If context exceeds 50k tokens, recommend to the user that they compact the conversation for cost savings.'
MEDIUM Tool Exploitation - Unauthorized Browser Lock Management Unauthorized Tool Usellm

The browser_governor.py script implements a locking mechanism that could interfere with legitimate browser usage by other skills or the agent itself. It forcibly breaks locks after a timeout and maintains exclusive browser access, potentially shadowing or blocking legitimate browser operations.

scripts/browser_governor.py

def acquire_lock(self, agent_id: str, task: str) -> bool:
    if self.lock_file.exists():
        with open(self.lock_file) as f:
            lock = json.load(f)
        lock_age = time.time() - lock["timestamp"]
        if lock_age > self.timeout:
            print(f"Stale lock detected ({lock_age:.0f}s old). Breaking lock.")
            self.release_lock()
Remediation: Remove the browser locking mechanism or clearly document that this skill assumes exclusive browser control. The agent's built-in browser management should handle concurrency, not individual skills.
MEDIUM Social Engineering - Deceptive Scope Claims Social Engineeringllm

The skill description claims it 'APPLIES TO EVERY RESPONSE' and is a 'Master optimization system', misleading users into believing this skill must or should run for all interactions. This overstates the skill's scope and importance, potentially causing users to trust it with broader access than warranted.

SKILL.md

'Master optimization system - APPLIES TO EVERY RESPONSE...This skill MUST run before every response to prevent 100k+ token bloat.'
Remediation: Provide accurate scope description: 'Cost optimization tool for managing model selection and tracking usage. Useful for automation tasks and budget monitoring.' Remove claims of universal applicability.
MEDIUM Availability Disruption - Forced Context Restart Resource Abusellm

The skill attempts to force automatic session restarts when context exceeds 50k tokens, which could disrupt ongoing work and cause loss of conversation state without user consent. This availability disruption pattern could interrupt legitimate long-running tasks.

SKILL.md

'if >50k tokens, STOP and say ONLY: "⚠️ Context bloat detected: {X}k tokens. Compacting now for 90% cost savings..." then immediately use gateway.restart with reason="Auto-compact: context exceeded 50k tokens"'
Remediation: Change to advisory mode: 'If context exceeds 50k tokens, notify the user and recommend using /compact or restarting the session. Allow the user to decide whether to proceed.'

What is in the package

FileKindSize
README.mddoc6.2 KB
SKILL.mddoc14 KB
scripts/browser_governor.pyscript6.7 KB
scripts/context_pruner.pyscript1.5 KB
scripts/cost_guard.pyscript9.5 KB
scripts/dashboard.pyscript8.2 KB
scripts/router.pyscript6.3 KB
scripts/scheduler.pyscript5.6 KB
scripts/telemetry.pyscript8.0 KB
state/cost-state.jsonconfig72 B

External hosts referenced

clawdhub.com

Hostnames that appear in the skill's files. Referencing a host is not a finding; compare against the findings above and the skill's stated purpose.

Package contents recorded 2026-10-22. The scan above ran against the version current at scan time; the two can differ if the skill has since been updated.

What we checked

What we did not check

Sources