2026-08-08 –, Ham Radio Village (W321)
Meshtastic does exactly what it says: it carries your text off-grid to whoever shares your channel key. The risk is what people assume it does on top of that. The mesh does not keep your secrets and does not vouch for your neighbors, and a growing number of people are betting real stakes on both, using it for protest logistics, disaster response, and off-grid safety where "trusted friends on a channel" is exactly the wrong threat model. We go looking for the beasts that live in that gap, impersonation, forgery, silent packet-dropping, traffic analysis, and node-database floods, each shown live on a real mesh with a custom firmware fork and a Python toolkit. The uncomfortable part is how little it took: two developers who do not write firmware for a living built the whole offensive stack with AI assistance in about 16 days of evenings. This is not a dunk on Meshtastic. It is a field guide to its actual threat model, and to operating like you know the difference.
Meshtastic is an open-source LoRa mesh used off-grid by preppers, hikers, event organizers, and amateur radio operators, and increasingly for protest logistics, disaster response, and other high-stakes comms, usually where people assume their traffic is private and their neighbors are who they claim to be. Those two assumptions are the subject of this talk. A shared channel key buys confidentiality for everyone who holds it and nothing else: not message integrity, not sender identity, not header privacy, not availability. The default key ships with every node, so for much of the mesh the wall is not there at all. None of this is a flaw. It is the threat model of a protocol built for simple, low-power text between people who already trust each other, and the talk treats it that way.
To make that concrete, we hunt four beasts, each shown live. The Impersonator forges messages and node identities the mesh accepts as real, through AES-CTR ciphertext forgery and firmware-level source-ID spoofing. The Eavesdropper reads who is talking, when, and the shape of the network from cleartext headers with no key, and their location too on any channel still running the default key. The Saboteur breaks delivery for a chosen target by dropping its packets, rewriting hop limits, or decrypting, modifying, and re-encrypting traffic in transit. The Swarm exhausts the node database, only about a hundred slots on the boards we run, with ghost nodes and poisons the public map through the MQTT bridge. The active attacks run on a custom firmware fork whose features toggle at runtime and default to safe, with an on-device KILL ALL that resets everything to safe, so the live demos stay penned in our own isolated mesh. For the HAMs there is a sharper cut: licensed mode sets your callsign and transmits in the clear, and a callsign maps through public FCC records to a name and often an address, so a by-the-book node beacons your legal identity and rough location to a village full of people who can direction-find it. The point is not the regulation, it is the consequence.
We also tell an honest story about how fast this came together: two developers who do not write firmware for a living built the firmware fork, a Python toolkit, and custom device-UI panels in about 16 working days (well, evenings) with heavy AI assistance. The one part that did not yield was the hardware, a radio regression that took old-fashioned diagnosis and a version pin, not a cleverer prompt. The attacker's effort floor collapsed; the hardware did not care, and that asymmetry applies to every volunteer-run protocol. So we close where it matters, with an opsec playbook drawn straight from the beasts: change the default key, verify identity and content out of band, assume broadcast, do not stake life-safety on availability, and match the tool to the threat (Meshtastic bought simplicity and adoption, Reticulum offers cryptographic identity and authenticated encryption by default, MeshCore sits between). Credit where due: Meshtastic already ships public-key DMs and signed admin messages, with cryptographic node identity in progress, and our hardening is offered as support for that trajectory, not a homework list for volunteers. Come find the beasts, then learn to live alongside them.
Scott Thompson, KF5CPY, is a Cloud Architect for a motorsports team by day and a compulsive tinkerer by night, with a home lab full of Raspberry Pis, SBCs, and a backlog of HackerBox projects that will absolutely get soldered eventually. He earned his Technician license in 2019 for the most practical reason possible: surviving a back-country trip into the New Mexico desert without cell service. He has spent most of his career security-adjacent, doing the kind of remediation work that gives you strong opinions about how things break. This is his first conference talk.