backstage companion

SuspiciousAudited by ClawScan on May 10, 2026.

Overview

This skill is not clearly malicious, but it is a high-trust admin tool that runs project/global shell checks and syncs remote rules in ways users should review carefully.

Install this only if you fully trust the projects and backstage check repositories it will run. Review update-backstage.sh, checks.sh, and all checks/global and checks/local scripts before use, and be aware that updates can change or delete check files that affect future agent behavior.

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 unexpected check file in a project or global checks folder could run arbitrary commands with the user's local permissions.

Why it was flagged

The script runs every shell file found in global and local check directories, including project-local scripts, with no sandbox or per-script approval.

Skill content
GLOBAL_CHECKS_DIR="$HOME/Documents/backstage/backstage/checks/global" ... LOCAL_CHECKS_DIR="backstage/checks/local" ... CHECK_OUTPUT=$(bash "$check" 2>&1) ... if bash "$check" >/dev/null 2>&1; then
Recommendation

Use only in repositories and check directories you fully trust; add explicit review/approval of each check script, allowlisting, or sandboxing before execution.

ConcernHigh Confidence
ASI01: Agent Goal Hijack
What this means

A repository could include markdown rules that push the agent away from the user's intended workflow or safety expectations.

Why it was flagged

The skill makes local project markdown files authoritative instructions for the agent and says local rules override global ones.

Skill content
`checks/local/*.md` = Project-specific overrides ... `Enforced by:` AI (reads markdown, interprets context, acts) ... `Local wins on conflict`
Recommendation

Treat local markdown checks as untrusted unless the project is trusted, and require that they cannot override user, system, or safety instructions.

What this means

If the upstream repository changes unexpectedly or is compromised, future backstage runs may execute changed check scripts.

Why it was flagged

The updater pulls the latest unpinned upstream content and copies it into the global checks directory, whose .sh files are later executed by checks.sh.

Skill content
UPSTREAM="https://github.com/nonlinear/backstage" ... git clone --quiet --depth 1 "$UPSTREAM" "$TMP_DIR/backstage" ... rsync -av --delete "$TMP_DIR/backstage/backstage/checks/global/" "$BACKSTAGE_DIR/checks/global/"
Recommendation

Pin updates to reviewed commits or releases, show full diffs before applying, and verify the source before syncing executable checks.

What this means

A user may approve an update believing local check files will be preserved when they may actually be removed.

Why it was flagged

The update text says removed upstream files will be kept locally, but rsync --delete can delete destination files missing from upstream.

Skill content
echo "  - $file (will be kept locally unless you delete)" ... rsync -av --delete "$TMP_DIR/backstage/backstage/checks/global/" "$BACKSTAGE_DIR/checks/global/"
Recommendation

Either remove --delete or clearly warn that applying updates can delete local files from checks/global, and show the exact deletion list before confirmation.