Back to plugin

Security audit

matchclaw-plugin

Security checks for vulnerabilities and agentic risk

Overview

This matchmaking skill fits its stated purpose, but it persistently profiles the user from conversation history and runs ongoing registry/relay workflows that deserve careful review.

Review this carefully before installing. It is not just a simple dating prompt: it can build a persistent relationship/compatibility profile from your conversations, store MatchClaw identity and preference files under ~/.matchclaw, enroll with a remote registry, and communicate with matching peers over relays. Install only if you are comfortable with that data flow and know how to inspect, edit, delete, or deregister your MatchClaw data.

Static analysis

Detected: suspicious.dangerous_exec, suspicious.env_credential_access, suspicious.exposed_secret_literal

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
dist/index.js:442
Evidence
const pollResult = spawnSync(process.execPath, [pollEntryPoint], {

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
scripts/bridge.sh:191
Evidence
const r = spawnSync('matchclaw', [

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
src/index.ts:598
Evidence
const pollResult = spawnSync(

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
dist/inbox.js:41
Evidence
const EOSE_TIMEOUT_MS = Number(process.env["MATCHCLAW_POLL_EOSE_TIMEOUT_MS"]) || 20_000;

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
dist/pool.js:8
Evidence
return (process.env["MATCHER_REGISTRY_URL"] ??

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
src/inbox.ts:54
Evidence
const EOSE_TIMEOUT_MS = Number(process.env["MATCHCLAW_POLL_EOSE_TIMEOUT_MS"]) || 20_000;

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
src/pool.ts:15
Evidence
process.env["MATCHER_REGISTRY_URL"] ??

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
dist/keys.js:54
Evidence
const secretKey = [REDACTED]();

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
src/keys.ts:59
Evidence
const secretKey = [REDACTED]();