elastic / detection-rules-dac-demo
File Change Frequency

File change frequency (churn) shows the distribution of file updates (days with at least one commit).

Overview
File Change Frequency Overall
  • There are 1,614 files with 160,389 lines of code.
    • 1 file changed more than 100 times (1,140 lines of code)
    • 12 files changed 51-100 times (2,893 lines of code)
    • 327 files changed 21-50 times (41,280 lines of code)
    • 708 files changed 6-20 times (68,799 lines of code)
    • 566 files changed 1-5 times (46,277 lines of code)
<1% | 1% | 25% | 42% | 28%
Legend:
101+
51-100
21-50
6-20
1-5

explore: grouped by folders | grouped by update frequency | data
Contributors Count Frequency Overall
  • There are 1,614 files with 160,389 lines of code.
    • 0 files changed by more than 25 contributors (0 lines of code)
    • 130 files changed by 11-25 contributors (17,478 lines of code)
    • 656 files changed by 6-10 contributors (69,343 lines of code)
    • 587 files changed by 2-5 contributors (58,680 lines of code)
    • 241 files changed by 1 contributor (14,888 lines of code)
0% | 10% | 43% | 36% | 9%
Legend:
26+
11-25
6-10
2-5
1

explore: grouped by folders | grouped by contributors count | data
File Change Frequency per File Extension
toml, json, md, py, yaml, txt, bash, sh, svg, gitignore, g
File Change Frequency per Extension
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
py9% | 13% | 32% | 14% | 29%
toml0% | <1% | 25% | 45% | 28%
yaml0% | 0% | 37% | 41% | 21%
g0% | 0% | 0% | 0% | 100%
File Change Frequency per Logical Decomposition
primary
primary (file change frequency)
The number of recorded file updates
101+
51-100
21-50
6-20
1-5
detection_rules11% | 16% | 38% | 16% | 16%
rules0% | <1% | 27% | 45% | 25%
ROOT0% | 100% | 0% | 0% | 0%
rules_building_block0% | 0% | 0% | 65% | 34%
lib0% | 0% | 0% | 2% | 97%
hunting0% | 0% | 0% | 0% | 100%
Most Frequently Changed Files (Top 50)

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
rule.py
in detection_rules
1140 113 2020-06-30 2025-02-24 120 11 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
devtools.py
in detection_rules
1053 44 2020-10-07 2025-03-07 90 11 brokensound77@users.noreply... traut@users.noreply.github.com
definitions.py
in detection_rules/schemas
224 3 2021-03-09 2024-11-04 56 14 brokensound77@users.noreply... 26856693+w0rk3r@users.norep...
158 - 2020-06-30 2025-02-19 55 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
151 - 2020-06-30 2025-02-19 53 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
packaging.py
in detection_rules
367 18 2020-06-30 2025-02-03 53 10 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
62 - 2022-01-26 2025-03-15 52 10 richard.boyd@elastic.co 119343520+eric-forte-elasti...
114 - 2020-06-30 2025-02-03 52 12 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
135 - 2020-06-30 2025-02-19 51 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
152 - 2020-06-30 2025-02-19 51 15 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
158 - 2020-09-22 2025-02-19 51 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
159 - 2020-06-30 2025-02-03 51 13 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
160 - 2020-09-22 2025-02-19 51 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
105 - 2020-06-30 2025-02-19 50 16 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
89 - 2020-06-30 2025-02-19 48 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
121 - 2020-09-22 2025-02-03 48 12 64742097+samirbous@users.no... 91139415+shashank-elastic@u...
127 - 2020-06-30 2025-02-19 48 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
main.py
in detection_rules
527 18 2020-06-30 2025-03-10 48 11 31489089+rw-access@users.no... 119343520+eric-forte-elasti...
155 - 2020-06-30 2025-02-19 47 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
157 - 2020-09-29 2025-02-19 47 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
__init__.py
in detection_rules/schemas
210 37 2020-07-23 2025-03-05 47 9 31489089+rw-access@users.no... traut@users.noreply.github.com
88 - 2020-06-30 2025-02-19 46 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
113 - 2020-06-30 2025-02-25 46 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
128 - 2020-06-30 2025-02-05 46 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
307 - 2020-11-18 2025-02-03 46 10 64742097+samirbous@users.no... 91139415+shashank-elastic@u...
100 - 2020-06-30 2025-02-19 45 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
125 - 2020-06-30 2025-02-19 45 12 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
132 - 2020-09-29 2025-02-03 45 13 64742097+samirbous@users.no... 91139415+shashank-elastic@u...
108 - 2020-06-30 2025-02-19 44 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
108 - 2020-06-30 2025-02-19 43 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
122 - 2020-12-15 2025-02-19 43 11 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
123 - 2020-06-30 2025-02-03 43 13 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
125 - 2020-06-30 2025-02-05 43 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
129 - 2020-09-22 2025-02-03 43 12 64742097+samirbous@users.no... 91139415+shashank-elastic@u...
137 - 2020-09-30 2025-02-19 43 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
143 - 2020-06-30 2025-02-03 43 12 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
143 - 2020-06-30 2025-02-19 43 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
102 - 2020-06-30 2025-02-05 42 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
105 - 2020-06-30 2025-02-19 42 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
121 - 2020-09-22 2025-01-22 42 13 64742097+samirbous@users.no... mikaayenson@users.noreply.g...
130 - 2020-09-22 2025-02-19 42 12 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
148 - 2020-06-30 2025-02-03 42 13 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
239 - 2020-12-08 2025-02-19 42 11 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
52 - 2020-09-29 2025-01-22 41 12 64742097+samirbous@users.no... mikaayenson@users.noreply.g...
83 - 2020-09-22 2024-10-15 41 12 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
112 - 2020-09-22 2025-02-19 41 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
121 - 2020-09-22 2025-02-19 41 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
131 - 2020-06-30 2025-02-25 41 13 31489089+rw-access@users.no... 64742097+samirbous@users.no...
133 - 2020-12-08 2025-02-03 41 10 64742097+samirbous@users.no... 91139415+shashank-elastic@u...
152 - 2020-12-08 2025-02-19 41 11 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
Files With Most Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
105 - 2020-06-30 2025-02-19 50 16 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
152 - 2020-06-30 2025-02-19 51 15 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
definitions.py
in detection_rules/schemas
224 3 2021-03-09 2024-11-04 56 14 brokensound77@users.noreply... 26856693+w0rk3r@users.norep...
158 - 2020-06-30 2025-02-19 55 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
135 - 2020-06-30 2025-02-19 51 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
89 - 2020-06-30 2025-02-19 48 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
108 - 2020-06-30 2025-02-19 43 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
105 - 2020-06-30 2025-02-19 42 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
102 - 2020-06-30 2025-02-05 42 14 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
125 - 2020-06-30 2025-01-22 33 14 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
115 - 2020-06-30 2025-01-22 31 14 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
106 - 2020-06-30 2025-01-22 31 14 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
97 - 2020-06-30 2025-01-22 31 14 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
97 - 2020-06-30 2025-01-22 31 14 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
108 - 2020-06-30 2025-01-22 31 14 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
151 - 2020-06-30 2025-02-19 53 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
159 - 2020-06-30 2025-02-03 51 13 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
160 - 2020-09-22 2025-02-19 51 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
158 - 2020-09-22 2025-02-19 51 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
127 - 2020-06-30 2025-02-19 48 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
155 - 2020-06-30 2025-02-19 47 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
157 - 2020-09-29 2025-02-19 47 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
128 - 2020-06-30 2025-02-05 46 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
88 - 2020-06-30 2025-02-19 46 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
113 - 2020-06-30 2025-02-25 46 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
132 - 2020-09-29 2025-02-03 45 13 64742097+samirbous@users.no... 91139415+shashank-elastic@u...
100 - 2020-06-30 2025-02-19 45 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
108 - 2020-06-30 2025-02-19 44 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
123 - 2020-06-30 2025-02-03 43 13 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
137 - 2020-09-30 2025-02-19 43 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
143 - 2020-06-30 2025-02-19 43 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
125 - 2020-06-30 2025-02-05 43 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
148 - 2020-06-30 2025-02-03 42 13 31489089+rw-access@users.no... 91139415+shashank-elastic@u...
121 - 2020-09-22 2025-01-22 42 13 64742097+samirbous@users.no... mikaayenson@users.noreply.g...
121 - 2020-09-22 2025-02-19 41 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
131 - 2020-06-30 2025-02-25 41 13 31489089+rw-access@users.no... 64742097+samirbous@users.no...
112 - 2020-09-22 2025-02-19 41 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
92 - 2020-09-29 2025-02-19 40 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
88 - 2020-06-30 2025-02-19 40 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
94 - 2020-09-29 2025-02-19 39 13 64742097+samirbous@users.no... 26856693+w0rk3r@users.norep...
100 - 2020-09-22 2025-03-14 38 13 64742097+samirbous@users.no... 64742097+samirbous@users.no...
89 - 2020-10-20 2024-10-15 38 13 brokensound77@users.noreply... 26856693+w0rk3r@users.norep...
94 - 2020-09-28 2025-01-22 38 13 64742097+samirbous@users.no... mikaayenson@users.noreply.g...
113 - 2020-06-30 2025-02-05 37 13 31489089+rw-access@users.no... 26856693+w0rk3r@users.norep...
103 - 2020-12-18 2024-09-25 34 13 brokensound77@users.noreply... mikaayenson@users.noreply.g...
77 - 2020-06-30 2025-01-22 32 13 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
92 - 2020-10-20 2025-01-22 32 13 brokensound77@users.noreply... mikaayenson@users.noreply.g...
67 - 2020-06-30 2025-01-22 30 13 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
111 - 2020-09-30 2025-01-22 27 13 7442091+peasead@users.norep... mikaayenson@users.noreply.g...
82 - 2020-06-30 2025-01-22 23 13 31489089+rw-access@users.no... mikaayenson@users.noreply.g...
Files With Least Contributors (Top 50)
Based on the number of unique email addresses found in commits.

See data for all files...

File# lines# unitscreatedlast modified# changes
(days)
# contributorsfirst
contributor
latest
contributor
config.py
in detection_rules
221 13 2024-08-06 2024-08-28 3 1 119343520+eric-forte-elasti... 119343520+eric-forte-elasti...
exception.py
in detection_rules
199 10 2024-08-06 2024-08-06 1 1 119343520+eric-forte-elasti... 119343520+eric-forte-elasti...
persistence_via_systemd_timers.toml
in hunting/linux/queries
180 - 2024-07-05 2024-07-05 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
__main__.py
in hunting
161 7 2024-10-03 2024-10-03 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
142 - 2025-01-15 2025-01-15 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
132 - 2025-03-11 2025-03-11 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
130 - 2025-02-20 2025-02-20 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
129 - 2025-03-06 2025-03-06 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
126 - 2025-01-15 2025-01-15 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
generic_loader.py
in detection_rules
125 18 2024-08-06 2024-08-06 1 1 119343520+eric-forte-elasti... 119343520+eric-forte-elasti...
124 - 2025-03-06 2025-03-06 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
action_connector.py
in detection_rules
124 6 2024-08-06 2024-08-06 1 1 119343520+eric-forte-elasti... 119343520+eric-forte-elasti...
search.py
in hunting
124 10 2024-10-03 2024-10-03 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
123 - 2025-02-03 2025-02-03 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
121 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...
121 - 2025-03-06 2025-03-06 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
114 - 2025-03-03 2025-03-03 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
114 - 2025-03-06 2025-03-06 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
112 - 2024-11-06 2024-11-09 2 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
evaluator.py
in lib/kql/kql
112 18 2024-03-15 2024-03-15 1 1 mikaayenson@users.noreply.g... mikaayenson@users.noreply.g...
109 - 2025-02-26 2025-02-26 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
109 - 2025-02-28 2025-02-28 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
109 - 2025-03-03 2025-03-03 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
107 - 2025-02-21 2025-02-21 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
107 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...
104 - 2025-01-15 2025-01-15 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
104 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...
103 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...
103 - 2025-02-28 2025-02-28 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
102 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...
markdown.py
in hunting
102 10 2024-10-03 2024-10-03 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
101 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...
101 - 2025-01-29 2025-01-29 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
101 - 2025-03-12 2025-03-12 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
persistence_via_grub_bootloader.toml
in hunting/linux/queries
101 - 2025-01-27 2025-01-27 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
100 - 2025-03-11 2025-03-11 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
100 - 2025-01-31 2025-01-31 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
100 - 2024-03-07 2024-03-07 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
100 - 2025-01-15 2025-01-15 1 1 26856693+w0rk3r@users.norep... 26856693+w0rk3r@users.norep...
98 - 2025-03-11 2025-03-11 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
persistence_via_cron.toml
in hunting/linux/queries
97 - 2024-07-05 2024-07-05 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
96 - 2025-01-17 2025-01-17 1 1 99630311+terrancedejesus@us... 99630311+terrancedejesus@us...
96 - 2025-02-28 2025-02-28 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
95 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...
91 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...
91 - 2025-02-26 2025-02-26 1 1 78494512+aegrah@users.norep... 78494512+aegrah@users.norep...
eql2kql.py
in lib/kql/kql
91 16 2024-03-15 2024-03-15 1 1 mikaayenson@users.noreply.g... mikaayenson@users.noreply.g...
optimizer.py
in lib/kql/kql
91 13 2024-03-15 2024-03-15 1 1 mikaayenson@users.noreply.g... mikaayenson@users.noreply.g...
ast.py
in lib/kql/kql
91 11 2024-03-15 2024-03-15 1 1 mikaayenson@users.noreply.g... mikaayenson@users.noreply.g...
90 - 2025-03-14 2025-03-14 1 1 91139415+shashank-elastic@u... 91139415+shashank-elastic@u...