portbuster 625106e94f Fix security model gaps: enforce per-message signature verification
Security model required that only the operator can send commands and
only authenticated implants can communicate, but implementation had
critical gaps:

1. Implant: verify operator's Ed25519 signature on EVERY command
   before dispatching (handleCommand now calls VerifyEnvelope)
2. Operator: verify implant's Ed25519 signature on EVERY beacon
   and registration before processing
3. Messenger: added VerifyEnvelope() + PubKeyFromEnvelope() helpers,
   trust-on-first-use per-implant key storage
4. All outgoing messages now use SignAndSend() instead of SendEnvelope
   (register, ping, ps/ls/execute results are all properly signed)
5. handler callback now receives sender's crypto.PubKey for verification
6. Renamed misleading CreateSignedEnvelope -> CreateEnvelope (it was
   never actually signing)
2026-06-03 00:25:03 +10:00
2026-06-03 00:18:10 +10:00
2026-06-03 00:18:10 +10:00

Arachne C2

A decentralized Command & Control framework built on libp2p (the peer-to-peer networking stack behind IPFS). No servers, no domains, no IPs to block — just cryptographic identities communicating over the global p2p network.

Inspired by Sliver (BishopFox's adversary emulation framework), but redesigned for decentralized infrastructure.

Key Idea

Instead of running a C2 server on a VPS that can be taken down, Arachne uses GossipSub (PubSub) and direct libp2p streams over the IPFS peer-to-peer network. Your implant fleet and operator are all equal peers in the network — no central point of failure.

Features (Planned)

  • No-cost infrastructure — uses public libp2p network
  • Censorship-resistant — no IPs or domains to block
  • Beacon mode (async) and session mode (interactive)
  • IPFS-based data exfiltration (CID-addressed files)
  • Interactive shell, port forwarding, SOCKS5 proxy
  • Cross-platform implants (Windows, Linux, macOS)
  • Multi-operator support
  • Protocol Buffers message format
  • Ed25519 cryptographic identities

Project Structure

arachne/
├── docs/                  # Design documentation
│   ├── architecture.md    # System architecture
│   ├── protocol-spec.md   # Wire protocol specification
│   ├── implant-design.md  # Implant architecture
│   ├── server-operator-design.md  # Operator node design
│   ├── ipfs-integration.md        # IPFS/libp2p usage
│   └── development-roadmap.md     # Build plan
├── server/                # Operator node (the "server")
├── implant/               # Implant agent code
├── client/                # CLI / TUI client
├── protobuf/              # Protocol Buffers definitions
└── pkg/                   # Shared libraries
    ├── cryptography/      # Crypto primitives
    ├── transport/         # libp2p transport helpers
    ├── config/            # Shared config types
    └── util/              # Utilities

Getting Started

Coming soon — see the development roadmap.

License

GPLv3 (same as Sliver)

S
Description
Automated archival mirror of github.com/portbuster1337/ArachneC2
Readme 3.7 MiB
Languages
Go 98.1%
Shell 1.9%