
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Infrastructure layer for AI agent swarms — 88 MCP tools · A2A · OmniMesh VPN · Scrapling scraper · COC sync · nftables firewall · CDP browser · 2FA TOTP · ~80ms
The infrastructure layer for AI agent swarms.
88 MCP tools · A2A protocol · OmniMesh VPN · nftables firewall · CDP browser · cookie sync · 2FA TOTP · bi-directional sync · CyberBase persistence
npm install -g omniwire
Add to your AI agent (Claude Code, Cursor, OpenCode, etc.):
{
"mcpServers": {
"omniwire": { "command": "omniwire", "args": ["--stdio"] }
}
}
| Problem | OmniWire Solution |
|---|---|
| Managing multiple servers manually | One tool call controls any node |
| Agents can't coordinate with each other | A2A messaging, events, semaphores |
| Multi-step deploys need many round-trips | Pipelines chain steps in 1 call |
| Flaky commands break agent loops | Built-in retry + assert + watch |
| Long tasks block the agent | background: true on any tool |
| Results lost between tool calls | Session store with {{key}} interpolation |
| Different transfer methods for diff sizes | Auto-selects SFTP / netcat+LZ4 / aria2c |
| SSH connections drop | Multi-path failover + circuit breaker |
DevOps & Infrastructure
|
Security & Pentesting
|
Multi-Agent Coordination
|
Background & Async Workflows
|
File Operations
|
VPN & Anonymous Operations
|
graph TB
subgraph clients["AI Agents"]
CC["Claude Code"]
OC["OpenCode / OpenClaw"]
CU["Cursor / Any MCP Client"]
A2["Other Agents (A2A)"]
end
subgraph omniwire["OmniWire MCP Server"]
direction TB
MCP["MCP Protocol Layer<br/>stdio | SSE | REST"]
subgraph tools["88 Tools"]
direction LR
EXEC["Execution<br/>exec run batch<br/>broadcast pipeline bg"]
AGENT["Agentic<br/>store watch task<br/>a2a events locks"]
FILES["Files & Deploy<br/>read write transfer<br/>deploy find"]
SYS["System & DevOps<br/>docker services<br/>cron env git syslog"]
SYNC["CyberSync<br/>sync diff search<br/>secrets knowledge"]
end
subgraph engine["Core Engine"]
direction LR
POOL["SSH2 Pool<br/>persistent compressed<br/>circuit breaker"]
XFER["Transfer Engine<br/>SFTP netcat+LZ4<br/>aria2c 16-conn"]
CSYNC["Sync Engine<br/>PostgreSQL XChaCha20<br/>parallel reconcile"]
end
end
subgraph mesh["Infrastructure Mesh"]
direction LR
N1["Node A<br/>storage"]
N2["Node B<br/>compute"]
N3["Node C<br/>GPU"]
N4["Node D<br/>local"]
end
DB[("PostgreSQL<br/>CyberBase")]
CC & OC & CU & A2 -->|MCP| MCP
MCP --> tools
tools --> engine
POOL -->|"SSH2 multi-path"| N1 & N2 & N3
POOL -->|"local exec"| N4
CSYNC --> DB
style omniwire fill:#0D1117,stroke:#59C2FF,stroke-width:2px,color:#C6D0E1
style clients fill:#161B22,stroke:#91B362,stroke-width:1px,color:#C6D0E1
style mesh fill:#161B22,stroke:#E6B450,stroke-width:1px,color:#C6D0E1
style tools fill:#0D1117,stroke:#59C2FF,stroke-width:1px,color:#C6D0E1
style engine fill:#0D1117,stroke:#CC93E6,stroke-width:1px,color:#C6D0E1
style MCP fill:#162B44,stroke:#59C2FF,color:#59C2FF
style DB fill:#162B44,stroke:#CC93E6,color:#CC93E6
OmniWire is available as a ClawhHub skill:
# Install via ClawhHub CLI
clawhub install omniwire
# Or manual: copy integrations/openclaw/SKILL.md to your OpenClaw skills directory
cp integrations/openclaw/SKILL.md ~/.openclaw/skills/omniwire.md
CyberSync automatically ingests OpenClaw agents, skills, memory, and workspace into CyberBase PostgreSQL.
Register OmniWire as a zero-cost infrastructure agent:
{
"agents": [{
"name": "omniwire",
"type": "local-cli",
"command": "omniwire --stdio",
"skills": ["mesh-exec", "file-transfer", "service-control", "docker", "vpn", "scraping", "firewall"],
"budget": { "monthly_usd": 0 }
}]
}
See integrations/paperclip/ for the full adapter and skill definition.
{
"mcpServers": {
"omniwire": {
"command": "omniwire",
"args": ["--stdio"]
}
}
}
{
"mcp": {
"omniwire": {
"type": "local",
"command": ["omniwire", "--stdio"]
}
}
}
CyberSync automatically syncs OmniWire config to Codex and Gemini environments.
Execution
|
Multi-Agent (A2A)
|
Adaptive File Transfer
|
Connection Resilience
|
Background Dispatch
|
Agentic Chaining
|
Every tool supports
background: true— returns a task ID immediately. Poll withomniwire_bg.
| Tool | Description |
|---|---|
omniwire_exec | Run command on any node. retry, assert, store_as, format:"json", {{key}}, via_vpn. |
omniwire_run | Multi-line scripts via temp file. |
omniwire_batch | N commands in 1 call. Chaining {{prev}}, abort_on_fail, parallel/sequential. |
omniwire_broadcast | Execute on all nodes simultaneously. |
omniwire_pipeline | Multi-step DAG with {{prev}}/{{stepN}} interpolation. |
omniwire_bg | List/poll/retrieve background task results. |
| Tool | Description |
|---|---|
omniwire_store | Session key-value store for cross-call chaining. |
omniwire_watch | Poll until assert matches — deploys, builds, readiness. |
omniwire_healthcheck | Parallel health probe all nodes (disk, mem, load, docker). |
omniwire_agent_task | Background task dispatch with poll/retrieve. |
omniwire_a2a_message | Agent-to-agent message queues (send/receive/peek). |
omniwire_semaphore | Distributed locking — atomic acquire/release. |
omniwire_event | Pub/sub events per topic. |
omniwire_workflow | Reusable named workflow DAGs. |
omniwire_agent_registry | Agent capability discovery + heartbeat. |
omniwire_blackboard | Shared blackboard for swarm coordination. |
omniwire_task_queue | Distributed priority queue — enqueue/dequeue/complete. |
omniwire_capability | Query node capabilities for intelligent routing. |
| Tool | Description |
|---|---|
omniwire_read_file | Read file from any node (node:/path). |
omniwire_write_file | Write/create file on any node. |
omniwire_list_files | List directory contents. |
omniwire_find_files | Glob search across nodes. |
omniwire_transfer_file | Copy between nodes (auto SFTP/netcat/aria2c). |
omniwire_deploy | Deploy one file to all nodes in parallel. |
| Tool | Description |
|---|---|
omniwire_mesh_status | Health, latency, CPU/mem/disk — all nodes. |
omniwire_node_info | Detailed info for one node. |
omniwire_live_monitor | Snapshot metrics: cpu, memory, disk, network. |
| Tool | Description |
|---|---|
omniwire_process_list | List/filter processes across nodes. |
omniwire_disk_usage | Disk usage for all nodes. |
omniwire_tail_log | Last N lines of a log file. |
omniwire_install_package | Install via apt/npm/pip. |
omniwire_service_control | systemd start/stop/restart/status. |
omniwire_docker | Docker commands on any node. |
omniwire_kernel | dmesg, sysctl, modprobe, lsmod, strace, perf. |
omniwire_cron | List/add/remove cron jobs. |
omniwire_env | Get/set persistent environment variables. |
omniwire_network | ping, traceroute, dns, ports, speed, connections. |
omniwire_git | Git commands on repos on any node. |
omniwire_syslog | Query journalctl with filters. |
| Tool | Description |
|---|---|
omniwire_firewall | nftables engine — presets, rate-limit, geo-block, port-knock, ban/unban. Mesh whitelisted. |
omniwire_vpn | Mullvad/OpenVPN/WireGuard/Tailscale — multi-hop, DAITA, quantum, killswitch. Mesh-safe. |
omniwire_cookies | Cookie management — JSON/Header/Netscape, browser extract, CyberBase + 1Password sync. |
omniwire_cdp | Chrome DevTools Protocol — headless Chrome, screenshot, PDF, DOM, cookies. |
omniwire_proxy | HTTP/SOCKS proxy management on any node. |
omniwire_dns | DNS resolve, set server, flush cache, block domains. |
omniwire_port_forward | SSH tunnels — create/list/close/mesh-expose. |
omniwire_shell | Persistent PTY session (preserves cwd/env). |
omniwire_clipboard | Shared clipboard buffer across mesh. |
| Tool | Description |
|---|---|
omniwire_backup | Snapshot/restore paths. Diff, cleanup, retention. |
omniwire_container | Docker lifecycle — compose, build, push, logs, prune, stats. |
omniwire_cert | TLS certs — Let's Encrypt, check expiry, self-signed. |
omniwire_user | User & SSH key management, sudo config. |
omniwire_schedule | Distributed cron with failover. |
omniwire_alert | Threshold alerting — disk/mem/load/offline + webhook notify. |
omniwire_log_aggregate | Cross-node log search in parallel. |
omniwire_benchmark | CPU/memory/disk/network benchmarks. |
omniwire_stream | Capture streaming output (tail -f, watch). |
| Tool | Description |
|---|---|
omniwire_omnimesh | WireGuard mesh manager — init/up/down/add-peer/sync-peers/health/rotate-keys/topology. All OS. |
omniwire_mesh_expose | Expose localhost services to mesh — discover/expose/unexpose/expose-remote. |
omniwire_mesh_gateway | Auto-expose all localhost services mesh-wide. |
omniwire_events | Webhook + WebSocket + SSE event bus. Publish, manage webhooks, query log. |
omniwire_knowledge | CyberBase knowledge CRUD, text/semantic search, health, vacuum, bulk-set, export. |
omniwire_update | Self-update from npm + GitHub. Auto-update, mesh-wide push. |
| Tool | Description |
|---|---|
omniwire_snippet | Reusable command templates with {{var}} substitution. |
omniwire_alias | In-session command shortcuts. |
omniwire_trace | Distributed tracing — span waterfalls across nodes. |
omniwire_doctor | Health diagnostics — SSH, disk, mem, docker, WireGuard, CyberBase. |
omniwire_metrics | Prometheus-compatible metrics scrape/export. |
omniwire_audit | Command audit log — view/search/stats. |
omniwire_plugin | Plugin system — list/load from ~/.omniwire/plugins/. |
| Tool | Description |
|---|---|
cybersync_status | Sync status, item counts, pending syncs. |
cybersync_sync_now | Trigger immediate reconciliation. |
cybersync_diff | Local vs database differences. |
cybersync_history | Sync event log. |
cybersync_search_knowledge | Full-text search unified knowledge base. |
cybersync_get_memory | Retrieve Claude memory from PostgreSQL. |
cybersync_manifest | Tracked files per tool. |
cybersync_force_push | Force push file to all nodes. |
omniwire_secrets | Secrets management (1Password, file, env). |
| Operation | Latency | Optimization |
|---|---|---|
| Command exec | ~80ms | AES-128-GCM cipher, persistent SSH2, zero-fork : ping |
| Mesh status | ~100ms | Parallel probes, 5s cache, single /proc read |
| File read (<1MB) | ~60ms | SFTP-first (skips cat fork) |
| Transfer (10MB) | ~120ms | LZ4 compression (10x faster than gzip) |
| Transfer (1GB) | ~8s | aria2c 16-connection parallel |
| Pipeline (5 steps) | ~400ms | {{prev}} interpolation, no extra tool calls |
| Health check (all) | ~90ms | Parallel Promise.allSettled |
| A2A message | ~85ms | File-append queue, atomic dequeue |
| Reconnect | ~300ms | 300ms initial, 2s keepalive, 15s circuit breaker |
shuf (pure bash) replaces python3 -c socket (-30ms)/proc read replaces multiple piped commands: builtin (no hash lookup, no fork)cat fallback only on failuressh2.Client.exec() -- never child_process.exec()| Mode | Port | Use Case |
|---|---|---|
--stdio | -- | Claude Code, Cursor, MCP subprocess |
--sse-port=N | 3200 | OpenCode, remote HTTP MCP clients |
--rest-port=N | 3201 | Scripts, dashboards, non-MCP |
omniwire --stdio # MCP mode (default)
omniwire --sse-port=3200 --rest-port=3201 # HTTP mode
omniwire --stdio --no-sync # MCP without CyberSync
omniwire # or: ow # Interactive REPL
Create ~/.omniwire/mesh.json:
{
"nodes": [
{ "id": "server1", "host": "10.0.0.1", "user": "root", "identityFile": "id_ed25519", "role": "storage" },
{ "id": "server2", "host": "10.0.0.2", "user": "root", "identityFile": "id_ed25519", "role": "compute" }
]
}
For adding a new node to your OmniWire mesh — what to have ready, how to wire it in, and how to connect it to Claude Code.
| Requirement | Notes |
|---|---|
| Node.js >= 20 | node -v to verify |
| npm >= 9 | Comes with Node.js 20+ |
| WireGuard | wg CLI + kernel module (Linux: apt install wireguard, macOS: Homebrew, Windows: GUI installer) |
| SSH key pair | Ed25519 recommended — ssh-keygen -t ed25519 -f ~/.ssh/id_omniwire |
| SSH access to nodes | Key deployed to ~/.ssh/authorized_keys on every remote node |
| 1Password CLI | op v2+, signed in — required for omniwire_secrets and cookie sync to vault |
| PostgreSQL (optional) | Required only for CyberSync / CyberBase persistence — Contabo hosts it at 10.10.0.1:5432 |
npm install -g omniwire
omniwire --version # verify
1. Generate WireGuard keypair on the new node:
wg genkey | tee /etc/wireguard/node_private.key | wg pubkey > /etc/wireguard/node_pub.key
cat /etc/wireguard/node_pub.key
2. Assign it a mesh IP (next available in 10.10.0.0/24):
| Node | Mesh IP | Role |
|---|---|---|
| Contabo (hub) | 10.10.0.1 | storage, CyberBase |
| Hostinger | 10.10.0.2 | compute |
| Windows PC | 10.10.0.3 | local dev |
| ThinkPad | 10.10.0.4 | local dev |
| new node | 10.10.0.N | assign next |
3. Register the node with OmniMesh (run from any node already in the mesh):
omniwire_omnimesh(action="add-peer",
id="newnode",
public_key="<pubkey from step 1>",
allowed_ips="10.10.0.N/32",
endpoint="<public IP or DNS>:51820"
)
4. Push updated peer list to all nodes:
omniwire_omnimesh(action="sync-peers")
5. Bring the interface up on the new node:
wg-quick up wg0
ping 10.10.0.1 # verify hub reachability
Add the node to ~/.omniwire/mesh.json (create if absent):
{
"nodes": [
{ "id": "contabo", "host": "10.10.0.1", "user": "root", "identityFile": "~/.ssh/id_omniwire", "role": "storage" },
{ "id": "hostinger", "host": "10.10.0.2", "user": "root", "identityFile": "~/.ssh/id_omniwire", "role": "compute" },
{ "id": "windows", "host": "10.10.0.3", "user": "Admin", "identityFile": "~/.ssh/id_omniwire", "role": "local" },
{ "id": "thinkpad", "host": "10.10.0.4", "user": "user", "identityFile": "~/.ssh/id_omniwire", "role": "local" }
]
}
Verify connectivity:
omniwire_mesh_status # should show all nodes green
omniwire_doctor # checks SSH, disk, mem, WireGuard, CyberBase
Add to ~/.claude/claude_desktop_config.json (or your IDE's MCP config):
{
"mcpServers": {
"omniwire": { "command": "omniwire", "args": ["--stdio"] }
}
}
Restart Claude Code. Verify in a new session:
omniwire_mesh_status() # 88 tools should be available
| Variable | Required | Description |
|---|---|---|
OP_SERVICE_ACCOUNT_TOKEN | For 1Password sync | Service account token from 1Password |
OMNIWIRE_VAULT_ROOT | Optional | Path to Obsidian vault root (default: CyberBase vault) |
CYBERSYNC_DB_URL | Optional | PostgreSQL DSN — defaults to postgresql://cyberbase@10.10.0.1:5432/cyberbase |
OMNIWIRE_MESH_CONFIG | Optional | Override mesh.json path |
Set persistently on a node:
omniwire_env(action="set", key="OP_SERVICE_ACCOUNT_TOKEN", value="<token>", node="contabo", persist=true)
CyberSync pushes configs, secrets, and memories to all nodes automatically via PostgreSQL.
# Check what's tracked
omniwire_coc(action="cybersync-status")
# Force push current config to all nodes
omniwire_coc(action="force-sync")
# Diff local state vs database
cybersync_diff()
On first run, CyberSync pulls node configs, 2FA seeds, and Claude memories from CyberBase — no manual copy-paste between machines.
19 new tools: proxy, dns, backup, container, cert, user, schedule, alert, log_aggregate, benchmark, snippet, alias, trace, doctor, metrics, audit, plugin, cookies, cdp.
CyberBase auto-persistence: Store, audit, blackboard, cookies all sync to PostgreSQL. pgvector semantic search. 5s statement_timeout on all DB calls.
Architecture: Priority command queues, smart output truncation, predictive node selection, latency history, connection pool stats.
Security: Command denylist (blocks rm -rf /, fork bombs, disk wipes). Audit log with CyberBase persistence.
A2A: Typed message schemas (JSON validation), dead letter queue for failed tasks, pub/sub event filters.
DX: GitHub Actions CI, bash/zsh/fish shell completions, --json flag, cookie sync to 1Password.
omniwire_firewall: nftables-based firewall engine with 17 actions. Presets (server, paranoid, minimal, pentest), rate-limiting, geo-blocking by country, port-knocking sequences, IP ban/unban, whitelist/blacklist, rule management, audit log, save/restore.
Zero mesh impact: wg0, wg1, tailscale0, and all mesh CIDRs (10.10.0.0/24, 10.20.0.0/24, 100.64.0.0/10) are always whitelisted before any hardening rules. nftables runs in kernel space — zero latency overhead.
omniwire_vpn tool: Mullvad, OpenVPN, WireGuard, Tailscale. Split-tunnel (per-command) + full-node modes. Mesh connectivity (wg0, wg1, Tailscale) always preserved via route exclusions and network namespace isolation.
via_vpn on exec: Route any command through VPN using Linux network namespaces. Only the command's traffic goes through VPN — SSH/WireGuard mesh stays on real interface.
Modes: connect (split-tunnel), full-on (node-wide with mesh exclusions), rotate (new exit IP), status, list, ip.
background: true auto-injected into all 88 tools via server-level wrapper. Returns task ID, poll with omniwire_bg. New omniwire_bg tool for list/poll/result.
Performance: AES-128-GCM cipher, curve25519-sha256 KEX, 2s keepalive, LZ4 transfers (10x faster), shuf port finder (-30ms), SFTP-first reads, array buffer concat, /proc single-read status, : builtin health ping, 300ms reconnect start, 15s circuit breaker.
4 new A2A tools (49 -> 53): agent_registry (capability discovery), blackboard (swarm collaboration), task_queue (distributed work), capability (node routing).
9 new agentic tools (40 -> 49): store, pipeline, watch, healthcheck, agent_task, a2a_message, semaphore, event, workflow. Agentic upgrades: format:"json", retry, assert, store_as, {{key}} interpolation.
Output overhaul (auto-truncation, smart time, tabular multi-node). 6 new DevOps tools (cron, env, network, clipboard, git, syslog).
Security fixes, multi-path SSH failover, CyberBase integration, VaultBridge Obsidian mirror.
omniwire/
src/
mcp/ MCP server (88 tools, 3 transports)
nodes/ SSH2 pool, transfer engine, PTY, tunnels
sync/ CyberSync + CyberBase (PostgreSQL, Obsidian, encryption)
protocol/ Mesh config, types, path parsing
commands/ Interactive REPL
ui/ Terminal formatting
Requirements: Node.js >= 20 • SSH key access to nodes • PostgreSQL (CyberSync only) • WireGuard recommended
| Version | Date | Changes |
|---|---|---|
| v3.5.0 | 2026-03-30 | Full OpenClaw + PaperClip integration. ClawhHub skill updated (v2.1.0→v3.5.0, 30→88 tools). Agent setup instructions for OpenClaw, PaperClip, Oh-My-OpenAgent. Updated all integration manifests. New: integrations/paperclip/SKILL.md, integrations/paperclip/README.md. |
| v3.4.1 | 2026-03-30 | Cross-OS: omniwire_scrape install works on Linux (systemd), macOS (launchd), Windows, Docker (nohup). Auto-upgrades deps + browsers. Python/pip path detection. |
| v3.4.0 | 2026-03-30 | Rewrite: omniwire_scrape — OmniMesh-routed Scrapling with auto-install, VPN routing, adaptive selectors, XPath, bulk sessions. install/status actions. Full README audit (88 tools). |
| v3.3.1 | 2026-03-30 | New: omniwire_scrape tool — Scrapling-powered web scraping (static/browser/stealth modes, Cloudflare bypass, TLS spoofing). |
| v3.3.0 | 2026-03-30 | New: omniwire_coc tool — unified CyberBase + Obsidian + Canvas sync. Auto-creates vault + canvas. mirror-db exports entire DB as .md. Configurable vault via OMNIWIRE_VAULT_ROOT env. |
| v3.2.2 | 2026-03-30 | Fix: sync GitHub/npm metadata — badge, description, mermaid diagram all reflect 86 tools |
| v3.2.1 | 2026-03-30 | New: 5 bi-directional sync tools (omniwire_sync, omniwire_sync_rules, omniwire_sync_hooks, omniwire_sync_memory, omniwire_sync_agents) — 86 tools total |
| v3.2.0 | 2026-03-29 | New: omniwire_2fa TOTP manager — add/generate/verify/import/export 2FA codes, CyberBase + 1Password persistence, otpauth:// URI import, bulk code generation |
| v3.1.5 | 2026-03-29 | Fix: skip auto-audit batch entries from Obsidian vault + Canvas sync to prevent junk files |
| v3.1.4 | 2026-03-29 | Auto-sync CyberBase writes to Obsidian vault + Canvas mindmap, collision-avoidance grid placement, sync-obsidian / sync-canvas actions in knowledge tool |
| v3.1.3 | 2026-03-29 | OmniMesh WireGuard mesh manager, event bus (Webhook/WS/SSE), knowledge tool (12 actions), auto-update system, CDP rewrite (persistent Docker container, 18 actions), mesh expose/gateway, CyberBase circuit breaker + SQL hardening |
| v3.1.2 | 2026-03-28 | Collapsible tool sections in README, npm README sync |
| v3.1.1 | 2026-03-28 | Bug fixes, improved error handling in CDP tool |
| v3.1.0 | 2026-03-27 | OmniMesh VPN, 81 MCP tools, A2A protocol, event system, background dispatch |
| v3.0.0 | 2026-03-25 | Major rewrite: CyberSync, pipeline DAGs, blackboard, task queues, LZ4 transfers, AES-128-GCM encryption |
| v2.6.1 | 2026-03-20 | VPN routing (Mullvad/OpenVPN/WG/Tailscale), multi-hop, DAITA, quantum tunnels |
| v2.5.0 | 2026-03-15 | Firewall management (nftables), cert management, deploy tool |
| v2.0.0 | 2026-03-10 | CDP browser automation, cookie sync, 1Password integration |
| v1.0.0 | 2026-03-01 | Initial release — SSH exec, file transfer, node management |
FAQs
Infrastructure layer for AI agent swarms — 88 MCP tools · A2A · OmniMesh VPN · Scrapling scraper · COC sync · nftables firewall · CDP browser · 2FA TOTP · ~80ms
The npm package omniwire receives a total of 415 weekly downloads. As such, omniwire popularity was classified as not popular.
We found that omniwire demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.