← Back to Skills Marketplace
Signal messaging for standalone bots/accounts
by
Nicolas Luck
· GitHub ↗
· v1.0.0
655
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install signal-messenger-standalone
Description
Full Signal messenger integration for OpenClaw agents. Send/receive text and voice messages via signal-cli with role-based permissions (owner/trusted/untrust...
Usage Guidance
This skill implements a full Signal bot using signal-cli and local scripts. Before installing:
- Be prepared to install signal-cli, Java (OpenJDK 21+), and ffmpeg manually; the registry metadata does not list these but the SKILL.md requires them.
- Keep your WAKE_URL and WAKE_TOKEN private; set WAKE_URL to your local OpenClaw endpoint where possible. If WAKE_URL points to a remote host, validate the remote endpoint — the script will trigger it when messages arrive.
- Understand the permissions.json owner role: any contact you mark as owner is allowed (per the docs) to instruct the agent to execute commands and modify files. Only assign owner to accounts you fully trust.
- The scripts persist full message contents and debug logs under ~/.signal-state — review and rotate or restrict access to that directory if message confidentiality matters.
- If you plan to use Whisper or hosted TTS/STT, confirm whether those services are local or remote and whether API keys will be required; external STT/TTS may transmit audio to third parties.
- Review the included scripts (signal-poll.sh and signal-send.sh) yourself before running, and test with a disposable Signal number if possible.
If you want, I can list the exact lines that create files, call the wake hook, and persist message bodies so you can audit them quickly.
Capability Analysis
Type: OpenClaw Skill
Name: signal-messenger-standalone
Version: 1.0.0
The skill bundle is classified as suspicious due to critical vulnerabilities that could lead to arbitrary command execution (RCE) via shell injection and prompt injection against the OpenClaw agent. Specifically, `scripts/signal-send.sh` directly interpolates user-controlled input (`$recipient`, `$message`) into `signal-cli` commands without sanitization, creating a shell injection vulnerability. Furthermore, `scripts/signal-poll.sh` logs raw, untrusted message content from Signal users into files (`$WAKE_FILE`, `$HISTORY_DIR/*.log`) which the `SKILL.md` instructs the OpenClaw agent to read and process, posing a significant prompt injection risk to the agent's underlying LLM, despite the described role-based permission system.
Capability Assessment
Purpose & Capability
The name/description match what the files actually implement (signal-cli-based send/receive, transcription, TTS, role-based permissions). However the registry metadata declares no required binaries/env while SKILL.md and the scripts clearly require signal-cli, Java (OpenJDK 21+), ffmpeg and (optionally) Whisper/TTS services and a phone number — a mismatch that could mislead non-technical users.
Instruction Scope
The runtime instructions and scripts stay largely within messaging scope: polling via signal-cli, writing per-contact conversation logs, flagging pending wakes, triggering the OpenClaw wake hook, and sending messages. They also automatically send read/viewed receipts for voice messages and log full message bodies to local files. The scripts reference local attachment paths and optional STT/TTS endpoints (curl to local inference servers) — there is no direct hidden exfiltration in the code, but message contents are persisted locally and the skill triggers an external hook when configured.
Install Mechanism
There is no automated install spec (instruction-only). SKILL.md includes manual install instructions (download GitHub release tarball, move binaries to /usr/local or user dir) which is normal for signal-cli; nothing in the skill automatically downloads or executes additional remote code during install.
Credentials
The skill does not declare any required environment variables in the registry, yet the instructions and scripts rely on configurable tokens/paths: SIGNAL_NUMBER, SIGNAL_CLI path, STATE_DIR, WAKE_URL and WAKE_TOKEN (hook auth), and optional Whisper/TTS endpoints or API keys. WAKE_TOKEN in particular is used as a Bearer header when the script triggers a webhook; if WAKE_URL points to a remote endpoint this could allow remote actors (if misconfigured) to cause the agent to process message contents. The permissions model also grants an 'owner' contact the ability to instruct the agent to execute commands and modify files — a high privilege that must be given intentionally.
Persistence & Privilege
The skill persists data under ~/.signal-state (conversation logs, monitor/debug/triage logs, pending_wakes). It does not set always:true and does not modify other skills' configs. The documented permission tiers explicitly allow an 'owner' to instruct the agent to run commands/mutate files; this is part of the feature but doubles as a high-risk capability if ownership is misassigned.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install signal-messenger-standalone - After installation, invoke the skill by name or use
/signal-messenger-standalone - Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Full-featured Signal messenger integration for OpenClaw agents.
- Send and receive text, image, and voice messages with role-based contact permissions (owner/trusted/untrusted).
- Automatic voice message transcription (Whisper) and voice replies via TTS.
- Secure new contact triage with owner approval workflow to prevent prompt injection.
- Conversation history, typing indicators, read/viewed receipts, and UUID contact support.
- Instant wake-on-message using OpenClaw’s /hooks/wake API integration.
- All messages are auto-logged per contact to conversation files.
Metadata
Frequently Asked Questions
What is Signal messaging for standalone bots/accounts?
Full Signal messenger integration for OpenClaw agents. Send/receive text and voice messages via signal-cli with role-based permissions (owner/trusted/untrust... It is an AI Agent Skill for Claude Code / OpenClaw, with 655 downloads so far.
How do I install Signal messaging for standalone bots/accounts?
Run "/install signal-messenger-standalone" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Signal messaging for standalone bots/accounts free?
Yes, Signal messaging for standalone bots/accounts is completely free (open-source). You can download, install and use it at no cost.
Which platforms does Signal messaging for standalone bots/accounts support?
Signal messaging for standalone bots/accounts is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Signal messaging for standalone bots/accounts?
It is built and maintained by Nicolas Luck (@lucksus); the current version is v1.0.0.
More Skills