Automated penetration testing agent with a cyber-inspired GUI, resource-aware task scheduling, and AI-assisted analysis.
Automation tool for penetration testing with a GUI, resource-aware task queueing, and AI-assisted analysis. Designed for labs and authorized testing only.
Use only on systems you own or have explicit permission to test. Unauthorized scanning is illegal. This script can run intrusive tools and may send reports to an external API (configurable). Review the code and API keys before running.
- Resource-aware task queueing (CPU / RAM) with configurable limits.
- Tool resource profiles (estimated CPU/RAM/time consumption).
- GUI built with tkinter featuring a "cyberpunk" theme (resource monitor, queue, console).
- Integration with an AI service to analyze reports and suggest commands/actions.
- Per-round report generation and automated CVE extraction.
- Python 3.7+ (3.9+ recommended)
psutil,requests, andtkinter(seeinstall_dependencies.py).- Optional external pentesting tools for full functionality:
nmap,sqlmap,nikto,nuclei,masscan,hydra,metasploit, etc. Install via your distro package manager.
- Clone the repository:
git clone https://github.com/ARESHAmohanad/BugHunter-AI
cd BugHunter-AI- Install Python dependencies (included script):
python3 install_dependencies.py(This script checks and installs psutil and requests. tkinter may need to be installed via system packages.)
- (Optional) Install system pentest tools:
# Example on Debian/Ubuntu
sudo apt update
sudo apt install -y nmap sqlmap nikto masscanSee QUICK_START.md for a visual walkthrough or run:
python3 AIlinuxV2.pyEnter the target (authorized targets only), adjust Max Concurrent Tools, CPU/RAM thresholds, and click INITIATE SCAN in the GUI.
- Configure API keys (if using AI integration) at the top of
AIlinuxV2.py:API_KEYSandAPI_URL. The integration can send reports to an external endpoint — review privacy implications before sending sensitive data. - Adjust
Max Concurrent Tools,CPU Threshold, andRAM Thresholdin the GUI to avoid overloading your host.
Each session produces a directory AI_Pentest_YYYYMMDD_HHMMSS_<id>/ with per-round subfolders:
AI_Pentest_YYYYMMDD_HHMMSS_ID/
├─ round_1/
│ ├─ nmap.txt
│ ├─ nikto.txt
│ ├─ report.json
│ └─ decision.json
├─ round_2/
├─ errors.log
└─ final_report.json
Reports and decisions are used by the AI engine to determine next steps.
- User starts a scan and enqueues tools.
ResourceMonitorchecks CPU/RAM and permits execution only when safe.ToolQueueManagermanages concurrent execution (configurable).- Outputs are aggregated into
report.json. - The aggregated results are optionally sent to the AI engine; the AI returns commands inside
<COMMANDS>and a<DECISION>JSON that lists next tools.
QUICK_START.md— quick walkthrough and examples.OPTIMIZATION_SUMMARY.md— summary of resource-usage optimizations (queueing, profiles, monitor).
Contributions welcome. Ideas:
- Add new tool resource profiles
- Improve AI response validation and command sanitization
- Add Docker/container support for isolated execution
For educational use / authorized testing. Add a license file (MIT, Apache-2.0, etc.) as desired.
NOTE: Review the code before running in any production environment. For safe usage, run inside an isolated VM against authorized labs or CTFs.
