update (fixed tools discovery, broken mcp banner, fluff readme, other issues)

This commit is contained in:
Muhammad Osama
2025-08-16 20:31:32 +05:00
parent ae6db1495f
commit a01419a2f0
4 changed files with 584 additions and 1395 deletions
+88 -10
View File
@@ -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"]