kingfisher/crates/kingfisher-rules/data/rules/jdbc.yml

32 lines
984 B
YAML
Raw Normal View History

2025-11-12 22:25:33 -08:00
rules:
- name: JDBC connection string with embedded credentials
id: kingfisher.jdbc.1
pattern: |
(?xi)
(
jdbc:
[a-z][a-z0-9+.-]{2,32}
(?:[:][a-z0-9+.-]{1,32})*
2025-11-12 22:25:33 -08:00
:
2025-11-12 22:26:29 -08:00
[^\s"'<>,(){}\[\]]{10,448}
2025-11-12 22:25:33 -08:00
)
2025-11-24 09:33:58 -08:00
pattern_requirements:
min_special_chars: 2
special_chars: ";=/?@&"
ignore_if_contains:
2025-11-24 09:33:58 -08:00
- "****"
- "xxxx"
2026-01-01 22:24:57 -08:00
- "example"
2025-11-12 22:25:33 -08:00
min_entropy: 3.3
confidence: medium
validation:
type: Jdbc
2026-02-02 23:22:08 -08:00
tls_mode: lax
2025-11-12 22:25:33 -08:00
examples:
- jdbc:postgresql://db.example.com:5432/app?user=admin&password=s3cr3t
- jdbc:mysql://admin:s3cr3t@prod.internal:3306/inventory
- jdbc:oracle:thin:@ora.example.net:1521/ORCLPDB1
- jdbc:sqlserver://sql.example.org:1433;databaseName=inventory;user=sa;password=s3cr3t!
references:
- https://docs.oracle.com/javase/8/docs/api/java/sql/DriverManager.html
2026-02-10 19:24:19 -08:00
- https://jdbc.postgresql.org/documentation/use/