Local Approvals

Security checks across malware telemetry and agentic risk

Overview

This local-only approval skill largely matches its purpose, but it can let programmatic or agent-driven commands approve requests and persist future auto-approvals, weakening the intended human approval boundary.

Install only if you can ensure approval commands are run by a human, not autonomously by the same agents being approved. Avoid approve --learn for broad categories, periodically review and reset auto-approved categories, and verify the history/audit behavior before relying on it for safety.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Risk analysis

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.

#
ASI03: Identity and Privilege Abuse
High
What this means

An agent or local process able to invoke the skill could potentially approve requests as 'user' and add future auto-approvals, undermining the approval system's purpose.

Why it was flagged

The approval authority is exposed through a programmatic command, including an arbitrary reviewer label and an option to learn future auto-approvals. For a human-in-the-loop permission gate, this lacks a clear enforced human-only boundary.

Skill content
python cli.py approve <request_id> [--learn] [--reviewer <name>] ... The CLI is designed to be used both interactively and programmatically.
Recommendation

Use this only where approval commands are restricted to a real human. Disable autonomous model invocation for approval actions if possible, require explicit user confirmation, and do not let general-purpose agents run approve or approve --learn.

#
ASI06: Memory and Context Poisoning
Medium
What this means

A broad or mistaken learned category may cause later operations to be auto-approved without another prompt.

Why it was flagged

The skill intentionally stores persistent approval policy in local state. This is purpose-aligned and disclosed, but the stored category list can affect future decisions across sessions.

Skill content
This enables learning from approved decisions - once a category is trusted for an agent, it gets auto-approved in the future. ... state["auto_approve"][agent].append(category)
Recommendation

Use --learn only for narrow, trusted categories, review saved categories regularly, and use the reset command after mistakes or suspicious activity.

#
ASI09: Human-Agent Trust Exploitation
Low
What this means

You may have less usable audit visibility than the skill description suggests.

Why it was flagged

The documentation advertises approval history, but the visible decision update path stores decisions in pending.json and the history command reads state.json history. Users should not assume the documented history view is a complete audit trail without testing it.

Skill content
history = state.get("history", []) ... if not history: print("✓ No approval history found")
Recommendation

Verify that history output actually records approvals and denials in your environment, and inspect pending.json/state.json directly if you rely on this for auditability.

#
ASI04: Agentic Supply Chain Vulnerabilities
Low
What this means

The skill may not run as expected unless Python is available, despite registry requirements saying no binaries are needed.

Why it was flagged

The bundled metadata requires Python, while the registry requirements list no required binaries. This is a metadata consistency issue rather than evidence of malicious installation behavior.

Skill content
"requires": { "python": ">=3.8", "bins": ["python"] }
Recommendation

Confirm Python availability before use and prefer registry metadata that accurately declares runtime requirements.