consensus-code-merge-guard

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: consensus-code-merge-guard Version: 1.1.15 The skill is designed for code merge governance, evaluating PR risk and recording audit artifacts locally. It explicitly declares no network calls in its decision path and performs local filesystem writes for state management, as confirmed by `SKILL.md`, `metadata.json`, and `src/index.mjs`. Input validation is implemented in `src/index.mjs` to reject unknown fields. There is no evidence of data exfiltration, unauthorized execution, persistence mechanisms, or prompt injection attempts in any of the analyzed files. File system interactions are confined to its stated purpose of writing structured decision artifacts, relying on environment variables (`CONSENSUS_STATE_ROOT`, `CONSENSUS_STATE_FILE`) for path resolution, which is a configuration concern for the agent rather than malicious intent within the skill itself.

Findings (0)

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 future dependency update could change behavior even though the skill's own source appears coherent.

Why it was flagged

The skill is installed from npm and depends on external packages. The caret ranges are normal for npm, but they are not exact pins, so installs may pick up compatible future versions unless the lockfile is enforced.

Skill content
"dependencies": { "consensus-guard-core": "^1.1.15", "tsx": "^4.20.3" }
Recommendation

Use the included lockfile or exact dependency pinning in CI/automation, and verify the provenance of consensus-guard-core before relying on this in merge gates.

What this means

If the state path contains stale, corrupted, or untrusted artifacts, future merge decisions could be affected.

Why it was flagged

The code reads from and writes to persistent consensus board state. This is disclosed and purpose-aligned, but stored board/persona artifacts can influence later governance decisions.

Skill content
getDecisionByKey(board_id,idem,statePath); ... getLatest(board_id,'persona_set',statePath); ... writeArtifact(board_id,'decision',...)
Recommendation

Keep the consensus state directory scoped to the intended project, protect it from untrusted writers, and avoid treating stored audit text as executable instructions.

What this means

Untrusted or spoofed external votes could influence the returned MERGE/BLOCK/REVISE decision if the caller does not authenticate and validate vote sources.

Why it was flagged

In external_agent mode, the included code accepts externally supplied votes and only confirms they are an array before aggregation.

Skill content
if(i.external_votes!==undefined && !Array.isArray(i.external_votes)) return 'external_votes must be array'; ... const votes=externalMode ? input.external_votes : makeVotes(...)
Recommendation

Only feed external votes from trusted, authenticated agents or humans, and validate vote schemas and identities before invoking this skill in an automated merge workflow.