DEV Community

Bill trammell
Bill trammell

Posted on

I Built 5 Python Security Tools in a Week — Here's What I Learned

I Built 5 Python Security Tools in a Week — Here's What I Learned

I've been building open-source tools for BLE automation, network reconnaissance, and penetration testing. Here's what I shipped and what each one does.

The Tools

1. blecontroller — Control Any BLE LED Device

pip install blecontroller
Enter fullscreen mode Exit fullscreen mode

Universal Bluetooth Low Energy controller for LED strips and devices. Right now it powers a Hello Fairy 20×20 LED curtain light — full HSV color control, per-pixel addressing, and rainbow effects at 30fps. It speaks the raw BLE GATT protocol, so it works with cheap devices that have no official API.

2. ble-radar — BLE Device Scanner & Fingerprinter

pip install ble-radar
Enter fullscreen mode Exit fullscreen mode

Scans for nearby Bluetooth devices and fingerprints them. Identifies brands and models from the manufacturer ID, and detects AirTags and Tile trackers. Built for security research — walk into a room and see every IoT device broadcasting around you.

3. py-adbkit — Python ADB Automation

pip install py-adbkit
Enter fullscreen mode Exit fullscreen mode

A clean Python wrapper around the Android Debug Bridge. Shell automation, app management, screenshots, logcat streaming, file push/pull, and battery monitoring. It pairs with my Moto G Play 2026 root script, so I can drive the whole root flow programmatically.

4. py-netrecon — Network Recon Toolkit

pip install py-netrecon
Enter fullscreen mode Exit fullscreen mode

Port scanning, service detection, and OS fingerprinting with a Python-first API. Wraps nmap but gives you structured results instead of raw XML.

5. shellforge — Reverse Shell Generator

pip install shellforge
Enter fullscreen mode Exit fullscreen mode

Generate reverse shells in 16+ languages from one command. Includes payload encoding (base64, hex, XOR, double-base64), obfuscation techniques, and a built-in listener. Made for CTFs and authorized pentests.

Bonus: moto-root-2026

git clone https://github.com/bill-jtrammell/moto-root-2026
Enter fullscreen mode Exit fullscreen mode

One-click root script for the Moto G Play 2026 (XT2615-1). Handles bootloader unlock, Magisk patching, boot image backup, and unbrick recovery — MediaTek chipsets have almost no coverage, so I wrote my own.

What I Learned

  1. Package naming matters more than code quality for PyPI discoverability. py-adbkit gets searched. adb-wrapper-python doesn't.

  2. READMEs are your landing page. Shields.io badges, a pip install one-liner, and usage examples in the first 20 lines.

  3. One tool feeds the next. The root script drives people to py-adbkit. ble-radar drives people to blecontroller. Cross-link everything.

  4. Google autocomplete IS your keyword research. Type your seed keyword and see what people actually search.

  5. New PyPI packages have a rate limit. Publish 2-3 at a time, not 5. And the Tor-metadata endpoint will 429 you — wait it out.

Links

  • GitHub: bill-jtrammell
  • All tools: pip install blecontroller ble-radar py-adbkit py-netrecon shellforge

All tools are MIT licensed. If one saves you time, a coffee is appreciated.

Top comments (0)