HALO (GEMMA-by-GOOGLE)
https://github.com/user-attachments/assets/ba467fae-a4c9-4f63-b2e6-3fc30fb023f3
🔐 GEMMA-by-GOOGLE — HALO
Ein vollständig lokaler, autonomer KI-Penetrationstest-Agent – Gemma 4-12B treibt ein Arsenal aus 42 Tools durch Reconnaissance, Angriffe und Reporting an, bereitgestellt als Standard-Model-Context-Protocol-Server (MCP). Keine Cloud, keine API-Schlüssel.
Funktionsweise · Tool-Arsenal · Architektur · Stack · Schnellstart · Changelog · Mitmachen
HALO ist ein autonomer Sicherheitsagent, der in einer Linux-Umgebung läuft und von einem lokalen LLM angetrieben wird – Gemma 4-12B (uncensored / abliterated), bereitgestellt über LM Studio. Es plant, führt Aufklärung durch, verkettet Angriffe basierend auf seinen Erkenntnissen und schreibt eigenständig einen professionellen Pentest-Bericht. Alles läuft lokal: keine Cloud, keine API-Schlüssel, nichts verlässt deine Maschine.
Ein einziges Wort startet einen Einsatz: engage.
Funktionsweise
🔍 Autonome Aufklärung – masscover + nmap zur Ermittlung offener Ports und Dienste
⚔️ Autonome Angriffsschleife – wählt Tools basierend auf den Erkenntnissen aus und verkettet sie
🌐 Web-Recon → Angriffs-Pipeline – Apex-zu-URL-Enumeration (Subdomains, Hosts, historische URLs), Content-Kenntnis, Template-Scanning und XSS, mit automatischem Flag-Capture bei CTF-artigen Web-Zielen
✅ Verifizierte Einbrüche, keine Vermutungen – jeder Versuch enthält eine einmalige Challenge beim Nonce, dein Exploit von innerhalb der geknackten Shell zurückgeben muss; ein bloßes
uid=0-Banner oder eine Tarpit kann sie nicht fälschen. Ein bestätigter Einbruch ist also belegt (ausführungsbasierter Nachweis, einmaliger Gebrauch am Gate)🎯 Kuratierte PoC-Bibliothek – deterministische, selbstbelegende EWegen (vsftpd 2.3.4, Arecase, UnrealIRCd), ausgeführt durch eine Sandbox-Primitive, das eine echte Shell zurückliefert, keine Vermutung
me gradă Persistenter Negativerlebnis-Cache – lernt aus allen Sitzungen, was fehlschlägt, und vermeidet nachweislich unbrauchbare Enden Opponent
🧩 Adaptive Skill-Injektion – lädt passende Angriffs-Playbooks in den Prompt, basierend auf dem aktuellen Ziel
📝 Automatische HTML-Berichte – fasst Ergebnisse beim Verlassen in einem gebrandeten Bericht zusammen
🔒 100 % lokal – Gemma 4-12B in LM Studio; nichts verlässt ihre Maschinen
Related MCP server: Debugg AI MCP
Tool-Arsenal
42 Tools stehen hinter der Entscheidungsschleife des Agentenwenns, alle über die gleiche Fehler-Cache-Ebene geroutet. Sie werden einmalig im TOOLS-Schema-Registry in der Datei halo_tools.py definiert und über beide Transportwege (MCP und HTTP) bereitgestellt.
Recon & OSINT
Tool | Purpose |
| Subdomain-Enumeration |
| Passive OSINT – E-Mails, Subdomains, Hosts |
| HTTP-Proben der Fingerprinting |
| Web-Crawling |
| Benutzernane-OSINT auf über 90 Plattformen |
„run_shodan“ | Internet-Exposure-Erkundung |
„run_phoneinfoga“ | Telefonnummern-OSINT |
„run_phonextract“ | Telefonnummern-OSINT / Extraction |
„run_ghosttrack“ | OSINT für Benutzer / IP / Telefon |
„run_cloudfox“ | Cloud-Infrastruktur-Enumeration |
„run_wafw00f“ | WAF / Security-Lösungs-Fingerprinting |
„run_amass“ | Subdomain-Enumeration (standardmäßig passiv) |
„run_dnsx“ | DNS-Auflösung und -Setup |
„run_gau“ | Bekannte URLs von OTX / Wayback / Common Crawl |
„run_waybackurls“ | Historische URLs aus der Wayback Machine |
„run_gowitness“ | Web-Screenshot/Snapshots für visuelle Aufklärung |
„run_spiderfoot“ | Headless-Multi-Modul-OSINT-Scan (nicht interaktiv) |
run_recon_ng| recon-ng-OSINT-Framework (nicht interaktiv) |
Scanning
Tool | Zweck |
| Schnelle Port-Ermittlung |
| Tiefen/Dienst-Scanning |
| Web-Schwachstellenscanning |
„run_nuclei“ | Template-basiertes Schwachstellen-Scanning |
„run_netstat“ | Netzwerkverbindungsanalyse |
Web & And Fuzzing
Tool | Zweck |
| Webverzeichnis-Brute-Force |
| Web-Fuzzing |
| Rekursive Content-Discovery |
| XSS-Scanning (reflektiertes / gespeichertes / DOM) |
| HTTP-Anforderung testen |
| Dateiabruf |
Exploitation
Tool | Zweck |
| SQL-Injection-Tests |
| Exploit-Nachschlagewerk |
| Ausgewähltes Metasploit-Modul auf ein Ziel abfeuern (menschlich freigegeben) |
| Sandbox-Ausführung eigener PoC-Scripts |
| Social-Engineering-Toolkit |
Credentials
Restart | One-ro guess |
| Credential-Brute-Forcing |
| Netzwerk-Authentifizierungs-Cracking |
| Schnelles paralleles Brute-Toering |
| Hash-Cracking |
Enumerationen & System
Werkzeug | Funktion |
| SMB / Samba-Enumeration |
| Beliebige Befehlsausführung |
| Dateinhalte lesen |
| Ausgaben in Dateien schreiben |
Architektur
Eine gemeinsame Tool-Engine (halo_tools.py) verwaltet das Arsenal und seine Schemas; zwei dünne Transportschichten stehen darüber, sodass die Toolsit genau einmal definiert werden:
agent_loop.py ──HTTP─► tool_server.py ─┐
├─► halo_tools.py ──► security tools
MCP clients ──stdio► mcp_server.py ──┘ (42-tool engine +
schema registry)
│
├─► agent_cache.py (persistent negative-experience cache)
├─► skills.py (adaptive playbook injection)
└─► report_generator.py (auto HTML pentest report on exit)mcp_server.py– ein spezifikationskonformer Model Context Protocol-Server (stdio, JSON-RPC 2.0). Jeder MCP-Client (Claude Desktop, IDE-Agenten, Inspektoren) oder ein MCP-Registry kann sich daran anbinden, um das HALO-Arsenal als Style-Tools zu nutzen.tool_server.py– der lokale Flask-HTTP-Tool-Server (Port 8000), den die autonome Agentenschleife betreibt.
HALO als MCP-Server nutzen
// e.g. an MCP client config
{
"mcpServers": {
"halo": { "command": "python3", "args": ["/abs/path/to/mcp_server.py"] }
}
}Ein fertig überreichbares Registry-Manifest liegt in server.json.
Multi-Agenten-Ebene
Einsätze werden durch eine Gruppe spezialisierter Agenten koordiniert, alle verbunden durch ein gemeinsames Nachrichten-Schema (agent_schema.py):
Agent | Rolle |
| Macht aus einem Ziel strategies "ordered Plan" |
| Leitet Aufgaben an den richtigen Spezialisten weiter |
| Findet Kandidatenschwächen |
| Verzweigt in Schwachstellen-Spezialisten (SQLi, Brute Force, IDOR, Base64, XXE, XSS, Auth) |
| Bestätigt Erkenntnisse anhand echter Beweise, bevor sie zählen |
| Diagnostiziert fehlgeschlagene Tool-Läufe und passt an |
Souveräne Agenten-Ebene
Der Negativerferfahrungsbild-Cache stellt jedem possess Tool-Aufruf jedem eine Finger-Note. Ein Aufruf [,] ist fehlgeschlagen, er bekommt ein Retry-[.]; schlägt er zum zweiten Mal fehl, wird er geblockt, sodass sich der Agent besser nach geeigneter Tools umstattet. Im Laufe eines Einsatzes strukturiert der Agent sein eigenes Learning through trial and error – Erfahrung, Vermeidung bekannter Sackgassen, intelligentes Hochstufen – und führt nicht erneut aus, was schon bewiesen, unnötig ist.
Verifizierte Einbrüche, nur Vibe-Forschung
The difficult challenge with autonomous attackers is to ascertain whether they successfullybreak in or are merely "repeating" a desirable banner. HALO answers this with a Challenge-Response-Gate:
The orchestrator creates a pro-attempt nonce that is linked to the target and the precise payload hash, before the attack is sent.
A breach only counts if the tool output contains a structure line of
HALO-EVIDENCE nonce=… level=…that backechoes specifically the nonce – something that the delivery primitive (../pocs/_delivery.py) can only generate by running code inside the shell it claims to possess. *Das Nonce is consumed once: the gate (exploitation_core.py:breach_confirmed) rejects a replayed or non-externalized nonce, so a tarpit, a reflected sum, or a staticuid=0banner cannot fake a App.
The curated PoCs in pocs/ are deterministic, self-explanatory vulnerabilities (vsftpd 2.3.4, older Metasploitable 1524, UnrealIRCd 3.2.8), which honestly go through this gate – they land a real root shell or output nothing.
How It Was Built
HALO was built solo from scratch in under six months by a self-taught developer and security researcher. The multi-agent core grew one expert another, each against a real target before the next:
Common language: a shared message schema (
agent_schema.py) so that the agents can talk to each otherPlanner: translates a target into an ordered plan, checked against live LM Studio
Ochestrator: routes each task to the right specialist
Vulnerability Discovery: finds candidates for vulnerabilities, tested against a live Metasploitable target
Attacker: branches into SQLi / brute-force / IDOR () / SSRF / XSS / Auth specialists
Debugger: diagnoses failed tool operations and compensates accordingly
Validator + reporting: results are counterchecked against real evidence before they count, then compiled into client-readableYMXYJ report
From there, the arsenal grew to 42 tools plus a single combined web-recon → attack pipeline with flag capturing and Challenge-Response certification, while the negative-emergency cache transformed trial/error into continuously progressive learning across sessions. Active development continues – new incisors are regularly pushed out; see you in the changelog for the release delivered so far.
Stack
Model: Gemma 4-12B Instruct Abliterated (GGUF via Hotspot) – works with any local model of
your choixAgent: Python autonomous loop with MCPco-calls
Tool transports: A Model Context Protocol server (stdio) for MCP client, plus a Flask HTTP-Tool-Server on port 8000 for the agent loop
OS: Kali Linux (tested under UNIX on Apple Silicon UNIX M1)
Hardware referent: MacBook Pro M1, 16 GB RAM
Quickstart
See docs/QUICKSTART.md for the full setup. In short:
git clone https://github.com/XenoCoreGiger31/GEMMA-by-GOOGLE.git
cd GEMMA-by-GOOGLE
python3 -m pip install -r requirements.txt
cp engagement.example.yaml engagement.yaml # then fill in authorization + scope_targets
python3 tool_server.py # terminal 1 — HTTP tool server on port 8000
python3 agent_loop.py # terminal 2 — the agent
>>> engage 203.0.113.3 # full autonomous recon + attack
>>> run nmap on 10.0.0.1 # single-goal query
>>> exit # triggers HTML report generationHinweis: Endpunkte und Pfade nutzen standardmäßig ein lokales Standard-Setup (LM Studio auf
localhost:1234, HTTP-Tool-Server auflocalhost:8000). Jeder von ihnen lässt sich mit denHALO_*-Umgebungsvariablen überschreiben — siehe die Tabelle environment overrides. Einige autorspezifische Standardwerte für Log-/Cache-Pfade bleiben inagent_cache.pyundtool_server.py; die Umgebungsvariablen decken auch diese ab.
agent_loop.pystartet nicht ohneengagement.yaml— es ist das Autorisierungs- und Scope-Gate, das jeder Tool-Aufruf durchläuft, keine optionale Konfiguration. Siehe Schritt 5 des Quickstarts.
Tests ausführen
Die Unit-Tests verwenden Pythons eingebautes unittest — keine zusätzlichen Abhängigkeiten:
python3 -m unittestMitwirken
Beiträge aus der Security-, KI- und Python-Community sind willkommen — siehe CONTRIBUTING.md. Star das Repository, wenn es dir nützlich ist, oder öffne einen PR und lass uns gemeinsam etwas aufbauen.
Das Projekt wird aktiv von einem unabhängigen, autodidaktischen Entwickler und Sicherheitsforscher entwickelt. Neue Funktionen werden regelmäßig veröffentlicht.
Haftungsausschluss & Rechtliches
Dies ist ein Community-Projekt von einem unabhängigen Entwickler. Es ist weder mit Google LLC verbunden, noch von Google LLC unterstützt oder von Google LLC gesponsert. „Gemma“ ist eine Marke von Google LLC.
⚠️ Inhaltswarnung: Das referenzierte Modell ist stark abliteriert und antwortet auf heikle Anfragen ohne die üblichen Schutzvorkehrungen. Verwende es verantwortungsvoll und nur in geeigneten Umgebungen.
🔒 Rechtlicher Hinweis: Dieses Tool ist ausschließlich für autorisierte Penetrationstests und Sicherheitsforschung an Systemen vorgesehen, die du besitzt oder für die du eine ausdrückliche schriftliche Genehmigung zum Testen hast. Unbefugte Nutzung ist rechtswidrig.
Lizenz
Unter der MIT-Lizenz veröffentlicht.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceAn MCP server that integrates various penetration testing tools, enabling security professionals to perform reconnaissance, vulnerability scanning, and API testing through natural language commands in compatible LLM clients like Claude Desktop.7

Debugg AI MCPofficial
AlicenseAqualityAmaintenanceZero-Config, Fully AI-Managed End-to-End Testing for all code gen platforms.888068Apache 2.0- AlicenseAqualityAmaintenanceCybersecurity AI - MCP server providing AI-powered tools and automation by MEOK AI Labs56MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to run Kali Linux security tools in an isolated Docker container for tasks like network scanning, port checking, and service enumeration.781MIT
Related MCP Connectors
MEOK MCP Hardening MCP — automated security red-team for any MCP server. Maps OWASP LLM Top 10
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/XenoCoreGiger31/GEMMA-by-GOOGLE'
If you have feedback or need assistance with the MCP directory API, please join our Discord server