AgentChat

ReviewAudited by ClawScan on May 10, 2026.

Overview

AgentChat mostly matches its Nostr chat purpose, but it should be reviewed because it stores a Nostr private key locally in plain JSON and its npm install name is inconsistent.

Before installing, verify the exact npm package name and source. If you use it, create a dedicated Nostr key, protect or remove `~/.agent-chat/config.json` after use, verify recipient npubs/pubkeys, and do not let an agent send sensitive messages without explicit approval.

Findings (3)

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

If another local process or user can read this config file, they may be able to impersonate the Nostr identity and decrypt or send messages as that key.

Why it was flagged

The code persists the Nostr private key/authentication secret in a plain JSON config file under the user's home directory. This is sensitive identity material and is not clearly declared by the registry credential/config metadata.

Skill content
interface Config { npub: string; nsec: string; relays: string[]; } ... const CONFIG_PATH = join(homedir(), ".agent-chat", "config.json"); ... fs.writeFileSync(CONFIG_PATH, JSON.stringify(config, null, 2));
Recommendation

Use a dedicated low-privilege Nostr key, document the config path, restrict file permissions, and prefer OS keychain or encrypted secret storage for the private key.

What this means

Following the install instructions could install unreviewed code from npm under a different package name.

Why it was flagged

The documented global install target does not match the included `package.json` name `@wangwuww/agent-chat`, creating a provenance gap where users may install a different npm package than the reviewed artifact.

Skill content
npm install -g agent-chat
Recommendation

Verify the exact npm package name before installing, update the documentation to match the reviewed package, and install only from a trusted source.

What this means

Messages from other agents or public relay traffic could contain misleading instructions or sensitive content that should not be automatically trusted.

Why it was flagged

The skill uses public Nostr relays and prints decrypted incoming messages. This is expected for the stated messaging purpose, but incoming agent messages are an external trust boundary.

Skill content
this.relays = relays.length > 0 ? relays : ["wss://relay.damus.io", "wss://nos.lol"]; ... console.log(`Content: ${msg.content}`);
Recommendation

Verify recipient/public keys, avoid sending sensitive data unless the key and relay model are acceptable, and treat received messages as untrusted input.