Source profileQuality 91/100Review permissions

brucesongs/kali-claw/skills/uav-drone-security/SKILL.md

uav-drone-security

UAV/drone security testing — PX4/ArduPilot autopilot attacks, MAVLink protocol fuzzing, RF link hijacking (2.4GHz control / 5.8GHz video), GPS spoofing/jamming, DroneSploit framework, DJI hardware reversing, and counter-UAS methodologies.

Source repository stars
67
Declared platforms
1
Static risk flags
2
Last source update
2026-08-19
Source checked
2026-08-28

Decision brief

What it does: where it fits

Supplementary Files: - payloads.md — Complete payload collection organized by attack type (drone ecosystem map, RF spectrum recon 2.4 GHz/5.8 GHz, DJI DroneID decoding, MAVLink protocol/capture/fuzzing, PX4 & ArduPilot attack surface, GPS spoofing/jamming, control-link hijacking…

Best for

  • MAVLink Protocol Fuzzing: Authorized red team against a drone fleet's telemetry uplink — capture MAVLink 1/2 traffic over UDP 14550, build a scapy MAVLink layer, inject malformed heartbeat/command-long packets, and iden…
  • RF Control Link Hijacking: Assess a drone fleet's 2.4 GHz FHSS receiver (FrSky/FlySky/ELRS) by capturing full 32-channel hopping sequences with HackRF, identifying non-cryptographic sync words, and demonstrating replay/…
  • GPS Spoofing / Meaconing Lab: Stand up an authorized GPS-SDR-SIM + HackRF range test in a Faraday cage, demonstrate that the autopilot accepts attacker-chosen coordinates, and report the firmware-level mitigations neede…

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeDeclaredSource recordInstall path and trigger
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/brucesongs/kali-claw --skill "skills/uav-drone-security"
Safe inspection promptEditorial

Inspect the Agent Skill "uav-drone-security" from https://github.com/brucesongs/kali-claw/blob/a3205f5484ca8fec9fd809f3c16fe41fbc6ac87e/skills/uav-drone-security/SKILL.md at commit a3205f5484ca8fec9fd809f3c16fe41fbc6ac87e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Phase 1: Reconnaissance — RF Spectrum Survey + DroneID

    1. Set up SDR hardware (HackRF/RTL-SDR) and verify with hackrfinfo / rtltest. 2. Wideband scan of drone bands: 2.4 GHz ISM (hackrfsweep -f 2400:2500), 5.8 GHz FPV (hackrfsweep -f 5725:5875), 900 MHz telemetry (hackrfsweep -f 902:928), 433 MHz telemetry (EU). 3. Identify active d…

    Set up SDR hardware (HackRF/RTL-SDR) and verify with hackrfinfo / rtltest.Wideband scan of drone bands: 2.4 GHz ISM (hackrfsweep -f 2400:2500), 5.8 GHz FPV (hackrfsweep -f 5725:5875), 900 MHz telemetry (hackrfsweep -f 902:928), 433 MHz telemetry (EU).Identify active drone signals: FHSS bursts in 2.4 GHz, continuous analog FM in 5.8 GHz, periodic DroneID beacons.
  2. 02

    Phase 2: Link Capture

    1. Lock onto the strongest drone signal and capture raw I/Q samples at ≥4x the signal bandwidth. 2. For FHSS control links, capture the full 2.4 GHz band at 20 MSPS for ≥30 s to recover hopping pattern. 3. For MAVLink over telemetry radio, capture UDP 14550 / 14551 with tshark -…

    Lock onto the strongest drone signal and capture raw I/Q samples at ≥4x the signal bandwidth.For FHSS control links, capture the full 2.4 GHz band at 20 MSPS for ≥30 s to recover hopping pattern.For MAVLink over telemetry radio, capture UDP 14550 / 14551 with tshark -f "udp port 14550" or use MAVProxy in master mode.
  3. 03

    Phase 3: Protocol Analysis

    1. Demodulate captured RF in URH / inspectrum to extract symbol rate, modulation type (FSK/GFSK/OOK), preamble, sync word, payload structure. 2. For MAVLink, decode every packet with Wireshark's mavlink dissector (UDP 14550/14551, TCP 5760/5762) and correlate heartbeat/sysid/com…

    Demodulate captured RF in URH / inspectrum to extract symbol rate, modulation type (FSK/GFSK/OOK), preamble, sync word, payload structure.For MAVLink, decode every packet with Wireshark's mavlink dissector (UDP 14550/14551, TCP 5760/5762) and correlate heartbeat/sysid/compid against known autopilots.Cross-reference observed MAVLink messages with the official message set (HEARTBEAT, COMMANDLONG, MISSIONITEM, PARAMSET, SETMODE).
  4. 04

    Phase 4: Autopilot Exploitation

    1. If MAVLink is reachable: enumerate parameters (PARAMREQUESTLIST), check for dangerous ones (COMRCOVERRIDE, NAVRCLACT), attempt SETMODE to AUTO/RTL/GUIDED, attempt COMMANDLONG(MAVCMDCOMPONENTARMDISARM). 2. If MAVLink FTP is enabled (MAVFTP): attempt directory listing, fetch /f…

    If MAVLink is reachable: enumerate parameters (PARAMREQUESTLIST), check for dangerous ones (COMRCOVERRIDE, NAVRCLACT), attempt SETMODE to AUTO/RTL/GUIDED, attempt COMMANDLONG(MAVCMDCOMPONENTARMDISARM).If MAVLink FTP is enabled (MAVFTP): attempt directory listing, fetch /fs/microsd/etc/extras.txt, drop a payload that runs on boot.If firmware is in scope: extract via UART/SWD on the Pixhawk (STM32F427/F767), unpack .px4/.apj/djisystem.bin, look for hardcoded keys, debug backdoors, and OTA update channels.
  5. 05

    Phase 5: Countermeasure Validation

    1. Document every finding with reproduction steps, captured artifacts, and severity per the engagement rubric. 2. For defenders: build a DroneID listener + RF fingerprint database; tune a spectrum anomaly detector; tune a MAVLink anomaly detector (non-whitelisted sysid/compid, u…

    Document every finding with reproduction steps, captured artifacts, and severity per the engagement rubric.For defenders: build a DroneID listener + RF fingerprint database; tune a spectrum anomaly detector; tune a MAVLink anomaly detector (non-whitelisted sysid/compid, unexpected SETMODE, unsigned MAVLink 2).For firmware: implement MAVLink 2 signing on all production links; enable multi-constellation GPS cross-check (GPS+Galileo+BeiDou); add IMU-vs-GPS divergence detection.

Permission review

Static risk signals and limitations

Network access

medium · line 124

The documentation includes network, browsing, or remote request actions.

git clone https://github.com/PX4/PX4-Autopilot.git --recursive

Runs scripts

medium · line 124

The documentation asks the agent to run terminal commands or scripts.

git clone https://github.com/PX4/PX4-Autopilot.git --recursive

Runs scripts

medium · line 126

The documentation asks the agent to run terminal commands or scripts.

make px4_sitl jmavsim

Network access

medium · line 161

The documentation includes network, browsing, or remote request actions.

git clone https://github.com/trendmicro/DroneID-timeline.git

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars67SourceRepository attention, not individual Skill quality
Compatibility1 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
brucesongs/kali-claw
Skill path
skills/uav-drone-security/SKILL.md
Commit
a3205f5484ca8fec9fd809f3c16fe41fbc6ac87e
License
MIT
Collected
2026-08-28
Default branch
main
View the original SKILL.md

Skill: UAV & Drone Security

Supplementary Files:

  • payloads.md — Complete payload collection organized by attack type (drone ecosystem map, RF spectrum recon 2.4 GHz/5.8 GHz, DJI DroneID decoding, MAVLink protocol/capture/fuzzing, PX4 & ArduPilot attack surface, GPS spoofing/jamming, control-link hijacking, video-link interception, DroneSploit framework, firmware extraction, flight log forensics, counter-UAS methodology, blue-team detection, quick reference cheat sheet — 18 major categories, 60+ code blocks with real mavproxy.py, tshark, hackrf_transfer, GPS-SDR-SIM, and DroneSploit CLI flags, plus incident references: RQ-170 Iran 2011, DJI tracking 2017, Apache Vegas 2020, CISA PX4 advisory).
  • test-cases.md — Structured test cases (RF spectrum survey, DJI DroneID decode, MAVProxy capture, MAVLink fuzzing, PX4 param dump, ArduPilot GCS enumeration, GPS spoofing lab with HackRF + GPS-SDR-SIM, 2.4 GHz FHSS capture, 5.8 GHz video interception, DroneSploit module run, DJI firmware extraction, flight log analysis for .ulg/.bin) — 12 cases across 6 categories.
  • guides/uav-drone-security-playbook.md — End-to-end drone pentest playbook: RF recon → DroneID decode → MAVLink capture → autopilot exploitation → countermeasure validation. Includes drone ecosystem architecture, PX4 SITL lab build, MAVLink 1 vs 2 deep dive, real-world incidents, and legal/ethical considerations (FAA Part 107, FCC Part 15, counter-UAS restrictions).

Summary

UAV/drone security skill domain covering the full aerial vehicle attack surface: open-source autopilot stacks (PX4, ArduPilot), the MAVLink (Micro Air Vehicle Link) telemetry/control protocol, ground control station software (QGroundControl, MAVProxy), RF control links (2.4 GHz FHSS — FrSky, FlySky, CRSF/ELRS — plus DJI OcuSync and Walksnail digital links), 5.8 GHz analog/digital video links, GPS/GNSS dependency, and the DJI closed ecosystem. The domain covers both offensive testing of drone systems (authorized pentests, fleet security audits, vendor red team) and defensive counter-UAS (CUAS) operations: detection, classification, tracking, and (where legally authorized) interdiction. The threat surface includes mavlink hijacking on serial, UDP, and TCP links, GPS spoofing/meaconing, control-link replay/jamming, video-link interception, firmware extraction, and OTA-update attacks. Real-world incidents range from the 2011 Iran RQ-170 GPS spoof through the 2017 US Army DJI data-leakage ban, the 2020 Apache helicopter Vegas drone-swatter incident, and the 2023-2024 CISA advisories on PX4/Pixhawk autopilot flaws.

Tools: DroneSploit, PX4-Autopilot (SITL), ArduPilot (SITL), MAVProxy, QGroundControl, HackRF One, Universal Radio Hacker (URH), DroneID (DJI dissector), Crazyradio PA, inspectrum, GQRX, GPS-SDR-SIM, Wireshark (MAVLink dissector)

Domain: aerial

MITRE ATT&CK: TA0040-Detection (autopilot telemetry fingerprinting for blue team evasion), T1557-Adversary-in-the-Middle (MAVLink injection, GPS spoof, video-link relay), TA0001-Initial Access (RF control link, GPS dependency, firmware update channels), T1565-Data Manipulation (autopilot parameter tampering)

Description

A drone is a flying embedded system. The flight controller (a Pixhawk-class STM32 board running PX4 or ArduPilot) reads IMU + barometer + magnetometer + GPS sensors 1 000+ times per second, runs a cascade of PID controllers per axis, mixes the result into motor PWM/DShot outputs, and accepts high-level setpoints from a ground control station (GCS) over MAVLink. Three RF links surround the aircraft: (1) a 2.4 GHz control link between RC transmitter and receiver for pilot sticks, typically FHSS with proprietary hopping sequences (FrSky D16, FlySky AFHDS, CRSF/ELRS); (2) a 5.8 GHz video link — analog NTSC/PAL over FM, or digital (DJI OcuSync/O3, Walksnail, HDZero, FatShark Sharkbyte) for First Person View (FPV); and (3) a telemetry/control uplink running MAVLink over 915 MHz (USA/AU), 433 MHz (EU), or 2.4 GHz. Most commercial drones also embed a GPS/GNSS receiver that is implicitly trusted by the autopilot for position hold, return-to-launch, and geofencing. Each link is a separate attack surface and most have been broken publicly: MAVLink has no authentication by default, 2.4 GHz FHSS sequences have been recovered with SDR, DJI DroneID leaks persistent identification, GPS C/A-code spoofing is well-documented, and firmware images have been unpacked from DJI products and modified. This skill covers the offensive side (how to test these layers ethically and legally) and the defensive side (counter-UAS detection, classification, and where authorized, interdiction).

Core Attack Surfaces:

  • MAVLink Protocol (v1/v2): Micro Air Vehicle Link — default-unauthenticated, plaintext, broadcast-friendly. Attackers on the same RF or network segment can sniff, replay, and inject commands: arm (CMD_LONG/MAV_CMD_COMPONENT_ARM_DISARM), takeoff, change mode, upload mission, dump parameters, or trigger PREFLIGHT_REBOOT_SHUTDOWN. MAVLink 2 added optional signing (RFC 4120-inspired) but most production deployments ship it disabled or unsigned.
  • Autopilot Stacks (PX4, ArduPilot): open-source flight-control firmware. Attack surface includes the parameter store (param set), mixer tables (.mix files), uORB message bus (PX4), MAVLink service handlers, file server (FTP over MAVLink), and OTA update channels. Misconfigured COM_OBS_AVOID_TILT / COM_RC_OVERRIDE / COM_OF_LOSS parameters can allow flight-mode takeover.
  • RF Control Link (2.4 GHz FHSS): FrSky, FlySky, ELRS/CRSF, DJI. Attack vectors include FHSS sequence recovery (requires capturing full 32-channel hops over multiple SDR captures), jamming, and replay of unencrypted frames. The Crazyradio PA (nRF24LU1+) is a popular hardware tool for nRF-based protocols.
  • Video Link (5.8 GHz): Analog NTSC FPV is trivially received (any 5.8 GHz receiver). Digital links (DJI OcuSync, Walksnail, HDZero) require protocol-specific decryption research; published attacks include SDR waterfall fingerprinting and pairing-record extraction.
  • GPS/GNSS Dependency: drones trust GPS for RTL, geofencing, position hold. GPS-SDR-SIM + HackRF can spoof a stationary aircraft by feeding it an attacker-chosen trajectory. Meaconing (replay of recorded GPS samples) is lower-effort but less flexible.
  • DJI Closed Ecosystem: largest commercial vendor. DroneID (a periodic RF broadcast at 900/2.4 GHz) leaks serial number, operator location, and aircraft position — used by DJI AeroScope for law-enforcement tracking and independently decodable with SDR + the open DroneID wireshark dissector. DJI firmware images (*.bin / dji_system.bin) have been unpacked, AUAV modules run busybox Linux, and the DJI Go mobile app has been MITM-ed.
  • Firmware Update Channels: PX4 .px4 files, ArduPilot .apj files, and DJI OTA updates are all attack targets. A compromised ground control station or a malicious OTA server can deliver trojanized firmware.
  • Counter-UAS (CUAS): defensive discipline covering passive RF detection (DroneID, RF fingerprinting), radar classification, acoustic signature matching, electro-optical tracking, and (where legally authorized) RF interdiction (jamming, protocol-aware takeover). This skill covers the detection/analysis half; active interdiction is heavily regulated.

Related Skills:

  • skills/sdr-rf-attack/SKILL.md — General SDR fundamentals, HackRF usage, GNURadio, URH, ISM-band protocol reversing. This skill is the drone-specific application of those SDR skills.
  • skills/iot-pentest/SKILL.md — General embedded/IoT pentest (firmware extraction, UART/JTAG, debug interfaces). Drone hardware builds on these techniques.
  • skills/hardware-security/SKILL.md — Glitching, side-channel, JTAG/SWD exploitation of flight controllers (Pixhawk STM32 boards).
  • skills/wifi-pentest/SKILL.md — Some drones expose WiFi management interfaces (DJI, Skydio); WiFi-specific attacks go through this skill.
  • skills/automotive-vehicle-security/SKILL.md — Drone GNSS spoofing shares methodology with automotive GNSS spoofing; the underlying GPS-SDR-SIM + HackRF lab is the same.

Use Cases

  1. MAVLink Protocol Fuzzing: Authorized red team against a drone fleet's telemetry uplink — capture MAVLink 1/2 traffic over UDP 14550, build a scapy MAVLink layer, inject malformed heartbeat/command-long packets, and identify which autopilot versions crash or accept unauthorized commands. Used by PX4/ArduPilot vendors for hardening before release.
  2. RF Control Link Hijacking: Assess a drone fleet's 2.4 GHz FHSS receiver (FrSky/FlySky/ELRS) by capturing full 32-channel hopping sequences with HackRF, identifying non-cryptographic sync words, and demonstrating replay/takeover in a Faraday cage.
  3. GPS Spoofing / Meaconing Lab: Stand up an authorized GPS-SDR-SIM + HackRF range test in a Faraday cage, demonstrate that the autopilot accepts attacker-chosen coordinates, and report the firmware-level mitigations needed (multi-constellation, IMU cross-check, ADS-B cross-reference).
  4. Autopilot Exploitation: Penetration test of a PX4/ArduPilot-based commercial drone — enumerate parameters, abuse MAVLink FTP, deliver a trojanized .px4 firmware via a compromised ground station, and document the resulting persistent autopilot compromise.
  5. Drone Forensics: Post-incident forensic analysis of a recovered drone — extract .ulg (PX4) or .bin (ArduPilot) flight logs, decode DAT files, reconstruct the flight path, and identify anomalous commands (mode changes, parameter writes) that indicate takeover.
  6. Counter-UAS Detection: Build a passive detection capability for a facility — DroneID listener, RF fingerprint database, RTL-SDR-based spectrum watcher, ADS-B cross-correlation to reject manned aircraft, and a triage workflow for security operations.
  7. Firmware / Hardware Reversing: Vendor security assessment of a DJI or Parrot drone — extract firmware from a physical UART/SWD port, unpack the AUAV Linux image, decompose the DJI encrypted firmware blobs, and report any hardcoded credentials, signing keys, or backdoor channels.

Core Tools

ToolPurposeCommand Example
DroneSploitDrone-focused pentest framework (Metasploit-style) — modules for drone discovery, default-password login, MAVLink replaydronesploituse auxiliary/scanner/dji/aeroscope_listenerset INTERFACE wlan0run
PX4-Autopilot (SITL)Open-source autopilot stack with SITL (Software-In-The-Loop) simulator — lab for MAVLink/params/uORB attacksmake px4_sitl jmavsim → autopilot boots on TCP 4560 with MAVLink
ArduPilot (SITL)Open-source autopilot alternative — SITL build for MAVLink/GCS fuzzingsim_vehicle.py -v ArduCopter -f quad --map --console
MAVProxyCommand-line ground control station and MAVLink router/inspector — Python, scriptablemavproxy.py --master=tcp:127.0.0.1:5760 --console --map
QGroundControlCross-platform GUI ground control station (Windows/mac/Linux) — parameter upload, mission plannerqgroundcontrol → connect to udp:14550 → Parameters tab
HackRF One1 MHz–6 GHz half-duplex SDR — wideband capture of 2.4 GHz control and 5.8 GHz video links, GPS spoofing TXhackrf_transfer -t gps_iq.bin -f 1575420000 -s 2600000 -x 10 -R
Universal Radio Hacker (URH)Interactive protocol reverse engineering — modulation auto-detect, frame alignment, replayurh → File → Open drone_capture.complex → Auto-detect modulation → Assign labels
DroneIDOpen-source DJI drone identification decoder (wireshark dissector + python lib) — serial, operator, aircraft positiontshark -i wlan0 -f "ether proto 0x8898" -X lua_script:droneid.lua
Crazyradio PAnRF24LU1+ 2.4 GHz USB dongle for Crazyflie / nRF protocol replay — pair, replay, hijackcrazyradio → scan 80 channels → pair target → inject command
inspectrumOffline captured signal visualization with spectrogram + symbol layersinspectrum drone_video.raw -r 20000000 -f 5740000000
GQRXReal-time spectrum + waterfall display (GNURadio-based) — drone signal discoverygqrx → Device=HackRF → Freq=2440 MHz → Sample rate=8 MSPS → Record
GPS-SDR-SIMSoftware GPS signal generator — produces I/Q samples for L1 C/A-code spoofing with HackRFgpssim -e brdc3540.24n -l 30.28650,120.03240,100 -b 8 -d 300
Wireshark (MAVLink dissector)MAVLink packet capture and dissection over UDP/TCP/serialwireshark -k -i any -f "udp port 14550" -d "udp.port==14550,mavlink"

Methodology

Phase 1: Reconnaissance — RF Spectrum Survey + DroneID

  1. Set up SDR hardware (HackRF/RTL-SDR) and verify with hackrf_info / rtl_test.
  2. Wideband scan of drone bands: 2.4 GHz ISM (hackrf_sweep -f 2400:2500), 5.8 GHz FPV (hackrf_sweep -f 5725:5875), 900 MHz telemetry (hackrf_sweep -f 902:928), 433 MHz telemetry (EU).
  3. Identify active drone signals: FHSS bursts in 2.4 GHz, continuous analog FM in 5.8 GHz, periodic DroneID beacons.
  4. Listen for DroneID with the open DroneID wireshark dissector to identify DJI aircraft (serial, operator location, aircraft position) without any cooperation from the operator.
  5. Document spectrum survey heatmap and identified signals with frequency, modulation, bandwidth, and duty cycle.

Phase 2: Link Capture

  1. Lock onto the strongest drone signal and capture raw I/Q samples at ≥4x the signal bandwidth.
  2. For FHSS control links, capture the full 2.4 GHz band at 20 MSPS for ≥30 s to recover hopping pattern.
  3. For MAVLink over telemetry radio, capture UDP 14550 / 14551 with tshark -f "udp port 14550" or use MAVProxy in master mode.
  4. For analog FPV video, demodulate FM at 5.8 GHz to NTSC and save frames.
  5. Verify captures with inspectrum (RF) or Wireshark (MAVLink).

Phase 3: Protocol Analysis

  1. Demodulate captured RF in URH / inspectrum to extract symbol rate, modulation type (FSK/GFSK/OOK), preamble, sync word, payload structure.
  2. For MAVLink, decode every packet with Wireshark's mavlink dissector (UDP 14550/14551, TCP 5760/5762) and correlate heartbeat/sysid/compid against known autopilots.
  3. Cross-reference observed MAVLink messages with the official message set (HEARTBEAT, COMMAND_LONG, MISSION_ITEM, PARAM_SET, SET_MODE).
  4. Identify authentication posture: MAVLink 1 (no auth), MAVLink 2 unsigned (most common), MAVLink 2 signed (rare — check for MAVLINK_IFLAG_SIGNED).
  5. Build a target model: autopilot vendor, version, link technology, GPS dependency, geofencing posture.

Phase 4: Autopilot Exploitation

  1. If MAVLink is reachable: enumerate parameters (PARAM_REQUEST_LIST), check for dangerous ones (COM_RC_OVERRIDE, NAV_RCL_ACT), attempt SET_MODE to AUTO/RTL/GUIDED, attempt COMMAND_LONG(MAV_CMD_COMPONENT_ARM_DISARM).
  2. If MAVLink FTP is enabled (MAVFTP): attempt directory listing, fetch /fs/microsd/etc/extras.txt, drop a payload that runs on boot.
  3. If firmware is in scope: extract via UART/SWD on the Pixhawk (STM32F427/F767), unpack .px4/.apj/dji_system.bin, look for hardcoded keys, debug backdoors, and OTA update channels.
  4. If GPS is in scope: stand up GPS-SDR-SIM + HackRF in a Faraday cage, demonstrate that the autopilot accepts the spoofed trajectory, and report the firmware mitigations required.
  5. If RF control link is in scope: replay captured FHSS frames, jam a single channel to force failsafe, or demonstrate a takeover of a non-cryptographic protocol.

Phase 5: Countermeasure Validation

  1. Document every finding with reproduction steps, captured artifacts, and severity per the engagement rubric.
  2. For defenders: build a DroneID listener + RF fingerprint database; tune a spectrum anomaly detector; tune a MAVLink anomaly detector (non-whitelisted sysid/compid, unexpected SET_MODE, unsigned MAVLink 2).
  3. For firmware: implement MAVLink 2 signing on all production links; enable multi-constellation GPS cross-check (GPS+Galileo+BeiDou); add IMU-vs-GPS divergence detection.
  4. Validate mitigations by re-running the engagement test cases and confirming they fail (attack blocked) or trigger alerts (detection works).
  5. Produce a written report with legal framing (FAA Part 107 compliance, FCC Part 15 transmission limits, counter-UAS restrictions).

Practical Steps

Step 1: Stand up a PX4 SITL Lab (no hardware required)

# Clone PX4-Autopilot and build SITL with jMAVSim simulator
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot
make px4_sitl jmavsim

# In another terminal, attach MAVProxy to the SITL autopilot
pip3 install pymavlink mavproxy
mavproxy.py --master=tcp:127.0.0.1:4560 --console --map

# Inside MAVProxy console, dump parameters and check for dangerous ones
param show COM_*
param show NAV_*
param show MAV_*
mode
status

Step 2: Capture MAVLink over UDP 14550 with tshark

# Identify the MAVLink version and endpoints
tshark -i any -f "udp port 14550" -Y "mavlink" -T fields \
  -e mavlink.msgid -e mavlink.sysid -e mavlink.compid \
  -e mavlink.heartbeat.type -e mavlink.heartbeat.autopilot 2>&1 | head -50

# Save the full capture for offline analysis
tshark -i any -f "udp port 14550 or udp port 14551 or tcp port 5760" \
  -w mavlink_capture.pcap

# Decode the pcap later with the MAVLink dissector
tshark -r mavlink_capture.pcap -Y "mavlink.msgid == 76" \
  -T fields -e mavlink.command_long.command -e mavlink.command_long.param1

Step 3: Decode DJI DroneID over the air

# Install the DroneID dissector (trendmicro/DroneID-timeline or loosebianky/DroneID)
git clone https://github.com/trendmicro/DroneID-timeline.git
cd DroneID-timeline

# Capture DroneID on 2.4 GHz with HackRF for 10 seconds
hackrf_transfer -r droneid_2400.raw -f 2440000000 -s 20000000 -l 32 -g 30 -n 200000000

# Demodulate with GNURadio and feed DroneID decoder
# (see DroneID wireshark dissector for the gr-demod flowgraph)
gnuradio-companion droneid_demod.grc

# Inspect with wireshark
wireshark -k -r droneid_decoded.pcap -X lua_script:droneid.lua

# Extract serial, operator, aircraft position from the dissector output
tshark -r droneid_decoded.pcap -Y "droneid" -V | \
  grep -E "Serial|Operator|Drone (Lat|Lon)|Home (Lat|Lon)"

Step 4: GPS Spoofing Lab with GPS-SDR-SIM + HackRF (Faraday cage only)

# Download a recent GPS ephemeris (BRDC file from NASA CDDIS)
wget https://cddis.nasa.gov/archive/gnss/data/daily/2024/brdc/BRDC00IGS_R_20241550000_01D_MN.rnx.gz
gunzip BRDC00IGS_R_20241550000_01D_MN.rnx.gz

# Clone and build GPS-SDR-SIM
git clone https://github.com/osqzssp/GPS-SDR-SIM.git
cd GPS-SDR-SIM && make

# Generate a static spoof trajectory at a chosen location, 100 m altitude
gpssim -e brdc3550.24n -l 30.28650,120.03240,100 -b 8 -d 300 -o spoof_static.bin

# Transmit via HackRF INSIDE A FARADAY CAGE ONLY — never on open spectrum
hackrf_transfer -t spoof_static.bin -f 1575420000 -s 2600000 -a 1 -x 10 -R

# Verify spoof success on a reference receiver (u-blox NEO-M8N)
# Position should read the chosen lat/lon when lock is acquired.

Step 5: DroneSploit Framework Workflow

# Install DroneSploit (dstemmerk or DatabaseCoordinate variants)
git clone https://github.com/dronesploit/dronesploit.git
cd dronesploit && pip3 install -r requirements.txt
python3 dronesploit.py

# Inside dronesploit prompt
msf > use auxiliary/scanner/dji/aeroscope_listener
msf auxiliary(aeroscope_listener) > set INTERFACE wlan0mon
msf auxiliary(aeroscope_listener) > run

# When a DJI drone is detected, pivot to MAVLink enumeration
msf > use auxiliary/scanner/mavlink/heartbeat_scanner
msf auxiliary(heartbeat_scanner) > set RHOSTS 192.168.1.0/24
msf auxiliary(heartbeat_scanner) > set RPORT 14550
msf auxiliary(heartbeat_scanner) > run

Defense Perspective

Counter-UAS Detection Stack

  • Passive RF: continuous monitoring of 2.4 GHz / 5.8 GHz / 900 MHz / 433 MHz bands; detect FHSS bursts, DroneID beacons, and known drone RF fingerprints (DJI, Parrot, Skydio, Autel, Yuneec).
  • DroneID sensors: deploy DJI AeroScope or open DroneID listeners at facility perimeter to identify DJI aircraft by serial number and operator location.
  • Radar: short-range (1–5 km) Ku/Ka band radar for non-cooperative drones; cross-correlate with ADS-B to filter manned aircraft.
  • Acoustic: spectrogram of rotor RPM harmonics for low-altitude detection (≤300 m) where RF/visual methods are degraded.
  • Electro-optical / IR: thermal imaging for night and obscured-weather tracking.

Hardening Recommendations

  • Enable MAVLink 2 signing on all production telemetry/control links (MAVLink 2.0 section-signing with a shared secret rotated every 90 days).
  • Default-deny MAVLink commands: build an allowlist of sysid/compid/msgid tuples per vehicle and reject everything else.
  • Disable MAVLink FTP on production aircraft; allow only signed firmware updates verified against the vendor's attestation key.
  • Cross-check GPS against IMU velocity (Kalman filter divergence detection) and against ADS-B ground speed; alarm on divergence > threshold.
  • Use ELRS or CRSF (cryptographically authenticated FHSS) for 2.4 GHz control links; never rely on FrSky D8 or fixed-code protocols.
  • Encrypt video links where supported (DJI O3 with PIN pairing, custom FPV with AES).
  • Geofence every mission with a no-fly-zone database (FAA LAANC, DJI GEO); fail safe to RTL if geofence is violated.

Compliance Considerations

  • FAA Part 107: commercial drone operations in the USA require a Remote Pilot Certificate; testing in controlled airspace requires LAANC authorization.
  • FCC Part 15: intentional RF transmission (GPS spoofing, jamming, RF replay) outside ISM bands or above EIRP limits is illegal in the USA without experimental authorization.
  • Counter-UAS law: in the USA, 18 U.S.C. § 32 makes it a felony to interfere with any aircraft, including drones; only DHS, DOJ, and DoD have explicit authority for active interdiction. State-level CUAS statutes vary widely.
  • MAVLink interception: sniffing unencrypted MAVLink on shared networks is generally legal; injecting commands into an aircraft you do not own is a felony in most jurisdictions.
  • DroneID/ADS-B reception: passive reception of broadcast RF is generally legal in the USA and EU; re-transmitting the data may be restricted.

Countermeasures by Attack Type

Attack VectorCountermeasureImplementation Difficulty
MAVLink InjectionMAVLink 2 signing, default-deny msgid allowlistMedium
MAVLink FTP AbuseDisable FTP service; allow only signed firmwareLow
GPS SpoofingMulti-constellation cross-check, IMU divergence detection, ADS-B cross-referenceHigh
GPS JammingInertial dead-reckoning fallback, jamming detector with RTL on jamming alarmMedium
2.4 GHz FHSS ReplayCryptographically authenticated FHSS (ELRS/CRSF) with session keysMedium
2.4 GHz FHSS JammingSpread-spectrum, frequency agility, failsafe RTLMedium
5.8 GHz Video InterceptEncrypt video link (DJI O3 pairing, AES); switch to digital with pairing recordHigh
Firmware Update HijackSigned updates, attestation keys, secure boot on PixhawkHigh
DroneID PrivacyOperate in test/research mode where legal; know that DroneID is always onN/A
CUAS Takeover (legal)Federal authority only (DHS/DOJ/DoD); commercial CUAS systems are passive-only in the USAN/A

Detection Methods

UAV Communication Audit

  • MAVLink anomalies: Unauthorized commands to UAV; command injection signatures.
  • GPS spoofing: Position reports inconsistent with multiple receivers; receiver clock anomalies.
  • DroneID anomalies: Serial number mismatch; operator ID not in database.
  • RF anomalies: Unauthorized transmissions on 2.4 GHz / 5.8 GHz bands.

SIEM Detection Rules

  • Splunk SPL (drone): index=drone sourcetype=mavlink | where cmd != expected_cmd
  • Custom drone monitoring: Per-vendor monitoring (DJI, Parrot, custom builds).

Defense Evasion Techniques

UAV Compromise Stealth

  • Single-shot exploit: One command injection per flight; below sustained-pattern detection.
  • Use legitimate commands: Inject commands within legitimate mission profile.
  • Off-hours operation: Execute during low-RF-activity hours.

GPS Spoofing Stealth

  • Gradual drift: Slowly drift spoofed position; avoids sudden jump detection.
  • Match C/N0: Match spoofed signal strength to expected.
  • Single satellite spoofing: Spoof only 1-2 satellites rather than full constellation.

Differentiation

This skill is drone-specific — it does not duplicate general SDR/IoT content.

  • vs sdr-rf-attack: sdr-rf-attack covers general RF attack methodology (HackRF fundamentals, ISM-band reversing, cellular, RFID, keyfobs). This skill applies that SDR foundation to drones specifically: drone RF bands (2.4 GHz control, 5.8 GHz video, 900/433 MHz telemetry), drone protocols (MAVLink, DroneID, FHSS sequences), and drone hardware (Pixhawk, DJI, Crazyflie). Where sdr-rf-attack is "any RF signal," this is "RF signals that make a drone fly."
  • vs iot-pentest: iot-pentest covers general embedded/IoT attack (firmware extraction, UART/JTAG, BLE, Zigbee). This skill uses those techniques on drones: Pixhawk STM32 SWD, DJI firmware unpacking, AUAV Linux shell access, OTA update abuse. The drone-specific layer (autopilot firmware, MAVLink, flight control PIDs, mission planning) is not in scope for iot-pentest.
  • vs automotive-vehicle-security: shares GNSS spoofing methodology (GPS-SDR-SIM, HackRF) but applied to aerial vehicles, not ground vehicles. Drone-specific: MAVLink (not CAN), autopilot params (not UDS), control link (not key fob), DroneID (not OBD-II).
  • vs wifi-pentest: this skill focuses on the dedicated drone RF links (2.4 GHz FHSS, 5.8 GHz video, 900 MHz telemetry); WiFi-based drone management interfaces (DJI Osmo Pocket WiFi, Skydio WiFi setup) defer to wifi-pentest.

Legal and Ethical Framing

Drone attacks can have catastrophic consequences — a hijacked drone is a falling 1–10 kg object at 10–120 m altitude. Every test case in this skill assumes:

  1. Faraday cage or shielded range for any active RF transmission (GPS spoof, RF replay, jamming).
  2. Written authorization from the drone owner, the autopilot vendor (for vendor pentests), and the property owner of the test range.
  3. FAA Part 107 compliance in the USA (Remote Pilot Certificate, LAANC authorization, daylight-only VLOS for most tests).
  4. FCC Part 15 compliance for RF transmissions — ISM band only, EIRP limits, no interference to licensed services.
  5. No active interdiction of any aircraft you do not own and have not been explicitly authorized to test — this is a felony under 18 U.S.C. § 32 in the USA and equivalent statutes in other jurisdictions.
  6. Ethical disclosure for any vendor vulnerabilities found — follow the vendor's coordinated disclosure policy (DJI, PX4, ArduPilot all have public security disclosure processes).

Frequently asked questions

What to verify before installation and use

What does the uav-drone-security source document cover?

Supplementary Files: - payloads.md — Complete payload collection organized by attack type (drone ecosystem map, RF spectrum recon 2.4 GHz/5.8 GHz, DJI DroneID decoding, MAVLink protocol/capture/fuzzing, PX4 & ArduPilot attack surface, GPS spoofing/jamming, control-link hijacking…

How do I install uav-drone-security?

The source record exposes this install command: npx skills add https://github.com/brucesongs/kali-claw --skill "skills/uav-drone-security". Inspect the command and pinned source before running it.

Which Agent platforms does the source record declare?

The pinned source record declares support for: claude code.

Which permission-related actions were detected?

Static rules flagged network, exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 97224

yonatangross/orchestkit

verify

Grade work that already exists and decide whether it can merge. Runs the project's current unit, integration, and E2E suites plus security scanning and type checking, scores every dimension 0-10, and returns a merge verdict with a VERIFIED-vs-CLAIMED evidence manifest. Writes no test files and edits no source. Use when verifying changes are ready to merge. Use /ork:cover instead when the tests still have to be written.

Computed 97211

PramodDutta/qaskills

RAG Regression Testing

Gate RAG pipelines in CI with versioned golden eval sets, per-metric thresholds, baseline drift detection, and a build that fails when retrieval or answer quality regresses.

Computed 9667

brucesongs/kali-claw

automotive-vehicle-security

CAN/CAN-FD bus analysis, UDS diagnostics, IVI pentest, OBD-II exploitation, key fob replay/relay attacks, GNSS spoofing, EV charging station (ISO 15118), and connected vehicle red team operations.

Computed 9621

upex-galaxy/agentic-qa-boilerplate

regression-testing

Execute regression test suites via CI/CD, analyze results, classify failures, and produce GO/NO-GO release decisions. Use when running regression, smoke, or sanity suites through GitHub Actions, monitoring workflow runs, downloading Allure or Playwright artifacts, classifying failures (REGRESSION vs FLAKY vs KNOWN vs ENVIRONMENT vs NEW TEST), computing pass-rate and trend metrics, deciding release readiness, generating executive quality reports, or creating regression issues. Triggers on: run re