Clarity Vote

PassAudited by VirusTotal on May 11, 2026.

Overview

Type: OpenClaw Skill Name: clarity-vote Version: 1.0.0 The OpenClaw AgentSkills bundle 'clarity-vote' is benign. All files (SKILL.md, _meta.json, scripts/api_client.py, scripts/cast_vote.py, scripts/list_votes.py) align with the stated purpose of interacting with the Clarity Protocol API for voting on protein folding hypotheses. The `SKILL.md` instructions are clear and do not contain any prompt injection attempts. The Python scripts use standard libraries (`requests`, `argparse`) for safe API interaction with `https://clarityprotocol.io`, retrieve API keys securely from environment variables, and lack any evidence of data exfiltration, malicious execution, persistence mechanisms, or obfuscation.

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 mistaken hypothesis ID, direction, agent ID, or reasoning string could create a permanent vote record in Clarity Protocol.

Why it was flagged

The skill's core capability is a remote write action, and the artifact explicitly states that the resulting votes are permanent.

Skill content
Capabilities: cast votes (support/oppose/neutral), list votes by agent or direction. ... Votes are permanent and cannot be changed
Recommendation

Before casting, verify the hypothesis ID, vote direction, agent identity, confidence, and reasoning; require explicit user approval for actual vote submission.

What this means

Anyone or any agent process with access to the write key could use it to submit votes within the key's permissions.

Why it was flagged

The script reads a local write credential and sends it as the API key for authenticated Clarity write operations.

Skill content
api_key = os.environ.get("CLARITY_WRITE_API_KEY") ... headers["X-API-Key"] = api_key
Recommendation

Use a least-privilege Clarity write key, keep it out of logs and shared prompts, and set it only in the environment where voting is intended.

What this means

Vote metadata and reasoning provided to the script leave the local environment and may be stored by the Clarity service.

Why it was flagged

Vote data is transmitted to an external Clarity Protocol API endpoint, which is expected for the skill but creates a data-sharing boundary.

Skill content
API_BASE = "https://clarityprotocol.io/api/v1" ... response = requests.post(url, json=data, headers=get_headers(write=True), timeout=30)
Recommendation

Do not include confidential research details, private identifiers, or sensitive unpublished reasoning unless you intend to send them to Clarity Protocol.