mirror of
https://github.com/0x4m4/hexstrike-ai.git
synced 2026-08-13 02:00:19 +02:00
update (fixed tools discovery, broken mcp banner, fluff readme, other issues)
This commit is contained in:
+88
-10
@@ -6409,7 +6409,7 @@ if __name__ == "__main__":
|
||||
import struct
|
||||
import socket
|
||||
|
||||
def create_exploit():
|
||||
def create_rop_exploit():
|
||||
target_ip = "{target_ip}"
|
||||
target_port = {target_port}
|
||||
|
||||
@@ -7154,16 +7154,77 @@ file_manager = FileOperationsManager()
|
||||
|
||||
@app.route("/health", methods=["GET"])
|
||||
def health_check():
|
||||
"""Enhanced health check endpoint with telemetry"""
|
||||
essential_tools = ["nmap", "gobuster", "dirb", "nikto", "sqlmap", "hydra", "john"]
|
||||
cloud_tools = ["prowler", "scout2", "trivy", "kube-hunter", "cloudsploit"]
|
||||
advanced_tools = [
|
||||
"ffuf", "nuclei", "nxc", "amass", "hashcat", "subfinder",
|
||||
"smbmap", "volatility", "msfvenom", "msfconsole", "enum4linux", "wpscan",
|
||||
"burpsuite", "zaproxy"
|
||||
"""Health check endpoint with comprehensive tool detection"""
|
||||
|
||||
essential_tools = [
|
||||
"nmap", "gobuster", "dirb", "nikto", "sqlmap", "hydra", "john", "hashcat"
|
||||
]
|
||||
|
||||
all_tools = essential_tools + cloud_tools + advanced_tools
|
||||
network_tools = [
|
||||
"rustscan", "masscan", "autorecon", "nbtscan", "arp-scan", "responder",
|
||||
"nxc", "enum4linux-ng", "rpcclient", "enum4linux"
|
||||
]
|
||||
|
||||
web_security_tools = [
|
||||
"ffuf", "feroxbuster", "dirsearch", "dotdotpwn", "xsser", "wfuzz",
|
||||
"gau", "waybackurls", "arjun", "paramspider", "x8", "jaeles", "dalfox",
|
||||
"httpx", "wafw00f", "burpsuite", "zaproxy", "katana", "hakrawler"
|
||||
]
|
||||
|
||||
vuln_scanning_tools = [
|
||||
"nuclei", "wpscan", "graphql-scanner", "jwt-analyzer"
|
||||
]
|
||||
|
||||
password_tools = [
|
||||
"medusa", "patator", "hash-identifier", "ophcrack", "hashcat-utils"
|
||||
]
|
||||
|
||||
binary_tools = [
|
||||
"gdb", "radare2", "binwalk", "ropgadget", "checksec", "objdump",
|
||||
"ghidra", "pwntools", "one-gadget", "ropper", "angr", "libc-database",
|
||||
"pwninit"
|
||||
]
|
||||
|
||||
forensics_tools = [
|
||||
"volatility3", "vol", "steghide", "hashpump", "foremost", "exiftool",
|
||||
"strings", "xxd", "file", "photorec", "testdisk", "scalpel", "bulk-extractor",
|
||||
"stegsolve", "zsteg", "outguess"
|
||||
]
|
||||
|
||||
cloud_tools = [
|
||||
"prowler", "scout-suite", "trivy", "kube-hunter", "kube-bench",
|
||||
"docker-bench-security", "checkov", "terrascan", "falco", "clair"
|
||||
]
|
||||
|
||||
osint_tools = [
|
||||
"amass", "subfinder", "fierce", "dnsenum", "theharvester", "sherlock",
|
||||
"social-analyzer", "recon-ng", "maltego", "spiderfoot", "shodan-cli",
|
||||
"censys-cli", "have-i-been-pwned"
|
||||
]
|
||||
|
||||
exploitation_tools = [
|
||||
"metasploit", "exploit-db", "searchsploit"
|
||||
]
|
||||
|
||||
api_tools = [
|
||||
"api-schema-analyzer", "postman", "insomnia", "curl", "httpie", "anew", "qsreplace", "uro"
|
||||
]
|
||||
|
||||
wireless_tools = [
|
||||
"kismet", "wireshark", "tshark", "tcpdump"
|
||||
]
|
||||
|
||||
additional_tools = [
|
||||
"smbmap", "volatility", "sleuthkit", "autopsy", "evil-winrm",
|
||||
"paramspider", "airmon-ng", "airodump-ng", "aireplay-ng", "aircrack-ng",
|
||||
"msfvenom", "msfconsole", "graphql-scanner", "jwt-analyzer"
|
||||
]
|
||||
|
||||
all_tools = (
|
||||
essential_tools + network_tools + web_security_tools + vuln_scanning_tools +
|
||||
password_tools + binary_tools + forensics_tools + cloud_tools +
|
||||
osint_tools + exploitation_tools + api_tools + wireless_tools + additional_tools
|
||||
)
|
||||
tools_status = {}
|
||||
|
||||
for tool in all_tools:
|
||||
@@ -7175,14 +7236,31 @@ def health_check():
|
||||
|
||||
all_essential_tools_available = all(tools_status[tool] for tool in essential_tools)
|
||||
|
||||
category_stats = {
|
||||
"essential": {"total": len(essential_tools), "available": sum(1 for tool in essential_tools if tools_status.get(tool, False))},
|
||||
"network": {"total": len(network_tools), "available": sum(1 for tool in network_tools if tools_status.get(tool, False))},
|
||||
"web_security": {"total": len(web_security_tools), "available": sum(1 for tool in web_security_tools if tools_status.get(tool, False))},
|
||||
"vuln_scanning": {"total": len(vuln_scanning_tools), "available": sum(1 for tool in vuln_scanning_tools if tools_status.get(tool, False))},
|
||||
"password": {"total": len(password_tools), "available": sum(1 for tool in password_tools if tools_status.get(tool, False))},
|
||||
"binary": {"total": len(binary_tools), "available": sum(1 for tool in binary_tools if tools_status.get(tool, False))},
|
||||
"forensics": {"total": len(forensics_tools), "available": sum(1 for tool in forensics_tools if tools_status.get(tool, False))},
|
||||
"cloud": {"total": len(cloud_tools), "available": sum(1 for tool in cloud_tools if tools_status.get(tool, False))},
|
||||
"osint": {"total": len(osint_tools), "available": sum(1 for tool in osint_tools if tools_status.get(tool, False))},
|
||||
"exploitation": {"total": len(exploitation_tools), "available": sum(1 for tool in exploitation_tools if tools_status.get(tool, False))},
|
||||
"api": {"total": len(api_tools), "available": sum(1 for tool in api_tools if tools_status.get(tool, False))},
|
||||
"wireless": {"total": len(wireless_tools), "available": sum(1 for tool in wireless_tools if tools_status.get(tool, False))},
|
||||
"additional": {"total": len(additional_tools), "available": sum(1 for tool in additional_tools if tools_status.get(tool, False))}
|
||||
}
|
||||
|
||||
return jsonify({
|
||||
"status": "healthy",
|
||||
"message": "HexStrike AI Tools API Server is operational",
|
||||
"version": "5.0.0",
|
||||
"version": "6.0.0",
|
||||
"tools_status": tools_status,
|
||||
"all_essential_tools_available": all_essential_tools_available,
|
||||
"total_tools_available": sum(1 for tool, available in tools_status.items() if available),
|
||||
"total_tools_count": len(all_tools),
|
||||
"category_stats": category_stats,
|
||||
"cache_stats": cache.get_stats(),
|
||||
"telemetry": telemetry.get_stats(),
|
||||
"uptime": time.time() - telemetry.stats["start_time"]
|
||||
|
||||
Reference in New Issue
Block a user