Repository navigation
Commit c2b908c
committed
Add rules and a reasoning pass for weaknesses the code patterns missed
Twenty three new code rules, each written for a class of weakness rather
than one application: checks that return true before checking anything,
CSV exports without formula neutralizing, redirects followed after checking
only the first address, a host checked and then fetched by name, certificate
checking turned off, secrets on a command line, headers set for a whole
browser session, links printed with HTML escaping only, strip_tags and
regular expressions used as sanitizers, archives read without a size limit,
SAML responses not tied to a sign in, privileged containers, and editor
settings a workspace can redirect. Fixtures say what each rule must find
and what it must leave alone.
Code reasoning, on the AI page and off by default, asks the model about the
request handlers that take an id or do something privileged, with the access
checks they call and nothing else. Answers are cached against exactly what
was sent, only high severity claims get a second question, and a monthly
token limit is checked before every question. It only adds findings for a
person to confirm, and a scan never closes them.
Three read only dynamic rules: a sign in form that sends the password in the
address, single sign on discovery that names plain http addresses, and a
session cookie sent on requests from other sites. The rule language gains
body_matches and cookie_matches, both bounded.1 parent 304c603 commit c2b908c
16 files changed
Lines changed: 1573 additions & 7 deletions
File tree
- app
- core
- dast_checks
- curated
- web
- templates
- config
- documentation
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
110 | 123 | | |
111 | 124 | | |
112 | 125 | | |
| |||
190 | 203 | | |
191 | 204 | | |
192 | 205 | | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
193 | 212 | | |
194 | 213 | | |
195 | 214 | | |
| |||
295 | 314 | | |
296 | 315 | | |
297 | 316 | | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
298 | 329 | | |
299 | 330 | | |
300 | 331 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1106 | 1106 | | |
1107 | 1107 | | |
1108 | 1108 | | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
1109 | 1112 | | |
1110 | 1113 | | |
1111 | 1114 | | |
| |||
1169 | 1172 | | |
1170 | 1173 | | |
1171 | 1174 | | |
1172 | | - | |
| 1175 | + | |
1173 | 1176 | | |
1174 | 1177 | | |
1175 | 1178 | | |
| |||
1184 | 1187 | | |
1185 | 1188 | | |
1186 | 1189 | | |
1187 | | - | |
| 1190 | + | |
1188 | 1191 | | |
1189 | 1192 | | |
1190 | 1193 | | |
1191 | 1194 | | |
1192 | 1195 | | |
1193 | | - | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
1194 | 1199 | | |
1195 | 1200 | | |
1196 | 1201 | | |
| |||
0 commit comments