Skip to content

TFD-42/Auto-Flipper-Tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto-Flipper-Tools

Automated security testing and analysis toolkit for Flipper Zero devices and BadUSB payloads

License: MIT Python 3.8+ Security: Active Scanning

Overview

github_banner_42

Auto-Flipper-Tools is a comprehensive suite of automation tools designed for security professionals, researchers, and enthusiasts working with Flipper Zero devices. The toolkit focuses on automated analysis, classification, and preprocessing of security payloads with built-in intelligence for script categorization and validation.

Key Use Cases

  • 🔍 BadUSB Payload Classification - Automatically categorize and organize BadUSB scripts
  • 🤖 AI-Powered Analysis - Leverage Ollama for intelligent payload classification
  • 🛡️ Security Automation - Streamline security testing workflows
  • 📊 Batch Processing - Handle hundreds of payloads efficiently
  • 🔄 Pipeline Integration - Integrate into existing security workflows

Core Components

Bad_USB_Classifier

Intelligent classifier for Ducky Script payloads with multi-stage validation and categorization.

Features:

  • Pattern-based Ducky Script validation
  • AI-powered topic classification (23 categories)
  • Automatic collision handling
  • Comprehensive logging and statistics
  • Recursive directory processing

📖 Full Documentation

python Bad_USB_Classifier/classify_badusb.py <directory>

Architecture & Roadmap

Current Tools

  • ✅ BadUSB Classifier - Ducky Script analysis and categorization

Planned Tools

  • 🔜 Auto-Build System - Pre-build and validation for scripts before classification
  • 🔜 App Fuzzer Automation - Automated app fuzzing payload generation
  • 🔜 Script Validator - Enhanced validation across multiple script types
  • 🔜 API Integrations - Flipper Zero device API automation

Quick Start

Installation

# Clone the repository
git clone https://github.com/TFD-42/Auto-Flipper-Tools.git
cd Auto-Flipper-Tools

# Optional: Install in virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Dependencies

  • Python 3.8+
  • Ollama (optional, for AI classification)

Basic Usage

# Classify BadUSB payloads
python Bad_USB_Classifier/classify_badusb.py ./payloads

# View results
cat classified_badusb/classification.log

Directory Structure

Auto-Flipper-Tools/
├── Bad_USB_Classifier/
│   ├── classify_badusb.py
│   ├── requirements.txt
│   └── README.md
├── docs/
│   ├── INSTALLATION.md
│   ├── USAGE.md
│   └── ARCHITECTURE.md
├── .github/
│   └── workflows/
│       ├── security-scan.yml
│       └── tests.yml
├── .gitignore
├── README.md
├── LICENSE
└── requirements.txt

Security & Privacy

Security Features

  • Secret Scanning - GitHub advanced security scanning enabled
  • Input Validation - Proper validation of all user inputs
  • No Credentials - No hardcoded secrets or credentials
  • Safe Defaults - Conservative security defaults
  • Error Handling - Comprehensive error handling without information leakage

Security Scanning

This repository uses GitHub's built-in security features:

  • Dependabot for dependency vulnerability scanning
  • CodeQL analysis for code quality
  • Secret scanning to prevent credential leaks

Responsible Disclosure

If you discover a security vulnerability, please email security concerns privately rather than opening a public issue.

Contributing

Contributions are welcome and encouraged! Whether you're fixing bugs, adding features, improving documentation, or enhancing security—all help is appreciated.

Contribution Guidelines

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Areas for Contribution

  • 🔧 New Tools - Create additional automation tools
  • 📝 Documentation - Improve guides and API documentation
  • 🧪 Testing - Enhance test coverage and quality
  • 🚀 Performance - Optimize tool performance
  • 🔒 Security - Report or fix security issues
  • 🐛 Bug Fixes - Fix identified issues
  • 💡 Features - Suggest or implement new capabilities

Development Setup

# Clone your fork
git clone https://github.com/TFD-42/Auto-Flipper-Tools.git
cd Auto-Flipper-Tools

# Create virtual environment
python -m venv venv
source venv/bin/activate

# Install development dependencies
pip install -r requirements.txt
pip install pytest black pylint

# Run tests
pytest

# Format code
black .

# Lint code
pylint Bad_USB_Classifier/

Performance & Benchmarks

Operation Performance
Pattern Detection ~20ms per file
AI Classification ~800ms per file
Batch Processing (100 files) ~2-5 minutes
Directory Recursion ~50ms per 100 files

Benchmarks on typical modern hardware; results may vary

References & Attribution

Origins & Inspiration

This toolkit builds upon and references:

Related Projects

Usage Examples

Example 1: Classify BadUSB Collection

# Process entire BadUSB payload directory
python Bad_USB_Classifier/classify_badusb.py ~/badusb_payloads

# Output structure:
# badusb_payloads/classified_badusb/
# ├── exfiltration/
# ├── phishing/
# ├── credentials/
# ├── destructive/
# └── unassigned/

Example 2: Integration with Flipper Zero

# Organize payloads for Flipper Zero device
python Bad_USB_Classifier/classify_badusb.py ~/Flipper/badusb

# Copy organized payloads to device
cp -r ~/Flipper/badusb/classified_badusb/[category] ~/Flipper/SD/badusb/

FAQ

Q: Do I need Ollama for this tool? A: No, the tool works with pattern-based classification alone. Ollama is optional for enhanced accuracy.

Q: Is this tool legal to use? A: Yes, but only for authorized security testing and research. Always obtain proper authorization.

Q: What script formats are supported? A: Currently supports Ducky Script (.txt, .duck, .ds). Additional formats planned.

Q: How accurate is the AI classification? A: Accuracy depends on script quality and keyword presence. Pattern detection is ~95% accurate; AI adds ~10-15% additional accuracy.

Q: Can I use this commercially? A: Yes, under MIT license. Please include license attribution.

Troubleshooting

Ollama Not Found

Error: Ollama not found - ensure it's installed and in PATH

Solution: Install Ollama from https://ollama.ai or add to PATH

Timeout During Classification

Error: Ollama request timed out

Solution: Reduce file size limit in code or increase timeout value

Permission Denied

Error: Cannot read file or Cannot move file

Solution: Check file permissions; ensure write access to output directory

Roadmap

  • Additional classification models (GPT integration)
  • Web interface for classification
  • Real-time monitoring and alerts
  • Integration with SOAR platforms
  • Support for additional script formats
  • Community payload database
  • Advanced statistical analysis
  • Custom rule engine

Statistics & Metrics

  • Current Categories: 23
  • Supported File Types: 3
  • Processing Speed: 100+ files/minute
  • Memory Usage: ~50MB baseline

License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License Summary

Permitted: Commercial use, modification, distribution, private use ⚠️ Conditions: License and copyright notice required ❌ Prohibited: Liability, warranty

Authors & Contributors

  • Original Developer: Created as automation toolkit for Flipper Zero security testing
  • Community Contributors: Welcome! See CONTRIBUTING.md

Support & Community

Changelog

See CHANGELOG.md for version history and updates.

Source Repositories & Credits

This project aggregates, classifies, and organizes BadUSB payloads from the community repositories listed below. Huge thanks to all the original authors for their work and contributions to the Flipper Zero ecosystem.

The full list is also available in Bad_USB_Classifier/url.txt — feel free to add your own URLs!

BadUSB Payload Authors

Author Repository Description
I-Am-Jakoby Flipper-Zero-BadUSB Extensive BadUSB payload collection
aleff-github my-flipper-shits Flipper Zero scripts and BadUSB payloads
FalsePhilosopher badusb Multi-platform BadUSB scripts
UNC0V3R3D Flipper_Zero-BadUsb Flipper Zero BadUSB payloads
Kavitate FlipperZeroBadUSB BadUSB payload library
SeenKid flipper-zero-bad-usb BadUSB scripts for Flipper Zero
RamtinHaf Flipper-Zero-Bad-USB BadUSB payload collection
grugnoymeme flipperzero-badUSB Flipper Zero BadUSB scripts
DoobTheGoober BADUSB BadUSB payloads
anste5 BADUSBrepo / BadUSB-badkb BadUSB and BadKB scripts
hooker01 FlipperZero-Payloads Flipper Zero payloads
dagnazty Flipper_Zero_Bad_USB BadUSB collection
r3dsh3rl0ck Flipper-Zero-Bad-USB-Payloads Curated BadUSB payloads
ClumsyLulz Flipper_Zero_Badusb_hack5_payloads Hak5-style BadUSB payloads
narstybits MacOS-DuckyScripts macOS-targeted Ducky Scripts
zer0dayf Ghost-Audit Ghost Audit security scripts
Offensive-Wireless Flipper-Zero Offensive wireless payloads
Unknown3613 BruceFlipperScripts Flipper scripts and payloads

Flipper Zero Tools & Utilities

Author Repository Description
Zarcolio flipperzero Flipper Zero tools and Ducky Scripts
descambiado flipper-purple-team Purple team payloads
D4rkDr4gon flipper-zero-Utils Flipper Zero utilities
Angrido Flipper-WiFi-Grabber WiFi credential grabber
gam3r999 Flipper-Zero-Android / Flipper-Zero-iOS Mobile-targeting payloads
heeeyflo flipperzero-pin-bypass PIN bypass scripts

Awesome Lists & Curated Collections

Author Repository Description
djsime1 awesome-flipperzero The original Awesome Flipper Zero list
anasancho awesome-flipperzero Awesome Flipper Zero fork
RogueMaster awesome-flipperzero-withModules Extended awesome list with modules

Asset Databases & Plugin Collections

Author Repository Description
UberGuidoZ Flipper / Flipper-IRDB Massive Flipper asset database & IR DB
Zero-Sploit FlipperZero-Subghz-DB Sub-GHz frequency database
xMasterX all-the-plugins / flipperzero-good-faps Unleashed-compatible plugin collections

Individual Apps & Tools

Author Repository Description
honeer flipper-base Flipper base tools
SYOP200 Flipper-Zero-Downloads Flipper Zero downloads
i12bp8 TagTinker NFC tag tools
Clawzman Flipper_ListEM Flipper listing tool
jblanked FlipLibrary Flipper library app
x0452950 flipper-nfc-toolkit NFC toolkit
TFD-42 Mhz_Localiser MHz frequency localiser

Want to add your repo? Fork this project, add your URL to Bad_USB_Classifier/url.txt, and open a Pull Request!

Disclaimer

This toolkit is intended for authorized security testing, research, and educational purposes only. Users are responsible for legal compliance and obtaining proper authorization before testing security systems.


Made with tools for security professionals by the community

If you find this useful, please star the repository!

About

Automated BadUSB classifier and Flipper Zero automation toolkit — AI-powered Ducky Script analysis, batch classification, and payload organization for security professionals

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages