Detection catalogue
Every pattern, one catalogue
This page is generated from the same patterns/patterns.json that the
PyQt dashboard reads. It merges the Lua CVE patterns, Layer 1 and Layer 2
generic signatures, header and upload analysis, the Attack Simulation presets and
all 70 Suricata SIDs into one searchable inventory.
Select any row to open its side panel: trigger, score path, source files, WSTG /
OWASP / ATT&CK mapping, the simulation preset that proves it, and a plain-language
lesson. Deep-link a pattern with ?pattern=<id>.
133
Patterns
Stable catalogue IDs
15
CVEs
Plugin + core vulnerabilities
70
Suricata SIDs
Network-layer evidence
11
Rule sources
Lua, Suricata, presets, upload
Generated 2026-10-23 from
tools/generate_pattern_catalog.py. Run it after changing a rule source;
--check fails when this page would be stale.
Browse patterns
Filter first, then read the side panel. The panel is a drawer on narrow screens.
133 of 133 patterns
Search
Type
All types
Behavioural signal CVE pattern Generic attack Session signal Scanner tool
Category
All categories
Access control Authentication Behavioural Cloud / storage Command injection Cross-site scripting CVE Deserialization Enumeration File inclusion File upload HTTP abuse Injection Path traversal Reconnaissance Scanner / automation Sensitive file Session SQL injection Template injection Web shell WordPress core
Severity
All severities
critical high medium low info
Source
All sources
Automation scoring Header analysis Lua CVE pattern Lua Layer 1 Lua Layer 2 Request method Session policy Simulation preset Suricata rule Upload analysis Vulnerability rules
Reset
Pattern
Type · category · severity
BookingPress SQL injection
cve-2022-0739
critical
CVE pattern
CVE
2 sources
›
Bricks Builder unauthenticated RCE
cve-2024-25600
critical
CVE pattern
CVE
2 sources
›
CWMP unauthenticated options update
cve-2025-2266
critical
CVE pattern
CVE
7 sources
›
Drag & Drop file upload MIME-type bypass
cve-2025-4403
critical
CVE pattern
CVE
8 sources
›
Gift Voucher file upload RCE
cve-2024-8425
critical
CVE pattern
CVE
3 sources
›
Gift Voucher file upload RCE
cve-2025-47577
critical
CVE pattern
CVE
7 sources
›
LayerSlider SQL injection
cve-2024-2879
critical
CVE pattern
CVE
2 sources
›
Ultimate Member SQL injection
cve-2024-1071
critical
CVE pattern
CVE
2 sources
›
WP Automatic SQL injection
cve-2024-27956
critical
CVE pattern
CVE
2 sources
›
Command injection: system commands
cmd-system
critical
Generic attack
Command injection
1 source
›
wp-config.php disclosure
sig-wp-config-access
critical
Generic attack
Sensitive file
5 sources
›
wp-config.php.bak disclosure
sig-wp-config-bak
critical
Generic attack
Sensitive file
1 source
›
Encoded PHP payload
encoded-php-payload
critical
Generic attack
Web shell
1 source
›
PHP web shell
php-webshell
critical
Generic attack
Web shell
1 source
›
Abandoned Cart Lite checkout token forgery
cve-2023-2986
high
CVE pattern
CVE
7 sources
›
Advanced Form Integration SQL injection
cve-2024-2387
high
CVE pattern
CVE
7 sources
›
PagSeguro Connect path traversal
cve-2025-10142
high
CVE pattern
CVE
6 sources
›
REST API content injection (defacement)
cve-2017-1001000
high
CVE pattern
CVE
1 source
›
WooCommerce Payments admin bypass
cve-2023-28121
high
CVE pattern
CVE
6 sources
›
WP File Upload directory traversal
cve-2024-50508
high
CVE pattern
CVE
6 sources
›
Login brute force
brute-force
high
Generic attack
Authentication
2 sources
›
XML-RPC amplification
xmlrpc-amplification
high
Generic attack
Authentication
1 source
›
XML-RPC multicall
sig-xmlrpc-multicall
high
Generic attack
Authentication
1 source
›
Multiple vulnerability attempts
honeypot-multi-attempt
high
Generic attack
Behavioural
1 source
›
Command injection: cat
sig-cmd-cat
high
Generic attack
Command injection
2 sources
›
Command injection: curl
sig-cmd-curl
high
Generic attack
Command injection
2 sources
›
Command injection: netcat
sig-cmd-netcat
high
Generic attack
Command injection
2 sources
›
Command injection: pipe
cmd-pipe
high
Generic attack
Command injection
1 source
›
Encoded <script tag
sig-enc-script
high
Generic attack
Cross-site scripting
1 source
›
XSS script tag
sig-xss-script
high
Generic attack
Cross-site scripting
4 sources
›
Deserialization attack
deserialization
high
Generic attack
Deserialization
1 source
›
WordPress REST user enumeration
sig-wp-user-enumeration
high
Generic attack
Enumeration
3 sources
›
WordPress user enumeration via rest_route
sig-wp-user-enumeration-rest
high
Generic attack
Enumeration
2 sources
›
PHP stream wrapper
sig-php-wrapper
high
Generic attack
File inclusion
3 sources
›
Double-extension upload bypass
upload-double-extension
high
Generic attack
File upload
2 sources
›
Executable upload
upload-executable
high
Generic attack
File upload
2 sources
›
Null-byte upload bypass
upload-null-byte
high
Generic attack
File upload
1 source
›
PHP upload
upload-php
high
Generic attack
File upload
6 sources
›
Script upload
upload-script
high
Generic attack
File upload
9 sources
›
Space upload bypass
upload-space-bypass
high
Generic attack
File upload
1 source
›
Theme/plugin editor or file manager
upload-editor-access
high
Generic attack
File upload
4 sources
›
Upload content-type mismatch
upload-content-type
high
Generic attack
File upload
4 sources
›
Upload into an executable directory
upload-directory
high
Generic attack
File upload
4 sources
›
Generic code injection
generic-code-injection
high
Generic attack
Injection
1 source
›
Double-encoded directory traversal
double-encoded-traversal
high
Generic attack
Path traversal
1 source
›
Local file read: /etc/passwd
sig-etc-passwd
high
Generic attack
Path traversal
1 source
›
Rapid vulnerability scanning
honeypot-rapid-scan
high
Generic attack
Reconnaissance
1 source
›
XML-RPC listMethods probe
sig-xmlrpc-methods
high
Generic attack
Reconnaissance
1 source
›
.htaccess disclosure
sig-htaccess-file
high
Generic attack
Sensitive file
2 sources
›
backup.zip archive
sig-backup-zip
high
Generic attack
Sensitive file
1 source
›
Installer file access
sig-install-php
high
Generic attack
Sensitive file
4 sources
›
phpinfo.php disclosure
sig-phpinfo-file
high
Generic attack
Sensitive file
2 sources
›
WordPress backup path
sig-wp-backup
high
Generic attack
Sensitive file
1 source
›
WordPress installer access
sig-wp-install-access
high
Generic attack
Sensitive file
1 source
›
wp-config variant
sig-wp-config-variant
high
Generic attack
Sensitive file
2 sources
›
Suspicious session-cookie manipulation
session-cookie-manipulation
high
Generic attack
Session
1 source
›
SQL DROP TABLE
sig-sql-drop
high
Generic attack
SQL injection
2 sources
›
SQL function probe
sql-functions
high
Generic attack
SQL injection
1 source
›
SQL information_schema probe
sql-information-schema
high
Generic attack
SQL injection
1 source
›
SQL injection in a POST body
sql-body-injection
high
Generic attack
SQL injection
1 source
›
SQL UNION SELECT
sig-sql-union
high
Generic attack
SQL injection
3 sources
›
Server-side template injection
template-injection
high
Generic attack
Template injection
1 source
›
Method override header
behaviour-method-override
medium
Behavioural signal
HTTP abuse
1 source
›
context=edit probe
context-edit
medium
Generic attack
Access control
2 sources
›
IDOR object identifier parameters
idor-parameter
medium
Generic attack
Access control
5 sources
›
IDOR: user IDs
idor-users
medium
Generic attack
Access control
1 source
›
IDOR: WooCommerce order IDs
idor-orders
medium
Generic attack
Access control
1 source
›
WordPress user creation
sig-wp-user-creation
medium
Generic attack
Access control
1 source
›
Registration / password-reset probe
auth-action
medium
Generic attack
Authentication
3 sources
›
High request rate
high-request-rate
medium
Generic attack
Behavioural
1 source
›
Cloud storage backup probe
cloud-storage
medium
Generic attack
Cloud / storage
2 sources
›
Command injection: backticks
sig-cmd-backticks
medium
Generic attack
Command injection
2 sources
›
Command injection: ls
sig-cmd-ls
medium
Generic attack
Command injection
3 sources
›
XSS alert() probe
sig-xss-alert
medium
Generic attack
Cross-site scripting
2 sources
›
XSS javascript: URI
sig-xss-javascript
medium
Generic attack
Cross-site scripting
3 sources
›
XSS onerror handler
sig-xss-onerror
medium
Generic attack
Cross-site scripting
4 sources
›
XSS onload handler
sig-xss-onload
medium
Generic attack
Cross-site scripting
2 sources
›
User enumeration via ?author=
sig-author-enum
medium
Generic attack
Enumeration
4 sources
›
data:// stream wrapper
sig-data-wrapper
medium
Generic attack
File inclusion
3 sources
›
file:// stream wrapper
sig-file-wrapper
medium
Generic attack
File inclusion
3 sources
›
HTTP response splitting
http-splitting
medium
Generic attack
HTTP abuse
2 sources
›
Sensitive parameter names
suspicious-parameter
medium
Generic attack
Injection
6 sources
›
Directory traversal (../)
sig-directory-traversal
medium
Generic attack
Path traversal
4 sources
›
Encoded directory traversal
sig-encoded-directory-traversal
medium
Generic attack
Path traversal
2 sources
›
crossdomain.xml probe
crossdomain-xml
medium
Generic attack
Reconnaissance
2 sources
›
readme.html fingerprinting
readme-file
medium
Generic attack
Reconnaissance
2 sources
›
Wordlist scan: plugin and theme discovery
plugin-theme-discovery
medium
Generic attack
Reconnaissance
1 source
›
Wordlist scan: sensitive paths
wordlist-scan
medium
Generic attack
Reconnaissance
1 source
›
WordPress plugin enumeration
wp-plugin-recon
medium
Generic attack
Reconnaissance
1 source
›
WordPress theme detection
wp-theme-recon
medium
Generic attack
Reconnaissance
1 source
›
Automation detected by Suricata
honeypot-automation
medium
Generic attack
Scanner / automation
1 source
›
.env disclosure
sig-env-file-scan
medium
Generic attack
Sensitive file
2 sources
›
.htpasswd disclosure
htpasswd-file
medium
Generic attack
Sensitive file
2 sources
›
Backup extension .bak
sig-bak-file
medium
Generic attack
Sensitive file
2 sources
›
Backup extension .old
sig-old-file
medium
Generic attack
Sensitive file
2 sources
›
Sensitive archive or backup extension
sensitive-archive
medium
Generic attack
Sensitive file
7 sources
›
setup-config.php access
setup-config-file
medium
Generic attack
Sensitive file
2 sources
›
XML-RPC probe
sig-wp-xmlrpc
medium
Generic attack
Sensitive file
4 sources
›
Session IP change
session-ip-change
medium
Generic attack
Session
1 source
›
Session User-Agent change
session-ua-change
medium
Generic attack
Session
1 source
›
SQL INSERT INTO
sig-sql-insert
medium
Generic attack
SQL injection
2 sources
›
SQL OR tautology
sig-sql-or-condition
medium
Generic attack
SQL injection
3 sources
›
SQL quote + OR
sig-sql-quote-or
medium
Generic attack
SQL injection
1 source
›
SQL SELECT ... FROM
sig-sql-select
medium
Generic attack
SQL injection
2 sources
›
Time-based blind SQL injection
sql-time-blind
medium
Generic attack
SQL injection
5 sources
›
admin-post.php access
sig-admin-post
medium
Generic attack
WordPress core
1 source
›
WordPress REST API abuse
rest-api-abuse
medium
Generic attack
WordPress core
1 source
›
Scanner tool: Acunetix
tool-acunetix
medium
Scanner tool
Scanner / automation
2 sources
›
Scanner tool: Burp Suite
tool-burpsuite
medium
Scanner tool
Scanner / automation
3 sources
›
Scanner tool: Dirb
tool-dirb
medium
Scanner tool
Scanner / automation
3 sources
›
Scanner tool: Gobuster
tool-gobuster
medium
Scanner tool
Scanner / automation
4 sources
›
Scanner tool: Havij
tool-havij
medium
Scanner tool
Scanner / automation
2 sources
›
Scanner tool: masscan
tool-masscan
medium
Scanner tool
Scanner / automation
2 sources
›
Scanner tool: Metasploit
tool-metasploit
medium
Scanner tool
Scanner / automation
3 sources
›
Scanner tool: Nikto
tool-nikto
medium
Scanner tool
Scanner / automation
4 sources
›
Scanner tool: Nmap
tool-nmap
medium
Scanner tool
Scanner / automation
3 sources
›
Scanner tool: Nuclei
tool-nuclei
medium
Scanner tool
Scanner / automation
2 sources
›
Scanner tool: OWASP ZAP
tool-zap
medium
Scanner tool
Scanner / automation
2 sources
›
Scanner tool: Pangolin
tool-pangolin
medium
Scanner tool
Scanner / automation
2 sources
›
Scanner tool: sqlmap
tool-sqlmap
medium
Scanner tool
Scanner / automation
4 sources
›
Scanner tool: WhatWeb
tool-whatweb
medium
Scanner tool
Scanner / automation
2 sources
›
Scanner tool: WPScan
tool-wpscan
medium
Scanner tool
Scanner / automation
4 sources
›
HTTP Basic authentication probe
behaviour-basic-auth
low
Behavioural signal
Authentication
1 source
›
Missing Referer on POST
behaviour-missing-referer
low
Behavioural signal
Behavioural
1 source
›
Missing User-Agent
behaviour-missing-user-agent
low
Behavioural signal
Behavioural
1 source
›
Unusual HTTP method
behaviour-method-anomaly
low
Behavioural signal
HTTP abuse
1 source
›
Admin panel discovery
sig-admin-scan
low
Generic attack
Reconnaissance
4 sources
›
Administrator panel discovery
sig-administrator-scan
low
Generic attack
Reconnaissance
2 sources
›
Backup path discovery
sig-backup-scan
low
Generic attack
Reconnaissance
3 sources
›
phpMyAdmin discovery
sig-phpmyadmin-scan
low
Generic attack
Reconnaissance
2 sources
›
WordPress version detection
wp-version-recon
low
Generic attack
Reconnaissance
1 source
›
Generic automation clients
tool-automation-clients
low
Scanner tool
Scanner / automation
9 sources
›
Session cleared from localStorage, restored by gdpr_signature
session-gdpr-restore
info
Session signal
Session
2 sources
›
No patterns match those filters. Try clearing the search or choosing “All”.
The catalogue is listed above, but filtering and the detail panel need JavaScript.
Now live
Registry & pattern picker
This page is generated and read-only, but the dashboard now layers a mutable
registry on top of it. patterns/registry.json, owned by
dashboard/core/pattern_registry.py, records only deviations from the
generated catalogue — so a stable ID, its provenance and its export shape remain the
contract, while enable state and edits live separately and never touch
patterns.json.
Overrides Per-ID field changes on a generated pattern (enabled included). Re-enabling prunes the override, so the file keeps only real deviations.
Custom records Full patterns authored in the Pattern Database page, filled out to the catalogue shape and merged alongside the generated ones.
One decision, everywhere A pattern switched off is dropped from the Attack Simulation battery and the Segmentation Validation preset list via active_presets().
Clean reset A missing or corrupt registry.json loads as empty — every pattern enabled, nothing custom. Deleting the file resets the overlay.
The Pattern Database page is the editor: a per-row checkbox toggles a
pattern on or off, and per-pattern and bulk actions add, edit, duplicate, remove,
revert and export. Disabling here is authoritative — "off in the database" means off
in every run that builds its attack set from the catalogue.
Pattern picker
Attack Simulation and Segmentation Validation select patterns through a shared picker:
a button opens a searchable, scrollable checkbox popup capped at half the window height,
instead of an unbounded dropdown. Registry-disabled patterns never appear in it.
Checked set = the batch. On Attack Simulation the checked patterns are the Multi-run and PDF-report battery; on Segmentation Validation they drive the per-window attacks and the "Attack from all" round-robin spread across windows.
Highlighted row = single run. Highlighting one row (without changing the checks) targets just that pattern for a single curl / browser run.
GDPR signature restore is highlight-only. It is marked, not checkable, so it is never swept into a batch — highlight it to fire it deliberately.
Uncheck-all is safe. With nothing checked, Segmentation Validation falls back to the built-in window_plan so a report still produces per-window attacks.
The reverse-proxy and Suricata exporters are expected to read the same registry next,
so the one enable/disable decision reaches the live edge too. See
patterns/README.md for the overlay's schema.
Coverage & provenance
Counts are by catalogue source rather than by file. A single pattern can carry
evidence from several layers — for example a CVE pattern, its Suricata SID and the
Attack Simulation preset that proves the route.
24
Automation scoring
pattern_rules.lua
18
Header analysis
pattern_rules.lua
14
Lua CVE pattern
init.lua
80
Lua Layer 1
pattern_rules.lua
49
Lua Layer 2
pattern_rules.lua
13
Vulnerability rules
vulnerability_rules.lua
2
Request method
pattern_rules.lua
33
Simulation preset
dashboard/core/patterns.py
1
Session policy
session_rules.lua / GDPR
70
Suricata rule
ids/suricata_rules/local.rules
33
Upload analysis
upload_rules.lua
Source files
ids/reverse_proxy_enhanced/lua/pattern_rules.luaids/reverse_proxy_enhanced/lua/init.luaids/reverse_proxy_enhanced/lua/vulnerability_rules.luaids/reverse_proxy_enhanced/lua/upload_rules.luaids/suricata_rules/local.rulesdashboard/core/patterns.pydashboard/core/learning.py
The generated file is checked in at patterns/patterns.json. If a rule
source changes, regenerate it; the stale check compares everything except the
generation date.