Workspace Anchor

WarnAudited by ClawScan on May 10, 2026.

Overview

The skill has a reasonable local workspace purpose, but its validation code uses unsafe shell commands and an undeclared external script that could run unintended local commands.

Review before installing. Only use this skill in trusted local workspaces, avoid validating untrusted path strings, inspect any discovered .project-lock files, and prefer a fixed version that removes shell interpolation and declares or vendors the external project-enforcer helper.

Findings (4)

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

A malicious or malformed path, or a poisoned project lock used during validation, could cause unintended commands to run on the user's machine.

Why it was flagged

A CLI-provided path is inserted into a shell command string. Quoting is not the same as safe escaping, so a crafted path containing quotes or shell metacharacters could alter the command when validation runs.

Skill content
const targetPath = process.argv[3]; ... execSync(`bash "${enforcerScript}" "${targetPath}" current`, { encoding: 'utf8' })
Recommendation

Avoid shell command strings for validation. Use execFile/spawn with argument arrays, canonicalize paths with Node APIs, reject unsafe characters, and treat .project-lock contents strictly as data.

What this means

Validation behavior can depend on unreviewed local code, so installing the skill may run logic that is not visible in the provided artifact set.

Why it was flagged

The skill may execute a shell script outside the supplied package manifest. The reviewed artifacts do not include that script or declare it as an install requirement.

Skill content
const enforcerScript = path.join(__dirname, '../../../bin/project-enforcer.sh'); ... execSync(`bash "${enforcerScript}" "${targetPath}" current`
Recommendation

Vendor and review the helper script, declare it as a required dependency, verify its path and integrity, or remove the external-script execution path.

What this means

The agent may run local shell searches to locate workspace anchors, which could be broader than the user expects.

Why it was flagged

The skill directs the agent to use shell execution for local discovery. This is purpose-aligned, but it expands the agent's operational authority on the local filesystem.

Skill content
Use `exec` to find `.project-lock` files if paths are ambiguous.
Recommendation

Ask the user for the intended workspace root first, limit searches to trusted directories, and avoid broad exec use unless necessary.

What this means

A stale or untrusted .project-lock file could mislead the agent into using the wrong project path or expose local project names and paths in agent output.

Why it was flagged

The skill discovers persistent .project-lock files across the user home and uses their NAME/ROOT values as workspace context. Untrusted lock files could influence which project the agent believes is active.

Skill content
locations.push(userHome); ... execSync(`find "${expanded}" -name ".project-lock" -type f 2>/dev/null`
Recommendation

Limit discovery roots, inspect discovered anchors before switching, and only trust .project-lock files from known projects.