Back to skill
Skillv1.0.0

ClawScan security

Steel Browser · ClawHub's context-aware review of the artifact, metadata, and declared behavior.

Scanner verdict

SuspiciousMar 1, 2026, 11:20 AM
Verdict
suspicious
Confidence
high
Model
gpt-5-mini
Summary
The skill’s code matches its stated purpose (remote control of Steel.dev browser sessions) but the registry metadata omits the required STEEL_API_KEY and there are several implementation details (home-state file, arbitrary JS execution, screenshots/page-content extraction, and recommendations to store the API key in agent config) that increase risk and should be verified before installing.
Guidance
This package appears to implement a Steel.dev browser automation skill and the scripts perform the expected operations, but the registry metadata failing to declare STEEL_API_KEY is an inconsistency you should address before installing. Actionable checks and precautions: 1) Confirm you trust the source and Steel.dev (no homepage is listed here). 2) Expect to provide STEEL_API_KEY in your environment or OpenClaw config — understand how and where that secret will be stored and who can access it, and consider using a scoped/rotatable key. 3) Review the scripts locally (they are included) — they write ~/.steel_state and allow arbitrary JavaScript execution and full-page content extraction, which can capture sensitive data from pages the agent visits. 4) Limit agent autonomy if you don’t want the agent to run browser actions unattended (restrict invocation or require manual confirmation). 5) Install required Python packages (steel-sdk, playwright) in an isolated environment and verify network calls (the code connects to wss://connect.steel.dev?apiKey=...&sessionId=...) align with Steel’s documented endpoints. If you need this capability and trust Steel.dev, the skill is functionally coherent; if you cannot verify the API key handling or trust the publisher, do not install.

Review Dimensions

Purpose & Capability
concernThe skill's description (Steel.dev browser control) matches the scripts’ behavior (starting/releasing sessions, navigation, clicks, screenshots, JS eval, content extraction). However the registry metadata declares no required environment variables or primary credential while the scripts and SKILL.md clearly require STEEL_API_KEY (and optionally STEEL_SESSION_ID). That mismatch is an incoherence that should be resolved — the API key is essential for the stated purpose and must be declared.
Instruction Scope
noteRuntime instructions and scripts legitimately perform browser automation actions (navigate, click, type, screenshot, evaluate JS, extract page content). They read/write a state file at ~/.steel_state and require STEEL_API_KEY. The ability to run arbitrary JS (eval_js.sh / page.evaluate) and to extract full page content or screenshots means the skill can capture any data visible in the browser (including PII, credentials, tokens) — this is expected for a browser-control skill but is a sensitive capability the user should be aware of.
Install Mechanism
okThere is no automated install spec (instruction-only install), which is low-risk for arbitrary downloads. SKILL.md recommends pip install steel-sdk and playwright but the skill does not perform automatic installation. No remote download URLs or extract operations are present in the package itself.
Credentials
concernThe skill requires a Steel API key at runtime (STEEL_API_KEY) and optionally a session ID; yet the registry declares no required env vars or primary credential. Declaring no credentials in metadata is misleading. The skill also suggests persisting the API key into OpenClaw config (openclaw config set env.STEEL_API_KEY), which will store a secret in the agent configuration — users should verify how their platform stores/protects that secret. No unrelated credentials are requested, but the omission in metadata is a notable inconsistency.
Persistence & Privilege
okThe skill does not request always:true and does not modify other skills. It writes a per-user state file (~/.steel_state) to persist session_id, which is reasonable for session reuse. Autonomous invocation is allowed (disable-model-invocation is false) — normal for skills — but combined with a stored API key it raises the usual caution about an agent being able to run web actions without explicit user prompts.