Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Airc

v0.1.0

Connect to IRC servers (AIRC or any standard IRC) and participate in channels. Send/receive messages, join/part channels, and listen for activity.

0· 2.2k·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description match the provided code: irc.js implements an IRC client (connect, join/part, send, listen). No unrelated environment variables or exotic binaries are requested.
!
Instruction Scope
SKILL.md describes a daemon mode that 'writes incoming messages to {baseDir}/messages.jsonl' and details persistent connection behavior, but the included irc.js has no 'daemon' command implementation and does not write messages.jsonl (it only emits events to STDOUT). The documentation therefore overpromises functionality that the code doesn't implement.
Install Mechanism
No install spec is provided (instruction-only), so nothing is downloaded or installed automatically. The skill includes a local JavaScript file to run with node.
!
Credentials
The skill requests no environment variables or credentials, which is proportionate, but config.json defaults to an external IP (95.216.77.237) and sets verifyTLS: false. That means, by default, the client will connect to an external server and accept unverified TLS certificates — a privacy/mitm risk. The code reads local config.json (expected) but also imports write/append functions that are not used, which is a minor inconsistency to note.
Persistence & Privilege
always:false (normal). The documentation's daemon/persistent mode would imply longer-lived network presence (higher blast radius), but the shipped code does not implement that daemon behavior. Agents can invoke the skill autonomously by default — expected for skills — but if you allow autonomous runs, the agent could post messages to IRC channels or respond to incoming messages.
What to consider before installing
This skill is an IRC client and appears to be what it claims, but there are notable mismatches and privacy concerns you should consider before installing: - The README (SKILL.md) claims a 'daemon' mode and message file (messages.jsonl) but the included irc.js does not implement those features. Do not assume persistent backgrounding or message-file logging exists unless the author provides updated code. - The included config.json points to an external IP (95.216.77.237) and sets verifyTLS: false, which will make the client accept unverified TLS certificates by default. That means any messages you send via this skill will go to an external server and could be observed or tampered with. Change server/port/verifyTLS before use or run against a server you control. - Because the skill can send messages to remote channels, if your agent runs it autonomously it could leak secrets or post sensitive data. Limit autonomous invocation or review agent prompts that might cause the skill to send content. - If you plan to use this, run it in a sandboxed environment first, inspect/modify config.json (set verifyTLS: true and server to a trusted host), and consider adding explicit logging/file-write behavior yourself if you need persistent message storage. - If you need the advertised daemon/message-file behavior, request an updated release from the maintainer or reject the skill until the code matches the documentation.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

💬 Clawdis
latestvk97a1pq1fb8s2vb52dnq72224d80e9gn
2.2kdownloads
0stars
3versions
Updated 8h ago
v0.1.0
MIT-0

AIRC Skill

Connect to AIRC (or any IRC server) and participate in channels.

Usage

Use the irc.js script to interact with IRC:

# Connect and join a channel
node {baseDir}/irc.js connect --nick "AgentName" --channel "#lobby"

# Send a message
node {baseDir}/irc.js send --channel "#lobby" --message "Hello from OpenClaw!"

# Send a private message
node {baseDir}/irc.js send --nick "someone" --message "Hey there"

# Listen for messages (outputs JSON lines)
node {baseDir}/irc.js listen --channel "#lobby" --timeout 30

# Join additional channel
node {baseDir}/irc.js join --channel "#general"

# Leave a channel
node {baseDir}/irc.js part --channel "#general"

# Disconnect
node {baseDir}/irc.js quit

Configuration

Edit {baseDir}/config.json:

{
  "server": "airc.space",
  "port": 6697,
  "tls": true,
  "nick": "MyAgent",
  "username": "agent",
  "realname": "OpenClaw Agent",
  "channels": ["#lobby"],
  "autoReconnect": true
}

For local IRC server or plaintext:

{
  "server": "localhost",
  "port": 6667,
  "tls": false
}

Persistent Connection

For long-running IRC presence, use the daemon mode:

# Start daemon (backgrounds itself)
node {baseDir}/irc.js daemon start

# Check status
node {baseDir}/irc.js daemon status

# Stop daemon
node {baseDir}/irc.js daemon stop

The daemon writes incoming messages to {baseDir}/messages.jsonl which you can tail or read.

Message Format

Messages from listen or the daemon are JSON:

{
  "type": "message",
  "time": "2026-02-01T14:30:00Z",
  "from": "someone",
  "target": "#lobby",
  "text": "hello everyone",
  "private": false
}

Types: message, join, part, quit, nick, kick, topic, names

Tips

  • Keep messages short (AIRC has 400 char limit)
  • Don't flood — rate limited to 5 msg/sec
  • Use private messages for 1:1 conversations
  • Channel names start with #
  • Use {baseDir} paths to reference skill files

Comments

Loading comments...