75passed
1failed
9skipped
94total
79% pass rate
⚠ Vulnerabilities Found (3)
Script tag in URL may be reflected
Fix: Ensure JSON responses have correct Content-Type
Trusted domain open redirects to malicious pages not flagged
Fix: Parse redirect destination URL and scan that too
AI-generated evasion URLs bypassing GuardDex rule engine
Payload: https://paypa1.attacker.com/login.php
https://appl3.attacker.domain/account?action=signin
https://amaz0n.attacker.com/order-confirmation
https://paypa1%2eattacker.com/login.php
https://appl3.attacker%2edomain/account?action=signin
Fix: These bypassed URLs reveal specific gaps — add to regression tests
✔
health_endpoint
API healthy | 44 brands | version 2.0.0
4ms
✔
root_endpoint
API root OK: GuardDex API v2.0.0
2ms
✔
docs_accessible
OpenAPI docs accessible at /docs
1ms
✔
brands_endpoint
44 protected brands loaded
3ms
✔
challenge_stats
Stats OK: 376 challenges issued
3ms
✔
dashboard_accessible
Challenge screen HTML reachable
3ms
✔
fake_paypal
CAUGHT → block | risk=critical | 3 signals | Would have saved David $200
4ms
✔
fake_facebook
CAUGHT → block | Would have stopped the 2-year hack chain
3ms
✔
real_paypal
Real PayPal correctly ALLOWED
3ms
✔
ip_login
IP address login BLOCKED | signals: ['ip_address_login', 'brand_impersonation', 'http_login_page']
4ms
✔
punycode
Punycode domain BLOCKED
2ms
✔
official_sites_allow
All 10 official sites correctly ALLOWED
1056ms
✔
phishing_bulk
All 24 phishing URLs caught (100% detection rate)
2489ms
✔
37_brands_stress
All 37/37 brands detected (100%)
72718ms
✔
long_subdomain_evasion
Deep subdomain attack caught: block
3ms
✔
double_extension
Double extension caught: block
2ms
✔
https_not_safe
HTTPS phishing site still blocked - good
2ms
✔
signal_quality
3 well-formed signals returned: ['suspicious_tld', 'brand_impersonation', 'http_login_page']
2ms
✔
correct_domain
Correct domain accepted | official_url=https://www.paypal.com
2ms
✔
alternate_domain
https://paypal.com (no www) accepted
1ms
✔
fake_domain
Fake domain correctly rejected: That is not an official login address for PayPal
1ms
✔
http_rejected
HTTP (non-HTTPS) correctly rejected by challenge
1ms
✔
ip_rejected
IP address correctly rejected by challenge
1ms
✔
punycode_rejected
Punycode domain rejected by challenge
2ms
✔
empty_input
Empty input rejected
2ms
✔
wrong_brand
Cross-brand domain correctly rejected
24ms
✔
subdomain_official
Official domain with path accepted
2ms
✔
xss_input
XSS input rejected by challenge validator
2ms
✔
sqli_brand
SQL injection in brand field rejected (HTTP 400)
2ms
✔
google_challenge
Google challenge: correct domain accepted
2ms
✔
apple_challenge
Apple ID challenge: correct domain accepted
2ms
✔
cors_wildcard
CORS restricted to: https://evil.example.com
1ms
✔
server_header
Server header: 'guarddex' (acceptable)
3ms
✔
404_no_trace
404 response clean (HTTP 404)
2ms
✔
malformed_json
Malformed JSON handled gracefully (HTTP 422)
2ms
✔
empty_body
Empty body correctly rejected (422/400)
4ms
✔
long_url
Very long URL rejected (HTTP 400)
2ms
✔
null_bytes
Null byte URL rejected (HTTP 400)
2ms
✔
js_protocol
javascript: URI rejected at HTTP level (400)
1ms
✔
data_uri
data: URI rejected at HTTP level (400)
2ms
⚠
rate_limit
No rate limiting detected on scan endpoint (0/25 throttled) - OK for internal API
55ms
✔
scan_get_rejected
GET on POST-only endpoint returns 405
2ms
✔
brands_post_rejected
POST on GET-only brands endpoint returns 405
1ms
⚠
response_xss
URL with script tag reflected in response (check content-type header)
3ms
ℹ
v2_detection
v2.0 endpoints not yet on target (expected - they're being merged). Remaining AI tests will run in probe/compatibility mode.
5ms
✔
ollama_reachable
AI analysis field in response (4704ms) - Ollama connected
4703ms
–
v2_register
v2.0 not yet on target
5ms
–
weak_password
v2.0 not yet on target
6ms
–
dupe_email
v2.0 not yet on target
7ms
–
wrong_password
v2.0 not yet on target
5ms
–
jwt_manipulation
v2.0 not yet on target
4ms
–
ai_typosquatting
v2.0 not yet on target
5ms
–
scan_performance
v2.0 not yet on target
7ms
–
user_enum
v2.0 not yet on target
5ms
✔
dashboard_reachable
Analytics dashboard OK (HTTP 200)
3ms
✔
dashboard_structure
All 5 required keys present
3ms
✔
dashboard_stats_fields
Stats valid — 44 brands protected, 1648 total scans
2ms
✔
dashboard_trend
30-day trend: 30 labels, correct MM-DD format
3ms
✔
stats_consistency
Stats consistent: 1648 total = 781 blocked + 414 challenged + 453 allowed
3ms
✔
ai_status_endpoint
Ollama available — model=phi3:mini loaded=['phi3:mini']
14ms
✔
ai_fields_present
ai_used=False ai_analysis=null (expected for safe)
3ms
✔
ai_triggers_challenge
AI ran in 4781ms — verdict=phishing confidence=90%
4780ms
✔
ai_skips_safe
AI correctly skipped for official PayPal (action=allow, ai_used=False)
3ms
–
ai_verdict_structure
AI did not run (Ollama may be down)
2ms
✔
stats_increment
total_scans incremented: 1655 → 1656
5ms
✔
challenge_stats
Challenge stats OK — 417 challenged, 782 blocked, 1656 total
2ms
✔
fake_browser_updates
All 10 BeEF/fake-update delivery URLs caught (100%)
34390ms
⚠
drive_by_downloads
Caught 5/7 (71%) — missed: fake Flash update → allow; fake Java install → allow
19849ms
✔
watering_hole
All 4 watering hole URLs caught
20367ms
✔
browser_allow
All 3 legitimate browser sites correctly allowed
7ms
✔
beef_running
BeEF is running on :3000 — live hook tests available
19ms
✔
beef_hook_delivery
All 4 BeEF hook delivery URL patterns caught
21896ms
✔
credential_harvesters
All 9 credential harvester URLs caught (100%)
12143ms
✔
tech_support_scams
All 7 tech support scam URLs caught (100%)
15298ms
✔
gov_impersonation
All 6 government impersonation URLs caught (100%)
5135ms
✔
package_pretext
All 6 package/prize pretext URLs caught
26468ms
⚠
romance_scams
Caught 2/3 (67%) romance scam URLs — difficult without AI analysis of content
5014ms
✔
gov_allow
All 4 legitimate government/service sites correctly allowed
9ms
ℹ
set_available
SET not installed (optional). Install: sudo apt install set or: git clone https://github.com/trustedsec/social-engineer-toolkit
0ms
✔
encoding_bypass
All 4 URL-encoded evasions caught
16429ms
✔
subdomain_stacking
All 6 subdomain stacking attacks caught (100%)
16ms
✔
homoglyph
All 5 homoglyph attacks caught
12846ms
⚠
open_redirect
Open redirect handling: 1 blocked, 0 challenged, 3 allowed — open redirects on trusted domains are hard to detect
12ms
⚠
shortener_challenge
3/4 URL shorteners allowed through without challenge — destination is unknown, risk cannot be assessed
10ms
⚠
typosquatting
Caught 6/8 (75%) — missed: google triple-o; facebook 00→oo
22027ms
✔
combo_attacks
All 3 multi-technique evasion attacks caught
4329ms
✔
evasion_fp_check
All 3 legitimate sites still correctly allowed after evasion tests
7ms
✔
attacker_model
Attacker model: dolphin-mistral:7b — adversarial generation ready
20ms
✔
redteam_banks
Model: dolphin-mistral:7b | Generated 7 URLs in 19683ms | GuardDex caught 7/7 (100%)
32167ms
✔
redteam_elderly
dolphin-mistral:7b | 8 elderly-targeted URLs | 8/8 caught (100%)
32782ms
✘
redteam_evasion
dolphin-mistral:7b evasion | 8 URLs | 2/8 caught (25%) | BYPASSED: https://paypa1.attacker.com/login.php | https://appl3.attacker.domain/account?action=signin | https://amaz0n.attacker.com/order-confirmation
27468ms
✔
gap_analysis
No bypass gaps found in test set — all 4 caught by GuardDex
17708ms
✔
defender_ai_supplement
phi3:mini caught 4 ambiguous scam URLs that needed AI context
24059ms
✔
stress_volume
15 AI-generated URLs | 15 caught (100%) | avg 3355ms/scan | total 50323ms
58020ms