1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//! Security vulnerability DETECTION rules for various languages
//!
//! This module contains rules that DETECT dangerous code patterns.
//! These are static analysis rules for finding security issues.
//!
//! Each language module is organized into:
//! - **Section A: High-Confidence Sinks** - Precise detection of dangerous patterns
//! - **Section B: Review Hints** - Patterns that need human verification
//!
//! The `dataflow_rules` module contains rules powered by the dataflow framework:
//! - Dead store detection
//! - Unused variable detection
//! - Cross-function taint flow detection
//! - Command injection via taint tracking
//! - SQL injection via taint tracking
//! - SSRF (Server-Side Request Forgery) via taint tracking
//! - Path traversal via taint tracking
//! - XSS detection via taint tracking
//! - Resource leak detection via CFG path analysis
//!
//! The `typestate_rules` module contains typestate analysis rules:
//! - File resource lifecycle tracking (open/read/write/close)
//! - Detection of use-after-close, double-open, and resource leaks
//! - Language-specific safe patterns (with, defer, try-with-resources, RAII)
//! - Cryptographic API usage tracking (Hash, HMAC, Cipher state machines)
//! - Detection of crypto misuse: update after finalize, missing initialization
//! - Detection of weak algorithms (MD5, SHA1, DES, RC4) and unsafe modes (ECB)
//! - Database connection lifecycle tracking (connect/begin/commit/rollback/close)
//! - Detection of connection leaks, uncommitted transactions, nested transactions
//! - ORM support: SQLAlchemy, Hibernate, GORM, Sequelize
// Re-export dataflow rules for easier access
pub use ;
// Re-export null pointer rule
pub use NullPointerRule;
// Re-export resource leak rule
pub use ResourceLeakRule;
// Re-export typestate rules
pub use ;
// Re-export XSS detection rule
pub use ;