mirror of
https://github.com/mblanke/StrikePackageGPT.git
synced 2026-03-01 14:20:21 -05:00
V2.1: Network Map integration, Scan History, OS detection improvements
- Added nmap wrapper to auto-send scan results to Dashboard - Network Map now displays hosts from terminal scans - Scan History tab shows all scans (GUI and terminal) - Load previous scans to Network Map feature - Improved OS detection from nmap output (parses OS details, smb-os-discovery) - Added determine_os_type() with OUI/MAC vendor lookup - Static network map layout (no more jumpy D3 force simulation) - Fixed docker-compose for Ollama connectivity (host.docker.internal) - Added test_services.sh for comprehensive testing
This commit is contained in:
121
test_services.sh
Normal file
121
test_services.sh
Normal file
@@ -0,0 +1,121 @@
|
||||
#!/bin/bash
|
||||
# StrikePackageGPT Service Test Script
|
||||
|
||||
echo "=========================================="
|
||||
echo " StrikePackageGPT V2.1 Test Suite"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Test 1: Health Endpoints
|
||||
echo "=== TEST 1: Health Endpoints ==="
|
||||
echo "LLM Router:"
|
||||
curl -s http://strikepackage-llm-router:8000/health | jq .
|
||||
echo ""
|
||||
echo "HackGPT API:"
|
||||
curl -s http://strikepackage-hackgpt-api:8001/health | jq .
|
||||
echo ""
|
||||
echo "Kali Executor:"
|
||||
curl -s http://strikepackage-kali-executor:8002/health | jq .
|
||||
echo ""
|
||||
|
||||
# Test 2: LLM Router
|
||||
echo "=== TEST 2: LLM Router ==="
|
||||
echo "Providers:"
|
||||
curl -s http://strikepackage-llm-router:8000/providers | jq -r 'keys[]'
|
||||
echo ""
|
||||
|
||||
echo "Chat Test (llama3.1:latest):"
|
||||
cat > /tmp/chat.json << 'EOFCHAT'
|
||||
{"provider":"ollama","model":"llama3.1:latest","messages":[{"role":"user","content":"Say hello in exactly 3 words"}]}
|
||||
EOFCHAT
|
||||
RESPONSE=$(curl -s -X POST http://strikepackage-llm-router:8000/chat -H "Content-Type: application/json" -d @/tmp/chat.json)
|
||||
echo "$RESPONSE" | jq -r '.response // .content // .message // .' | head -c 200
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
# Test 3: HackGPT API
|
||||
echo "=== TEST 3: HackGPT API ==="
|
||||
echo "Tools available:"
|
||||
curl -s http://strikepackage-hackgpt-api:8001/tools | jq -r '.[].name' 2>/dev/null || curl -s http://strikepackage-hackgpt-api:8001/tools | head -c 300
|
||||
echo ""
|
||||
|
||||
echo "Scans list:"
|
||||
curl -s http://strikepackage-hackgpt-api:8001/scans | jq . 2>/dev/null || echo "[]"
|
||||
echo ""
|
||||
|
||||
# Test 4: Kali Executor
|
||||
echo "=== TEST 4: Kali Executor ==="
|
||||
echo "Tools:"
|
||||
curl -s http://strikepackage-kali-executor:8002/tools | jq -r '.tools[:5][]' 2>/dev/null || curl -s http://strikepackage-kali-executor:8002/tools | head -c 200
|
||||
echo ""
|
||||
|
||||
echo "Execute nmap version:"
|
||||
cat > /tmp/exec.json << 'EOFEXEC'
|
||||
{"command":"nmap --version","timeout":30}
|
||||
EOFEXEC
|
||||
curl -s -X POST http://strikepackage-kali-executor:8002/execute -H "Content-Type: application/json" -d @/tmp/exec.json | jq -r '.output // .stdout // .' | head -5
|
||||
echo ""
|
||||
|
||||
echo "Jobs:"
|
||||
curl -s http://strikepackage-kali-executor:8002/jobs | jq -r 'length' 2>/dev/null || echo "0"
|
||||
echo " jobs recorded"
|
||||
echo ""
|
||||
|
||||
# Test 5: Security Scans from Kali
|
||||
echo "=== TEST 5: Security Tools in Kali ==="
|
||||
echo "nmap scan of llm-router:"
|
||||
nmap -sT -p 8000 strikepackage-llm-router 2>&1 | grep -E "PORT|open|closed"
|
||||
echo ""
|
||||
|
||||
echo "nikto quick test:"
|
||||
nikto -h http://strikepackage-dashboard:8080 -maxtime 10s 2>&1 | tail -5
|
||||
echo ""
|
||||
|
||||
echo "gobuster test:"
|
||||
gobuster dir -u http://strikepackage-hackgpt-api:8001 -w /usr/share/dirb/wordlists/common.txt -t 5 --timeout 5s 2>&1 | grep -E "Status|Found|Finished" | head -10
|
||||
echo ""
|
||||
|
||||
# Test 6: Dashboard APIs
|
||||
echo "=== TEST 6: Dashboard APIs ==="
|
||||
echo "Status:"
|
||||
curl -s http://strikepackage-dashboard:8080/api/status | jq . 2>/dev/null || curl -s http://strikepackage-dashboard:8080/api/status
|
||||
echo ""
|
||||
|
||||
echo "Processes:"
|
||||
curl -s http://strikepackage-dashboard:8080/api/processes | jq -r 'length' 2>/dev/null
|
||||
echo " processes"
|
||||
echo ""
|
||||
|
||||
# Test 7: End-to-end Chat via Dashboard
|
||||
echo "=== TEST 7: Dashboard Chat ==="
|
||||
cat > /tmp/dashchat.json << 'EOFDASH'
|
||||
{"message":"What is nmap used for? Answer in one sentence."}
|
||||
EOFDASH
|
||||
CHATRESP=$(curl -s -X POST http://strikepackage-dashboard:8080/api/chat -H "Content-Type: application/json" -d @/tmp/dashchat.json)
|
||||
echo "$CHATRESP" | jq -r '.response // .content // .message // .' 2>/dev/null | head -c 300
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
# Test 8: Command Execution via Kali Executor
|
||||
echo "=== TEST 8: Command Execution ==="
|
||||
cat > /tmp/scanexec.json << 'EOFSCAN'
|
||||
{"command":"nmap -sT -p 80,443,8000,8080 strikepackage-dashboard","timeout":60}
|
||||
EOFSCAN
|
||||
echo "Running: nmap scan of dashboard..."
|
||||
EXECRESP=$(curl -s -X POST http://strikepackage-kali-executor:8002/execute -H "Content-Type: application/json" -d @/tmp/scanexec.json)
|
||||
echo "$EXECRESP" | jq -r '.output // .stdout // .' 2>/dev/null | grep -E "PORT|open|closed|filtered" | head -10
|
||||
echo ""
|
||||
|
||||
# Test 9: AI-Assisted Scanning
|
||||
echo "=== TEST 9: AI Scan Request ==="
|
||||
cat > /tmp/aiscan.json << 'EOFAI'
|
||||
{"message":"Scan strikepackage-llm-router for web vulnerabilities"}
|
||||
EOFAI
|
||||
AIRESP=$(curl -s -X POST http://strikepackage-dashboard:8080/api/chat -H "Content-Type: application/json" -d @/tmp/aiscan.json)
|
||||
echo "$AIRESP" | jq -r '.response // .content // .' 2>/dev/null | head -c 400
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo " Tests Complete!"
|
||||
echo "=========================================="
|
||||
Reference in New Issue
Block a user