mission-control-visual-qa

PassAudited by ClawScan on May 1, 2026.

Overview

This is a coherent visual-QA helper, but it uses SSH to run browser automation on a remote host and saves screenshots there.

Before installing, confirm you are comfortable with a skill that uses your SSH access to copy and run a Node/Puppeteer script on a remote machine. Use a least-privilege SSH account, test only authorized Mission Control URLs, and manage or delete saved screenshots if they contain sensitive information.

Findings (5)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Running the skill will create files and execute the QA script on the selected remote machine.

Why it was flagged

The helper creates remote directories, copies the Node script, and executes it over SSH. This is disclosed and central to the skill, but it is still remote shell authority on the configured host.

Skill content
ssh "${SSH_TARGET}" "mkdir -p ${REMOTE_RUN_DIR} ${OUTPUT_DIR}" ... scp "${LOCAL_SCRIPT_DIR}/${SCRIPT_NAME}" "${SSH_TARGET}:${REMOTE_RUN_DIR}/${SCRIPT_NAME}" ... ssh "${SSH_TARGET}" "cd ${REMOTE_RUN_DIR} && OUTPUT_DIR='${OUTPUT_DIR}' node ./${SCRIPT_NAME} ${quoted_args[*]}"
Recommendation

Use only a trusted SSH target and account, and keep REMOTE_RUN_DIR and OUTPUT_DIR to simple trusted paths.

What this means

A malicious page would have less browser-level isolation on the remote host than with a sandboxed Chromium run.

Why it was flagged

The script loads supplied URLs in Chromium with sandboxing disabled. This can be common in automation, but it reduces isolation if an untrusted or compromised page is tested.

Skill content
await page.goto(url, { waitUntil: 'networkidle2', timeout: 45000 }); ... args: ['--no-sandbox', '--disable-setuid-sandbox']
Recommendation

Run it only against authorized Mission Control pages, and prefer enabling Chromium sandboxing on remote hosts that support it.

What this means

The commands run with whatever permissions the selected SSH account has on the remote machine.

Why it was flagged

The skill relies on the user's configured SSH identity for the target host. This is expected for remote QA, but it is delegated account access.

Skill content
SSH_TARGET="${SSH_TARGET:-neill@<YOUR_REMOTE_HOST>}" ... ssh "${SSH_TARGET}" ... scp ...
Recommendation

Use a least-privilege remote account and verify SSH_TARGET before running the skill.

What this means

The skill may fail or use whatever dependency versions are already installed on the remote host.

Why it was flagged

The metadata does not declare the runtime dependencies that the included scripts use, such as SSH/SCP locally and Node/Puppeteer/Chromium remotely. This is a setup transparency issue, not hidden execution.

Skill content
Required binaries (all must exist): none ... Required env vars: none ... Install specifications: No install spec — this is an instruction-only skill.
Recommendation

Install Node, Puppeteer, and Chromium from trusted sources on the remote host and pin versions if reproducibility matters.

What this means

Private dashboard content could remain on the remote filesystem after the QA run.

Why it was flagged

The script persists full-page screenshots to a remote output directory. This is the intended QA output, but screenshots may capture sensitive Mission Control information.

Skill content
const outputDir = process.env.OUTPUT_DIR || path.join(os.homedir(), '.openclaw/workspace/output/visual-qa'); ... await page.screenshot({ path: screenshotPath, fullPage: true });
Recommendation

Store outputs in an access-controlled directory and delete screenshots when they are no longer needed.