DriftWatch — Agent Identity Drift Monitor

Security checks across malware telemetry and agentic risk

Overview

DriftWatch is a coherent git-history audit tool, but it can read sensitive agent/user memory files, optionally send diff snippets to Claude, and be scheduled to run repeatedly.

This skill appears safe to use for its stated audit purpose. Before installing, decide whether you want LLM mode to send identity/user/memory-file diffs to Claude; use `--no-llm` for local-only checks, and enable cron or heartbeat scheduling only deliberately.

VirusTotal

65/65 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.

#
ASI06: Memory and Context Poisoning
Low
What this means

Reports may reveal private user or agent-memory details from the workspace.

Why it was flagged

The skill intentionally tracks files that may contain personal user context and persistent agent memory, so generated reports or LLM prompts may include sensitive context.

Skill content
- `USER.md` — what agents know about their human
- `agents/*/MEMORY-INDEX.md` — per-agent active context
Recommendation

Run it only in trusted workspaces, review generated reports before sharing them, and avoid including highly sensitive data in tracked memory files.

#
ASI07: Insecure Inter-Agent Communication
Low
What this means

Diff snippets from identity, user, tools, or memory files may be processed by the configured Claude/Anthropic account.

Why it was flagged

LLM mode sends the constructed prompt, including diff snippets, through the local Claude CLI to an external model provider. This is disclosed and purpose-aligned, but it crosses a data boundary.

Skill content
result = subprocess.run(
            ["claude", "--print", "--model", "claude-haiku-4-5", prompt],
Recommendation

Use `--no-llm` for private workspaces or when you do not want file diffs sent to an external LLM provider.

#
ASI03: Identity and Privilege Abuse
Info
What this means

LLM mode may use the user's Anthropic account, quota, and provider-side data handling policies.

Why it was flagged

The optional LLM path uses the user's Anthropic/Claude credentials, although the registry metadata declares no primary credential or required environment variable.

Skill content
# With LLM semantic analysis (requires ANTHROPIC_API_KEY)
python3 skills/driftwatch/driftwatch.py --days 30
Recommendation

Only enable LLM mode if you are comfortable using that account for these diffs; otherwise run with `--no-llm`.

#
ASI01: Agent Goal Hijack
Low
What this means

The LLM report could understate or misclassify a drift event if the audited text is adversarial.

Why it was flagged

Raw git diff text from the files being audited is embedded into the LLM prompt. If a changed identity or memory file contains prompt-like instructions, it could influence the model's classification.

Skill content
Diff snippet:
{diff_snippet}
Recommendation

Treat LLM analysis as advisory, review the raw diffs for important changes, and prefer stronger prompt isolation if extending the tool.

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

Running the skill may create or update local report files even though it should not modify the audited identity files.

Why it was flagged

The read-only claim is imprecise because the skill does create a report file. The write is scoped and disclosed, but users should understand that it modifies the skill directory by adding output.

Skill content
Writes a markdown report to the skill directory.
...
**Read-only. Does not modify any files.**
Recommendation

Expect report files to be written locally and clean them up if they contain sensitive content.

#
ASI10: Rogue Agents
Low
What this means

If enabled, the skill may run periodically and, unless configured otherwise, may use LLM analysis on new diffs.

Why it was flagged

The README provides a user-directed cron setup for recurring scans. This is not hidden persistence, but it is a persistent scheduled execution mode.

Skill content
openclaw cron add "0 9 * * 1" "python3 /Users/michaelmaciver/.openclaw/workspace/nightly/2026-03-06-hail-mary-driftwatch/driftwatch.py --cron --days 7"
Recommendation

Add cron/heartbeat scheduling only if you want recurring scans; consider adding `--no-llm` for privacy-sensitive scheduled checks.