Rule Explorer

All 201 built-in rules. Each maps to a CWE and runs out of the box.

Severity:
Category:

Showing 201 of 201 rules

Rule Severity CWE
js/express-cookie-no-httponly
Cookie configuration missing httpOnly flag
medium CWE-1004
js/express-cookie-no-samesite
Cookie configuration missing sameSite protection
medium CWE-352
js/express-cookie-no-secure
Cookie configuration missing secure flag
medium CWE-614
js/express-direct-response-write
XSS via direct response write with user input
high CWE-79
js/express-no-hardcoded-session-secret
Hardcoded session secret in express-session configuration
high CWE-798
js/express-session-resave-true
express-session configured with resave: true
medium CWE-384
js/express-session-saveuninitialized-true
express-session configured with saveUninitialized: true
medium CWE-359
js/hardcoded-crypto-algorithm
Hardcoded algorithm string in crypto API call hinders crypto agility
low CWE-327
js/jwt-decode-without-verify
JWT decoded without signature verification
high CWE-347
js/jwt-hardcoded-secret
JWT signing or verification with a hardcoded secret
high CWE-798
js/jwt-ignore-expiration
JWT verification configured to ignore token expiration
high CWE-613
js/jwt-none-algorithm
JWT configured to use the 'none' algorithm
high CWE-347
js/jwt-verify-missing-algorithms
JWT verification without an explicit algorithms allowlist
high CWE-347
js/no-command-injection
Potential command injection via exec/spawn with dynamic input
critical CWE-78
js/no-cors-star
CORS misconfiguration allowing all origins
medium CWE-942
js/no-document-write
document.write() can lead to XSS vulnerabilities
high CWE-79
js/no-eval
Use of eval() allows arbitrary code execution
critical CWE-95
js/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
js/no-open-redirect
Open redirect via assignment to window.location with user input
medium CWE-601
js/no-path-traversal
Potential path traversal via fs operations with user input
high CWE-22
js/no-prototype-pollution
Potential prototype pollution via dynamic property assignment
high CWE-1321
js/no-sql-injection
Potential SQL injection via string concatenation or template literal
critical CWE-89
js/no-ssrf
Potential SSRF via dynamic outbound request URL
high CWE-918
js/no-unsafe-deserialization
Unsafe deserialization of untrusted data
critical CWE-502
js/no-unsafe-format-string
Template literal with variables in console/logging function may enable log injection
medium CWE-134
js/no-unsafe-regex
Potentially catastrophic backtracking regex pattern
medium CWE-1333
js/no-weak-crypto
Use of weak cryptographic hash (MD5/SHA1)
medium CWE-327
js/no-xss-innerhtml
Assignment to innerHTML may lead to XSS
high CWE-79
js/pq-vulnerable-crypto
Use of quantum-vulnerable cryptographic algorithm (RSA/ECDSA/ECDH/DH/Ed25519)
high CWE-327
js/taint-command-injection
Untrusted input reaches a command execution sink — OS command injection
critical CWE-78
js/taint-eval
Untrusted input reaches eval or Function — arbitrary code execution
critical CWE-95
js/taint-ldap-injection
Untrusted input reaches an LDAP operation sink — possible LDAP injection
high CWE-90
js/taint-log-injection
Untrusted input reaches a logging sink — possible log injection
medium CWE-117
js/taint-nosql-injection
Untrusted input reaches a MongoDB query sink — possible NoSQL injection
high CWE-943
js/taint-sql-injection
Untrusted input reaches a SQL execute sink — possible SQL injection
critical CWE-89
js/taint-ssrf
Untrusted input reaches an HTTP request sink — possible SSRF
high CWE-918
js/taint-ssti
Untrusted input reaches a template rendering sink — possible server-side template injection
critical CWE-1336
js/taint-xpath-injection
Untrusted input reaches an XPath evaluation sink — possible XPath injection
high CWE-643
js/taint-xss-innerhtml
Untrusted input reaches innerHTML or document.write sink
high CWE-79
js/taint-xxe
Untrusted input reaches an XML parser — possible XML External Entity (XXE) injection
high CWE-611
py/csrf-cookie-httponly-disabled
CSRF_COOKIE_HTTPONLY disabled in source code
medium CWE-1004
py/csrf-cookie-samesite-disabled
CSRF_COOKIE_SAMESITE disabled in source code
medium CWE-352
py/csrf-cookie-secure-disabled
CSRF_COOKIE_SECURE disabled in source code
medium CWE-614
py/csrf-exempt
View marked csrf_exempt
high CWE-352
py/django-allowed-hosts-wildcard
Django ALLOWED_HOSTS allows all hosts
medium CWE-346
py/django-secret-key-hardcoded
Django SECRET_KEY hardcoded in source code
high CWE-798
py/flask-debug-mode
Flask app.run(debug=True) exposes debugger and reloader in production
high CWE-489
py/flask-secret-key-hardcoded
Flask SECRET_KEY hardcoded in source code
high CWE-798
py/hardcoded-crypto-algorithm
Hardcoded algorithm string in hashlib.new() hinders crypto agility
low CWE-327
py/jwt-hardcoded-secret
JWT signing or verification with a hardcoded secret
high CWE-798
py/jwt-no-verify
JWT decoded without signature verification
critical CWE-347
py/no-command-injection
Potential command injection via os.system/subprocess with user input
critical CWE-78
py/no-cors-star
CORS misconfiguration allowing all origins
medium CWE-942
py/no-debug-true
DEBUG = True left enabled — disable in production
medium CWE-489
py/no-eval
Use of eval()/exec() allows arbitrary code execution
critical CWE-95
py/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
py/no-open-redirect
Open redirect via redirect() with user-controlled input
medium CWE-601
py/no-path-traversal
Potential path traversal via open() with user input
high CWE-22
py/no-pickle
Deserialization of untrusted data via pickle
high CWE-502
py/no-sql-injection
Potential SQL injection via string formatting
critical CWE-89
py/no-ssrf
Potential SSRF via dynamic outbound request URL
high CWE-918
py/no-weak-crypto
Use of weak cryptographic hash (MD5/SHA1)
medium CWE-327
py/no-yaml-load
yaml.load() without SafeLoader can execute arbitrary code
high CWE-502
py/pq-vulnerable-crypto
Use of quantum-vulnerable cryptographic algorithm (RSA/ECDSA/ECDH/DSA/Ed25519/X25519)
high CWE-327
py/secure-ssl-redirect-disabled
Django SECURE_SSL_REDIRECT disabled in source code
medium CWE-319
py/session-cookie-httponly-disabled
SESSION_COOKIE_HTTPONLY disabled in source code
medium CWE-1004
py/session-cookie-samesite-disabled
SESSION_COOKIE_SAMESITE disabled in source code
medium CWE-352
py/session-cookie-secure-disabled
SESSION_COOKIE_SECURE disabled in source code
medium CWE-614
py/taint-command-injection
Untrusted input reaches OS command execution sink
critical CWE-78
py/taint-eval
Untrusted input reaches eval/exec sink
critical CWE-95
py/taint-ldap-injection
Untrusted input reaches LDAP search sink
high CWE-90
py/taint-log-injection
Untrusted input reaches a logging sink — possible log injection
medium CWE-117
py/taint-nosql-injection
Untrusted input reaches a MongoDB query sink — possible NoSQL injection
high CWE-943
py/taint-pickle-deserialization
Untrusted input reaches pickle deserialization sink
critical CWE-502
py/taint-sql-injection
Untrusted input reaches DB execute sink
critical CWE-89
py/taint-ssrf
Untrusted input reaches outbound HTTP sink (potential SSRF)
high CWE-918
py/taint-ssti
Untrusted input reaches template rendering sink (potential SSTI)
critical CWE-1336
py/taint-xpath-injection
Untrusted input reaches XPath query sink
high CWE-643
py/taint-xxe
Untrusted input reaches an XML parser — possible XML External Entity (XXE) injection
high CWE-611
py/taint-yaml-load
Untrusted input reaches unsafe YAML loader
critical CWE-502
py/wtf-csrf-check-default-disabled
Flask-WTF default CSRF checks disabled in source code
high CWE-352
py/wtf-csrf-disabled
Flask-WTF CSRF protection disabled in source code
high CWE-352
go/cookie-missing-httponly
http.Cookie missing HttpOnly flag
medium CWE-1004
go/cookie-missing-secure
http.Cookie missing Secure flag
medium CWE-614
go/gin-no-trusted-proxies
Gin engine created without SetTrustedProxies configuration
medium CWE-346
go/insecure-tls-skip-verify
TLS certificate verification disabled with InsecureSkipVerify
high CWE-295
go/jwt-hardcoded-secret
JWT key function uses a hardcoded secret
high CWE-798
go/jwt-no-verify
JWT parsed without signature verification
critical CWE-347
go/math-random-used
math/rand is not cryptographically secure
medium CWE-338
go/missing-ssl-minversion
tls.Config is missing an explicit MinVersion
medium CWE-326
go/net-http-no-timeout
http.ListenAndServe without timeout configuration enables slowloris attacks
medium CWE-400
go/no-command-injection
Potential command injection via exec.Command with dynamic input
critical CWE-78
go/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
go/no-sql-injection
Potential SQL injection via string concatenation or fmt.Sprintf
critical CWE-89
go/no-ssrf
Potential SSRF via http.Get/http.Post with variable URL
high CWE-918
go/no-unsafe-deserialization
Unsafe deserialization via gob or yaml.Unmarshal into interface{}/any
high CWE-502
go/no-weak-crypto
Use of weak cryptographic hash (MD5/SHA1)
medium CWE-327
go/pq-vulnerable-crypto
Use of quantum-vulnerable cryptographic algorithm (RSA/ECDSA/ECDH/DSA/Ed25519)
high CWE-327
go/taint-command-injection
Untrusted input reaches os/exec command execution sink
critical CWE-78
go/taint-ldap-injection
Untrusted input reaches LDAP search sink (potential LDAP injection)
high CWE-90
go/taint-log-injection
Untrusted input reaches a logging sink — possible log injection
medium CWE-117
go/taint-nosql-injection
Untrusted input reaches a MongoDB query sink — possible NoSQL injection
high CWE-943
go/taint-path-traversal
Untrusted input reaches a filesystem path sink — possible path traversal
high CWE-22
go/taint-sql-injection
Untrusted input reaches database Query/Exec sink
critical CWE-89
go/taint-ssrf
Untrusted input reaches outbound net/http sink (potential SSRF)
high CWE-918
go/taint-ssti
Untrusted input reaches template parsing sink (potential SSTI)
critical CWE-1336
go/taint-xpath-injection
Untrusted input reaches XPath query sink (potential XPath injection)
high CWE-643
rb/no-command-injection
Potential command injection via system/exec/spawn or backtick execution
critical CWE-78
rb/no-csrf-skip
CSRF protection disabled via skip_before_action
high CWE-352
rb/no-eval
Use of eval or similar dynamic code execution
critical CWE-95
rb/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
rb/no-html-safe
Potential XSS via html_safe or raw()
high CWE-79
rb/no-mass-assignment
Mass assignment via permit! allows all parameters
high CWE-915
rb/no-open-redirect
Potential open redirect via redirect_to with dynamic argument
high CWE-601
rb/no-path-traversal
Potential path traversal via dynamic file path
high CWE-22
rb/no-sql-injection
Potential SQL injection via string interpolation in query methods
critical CWE-89
rb/no-ssrf
Potential SSRF via dynamic outbound HTTP request URL
high CWE-918
rb/no-unsafe-deserialization
Unsafe deserialization via Marshal.load or YAML.load
critical CWE-502
rb/no-weak-crypto
Use of weak cryptographic hash (MD5/SHA1)
medium CWE-327
java/hardcoded-crypto-algorithm
Hardcoded algorithm string in crypto API call hinders crypto agility
low CWE-327
java/no-command-injection
Potential command injection via Runtime.exec or ProcessBuilder with dynamic input
critical CWE-78
java/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
java/no-path-traversal
Potential path traversal via dynamic file path
high CWE-22
java/no-sql-injection
Potential SQL injection via string concatenation in query method
critical CWE-89
java/no-ssrf
Potential SSRF via URL or RestTemplate with dynamic input
high CWE-918
java/no-unsafe-deserialization
Unsafe deserialization can lead to remote code execution
critical CWE-502
java/no-weak-crypto
Use of weak cryptographic algorithm
medium CWE-327
java/no-xss
Potential XSS via direct write of user input to HTTP response
high CWE-79
java/no-xxe
XML parser created without disabling external entities (XXE)
high CWE-611
java/pq-vulnerable-crypto
Use of quantum-vulnerable cryptographic algorithm (RSA/EC/DSA/DH/Ed25519/X25519)
high CWE-327
java/spring-cors-permissive
Permissive CORS configuration allows any origin
medium CWE-942
java/spring-csrf-disabled
Spring Security CSRF protection is disabled
high CWE-352
java/taint-command-injection
Untrusted Java servlet or Spring input reaches command execution sink
critical CWE-78
java/taint-sql-injection
Untrusted Java servlet or Spring input reaches SQL query sink
critical CWE-89
java/taint-ssrf
Untrusted Java servlet or Spring input reaches outbound URL sink
high CWE-918
java/taint-unsafe-deserialization
Untrusted Java servlet or Spring input reaches unsafe deserialization sink
critical CWE-502
php/no-command-injection
Potential command injection via shell execution function
critical CWE-78
php/no-eval
Use of eval() allows arbitrary code execution
critical CWE-95
php/no-extract
Use of extract() can overwrite existing variables
high CWE-621
php/no-file-inclusion
Dynamic file inclusion with variable argument enables remote/local file inclusion
critical CWE-98
php/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
php/no-preg-eval
preg_replace with /e modifier allows arbitrary code execution
critical CWE-95
php/no-sql-injection
Potential SQL injection via string interpolation or concatenation
critical CWE-89
php/no-ssrf
Potential SSRF via file_get_contents or curl_init with variable URL
high CWE-918
php/no-unserialize
Use of unserialize() on untrusted data can lead to object injection
critical CWE-502
php/no-weak-crypto
Use of weak cryptographic hash (MD5/SHA1)
medium CWE-327
rs/no-command-injection
Potential command injection via Command::new with dynamic input
critical CWE-78
rs/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
rs/no-path-traversal
Potential path traversal via Path::new or PathBuf::from with dynamic input
medium CWE-22
rs/no-sql-injection
Potential SQL injection via format! macro in query argument
critical CWE-89
rs/no-ssrf
Potential SSRF via reqwest with dynamic URL
high CWE-918
rs/no-unwrap-in-lib
Use of .unwrap() or .expect() can cause panics in production
medium CWE-248
rs/no-weak-hash
Use of weak cryptographic hash (MD5/SHA1)
medium CWE-328
rs/pq-vulnerable-crypto
Use of quantum-vulnerable cryptographic algorithm (RSA/ECDSA/ECDH/Ed25519/X25519)
high CWE-327
rs/tls-verify-disabled
TLS certificate verification disabled with danger_accept_invalid_certs
high CWE-295
rs/transmute-usage
Use of std::mem::transmute can cause type confusion and undefined behavior
high CWE-843
rs/unsafe-block
Use of unsafe block bypasses Rust memory safety guarantees
medium CWE-676
cs/no-command-injection
Potential command injection via Process.Start with dynamic argument
critical CWE-78
cs/no-cors-star
Overly permissive CORS configuration
medium CWE-942
cs/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
cs/no-ldap-injection
Potential LDAP injection via string concatenation in search filter
high CWE-90
cs/no-path-traversal
Potential path traversal via dynamic file path
high CWE-22
cs/no-sql-injection
Potential SQL injection via string concatenation in database call
critical CWE-89
cs/no-ssrf
Potential SSRF via HTTP request with dynamic URL
high CWE-918
cs/no-unsafe-deserialization
Use of unsafe deserialization API
critical CWE-502
cs/no-weak-crypto
Use of weak cryptographic algorithm
medium CWE-327
cs/no-xxe
Potential XXE vulnerability in XML parsing
high CWE-611
swift/no-command-injection
Potential command injection via Process or NSTask with dynamic arguments
critical CWE-78
swift/no-eval-js
WKWebView evaluateJavaScript with dynamic input enables code injection
critical CWE-95
swift/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
swift/no-insecure-keychain
Insecure Keychain accessibility level allows access when device is locked
high CWE-311
swift/no-insecure-transport
Insecure HTTP URL detected — use HTTPS instead
high CWE-319
swift/no-path-traversal
Potential path traversal via FileManager with dynamic path
high CWE-22
swift/no-sql-injection
Potential SQL injection via string interpolation in SQLite queries
critical CWE-89
swift/no-ssrf
Potential SSRF via URLSession or URL with dynamic input
high CWE-918
swift/no-tls-disabled
TLS certificate validation disabled or weakened
high CWE-295
swift/no-weak-crypto
Use of weak cryptographic hash (MD5/SHA1)
medium CWE-327
kt/no-command-injection
Potential command injection via Runtime.exec or ProcessBuilder with dynamic input
critical CWE-78
kt/no-cors-star
Permissive CORS configuration allows any origin
medium CWE-942
kt/no-eval
ScriptEngine.eval can execute arbitrary code
critical CWE-94
kt/no-hardcoded-secret
Hardcoded secret or credential detected
high CWE-798
kt/no-path-traversal
Potential path traversal via dynamic file path
high CWE-22
kt/no-sql-injection
Potential SQL injection via string concatenation in query method
critical CWE-89
kt/no-ssrf
Potential SSRF via URL or HTTP client with dynamic input
high CWE-918
kt/no-unsafe-deserialization
Unsafe deserialization can lead to remote code execution
critical CWE-502
kt/no-weak-crypto
Use of weak cryptographic algorithm
medium CWE-327
kt/no-xxe
XML parser created without disabling external entities (XXE)
high CWE-611
kt/taint-command-injection
Untrusted input from Ktor/Spring handler reaches command execution sink
critical CWE-78
kt/taint-sql-injection
Untrusted input from Ktor/Spring handler reaches SQL query sink
critical CWE-89
kt/taint-ssrf
Untrusted input from Ktor/Spring handler reaches HTTP/URL sink
high CWE-918
config/nginx-pq-vulnerable-tls
Nginx TLS configuration uses quantum-vulnerable protocols or ciphers
medium CWE-327
config/apache-pq-vulnerable-tls
Apache TLS configuration uses quantum-vulnerable protocols or ciphers
medium CWE-327
config/haproxy-pq-vulnerable-tls
HAProxy TLS configuration uses quantum-vulnerable protocols or ciphers
medium CWE-327
config/dockerfile-insecure-tls-env
Dockerfile disables TLS certificate verification via environment variable or insecure command
high CWE-295
manifest/cargo-pq-vulnerable-dep
Dependency uses quantum-vulnerable cryptographic algorithm (dev-dependencies not distinguished)
high CWE-327
manifest/npm-pq-vulnerable-dep
Dependency uses quantum-vulnerable cryptographic algorithm
high CWE-327
manifest/osv-vulnerable-dep
Dependency is affected by a known OSV vulnerability
high CWE-937
manifest/pip-pq-vulnerable-dep
Dependency uses quantum-vulnerable cryptographic algorithm
high CWE-327
manifest/pipfile-pq-vulnerable-dep
Dependency uses quantum-vulnerable cryptographic algorithm
high CWE-327
manifest/pnpm-pq-vulnerable-dep
Dependency uses quantum-vulnerable cryptographic algorithm
high CWE-327
manifest/poetry-pq-vulnerable-dep
Dependency uses quantum-vulnerable cryptographic algorithm
high CWE-327