Every check
The catalog is 91 checks across 51 kinds of fault. Each check is a single file in the open grader, and this page is generated from it.
The counts
37 of the 91 run on any URL. The remaining 54 send test traffic, so they run only once you have shown the site is yours.
| area | kinds | runs on any URL | needs verification | total |
|---|---|---|---|---|
| security | 28 | 14 | 43 | 57 |
| accessibility & quality | 15 | 12 | 10 | 22 |
| performance | 8 | 11 | 1 | 12 |
| all | 51 | 37 | 54 | 91 |
The share swings by area because that is where the attack traffic lives. Performance is almost all observation, while security mostly isn't.
security
28 kinds of fault, 57 checks between them. Click on a link to learn more about it.
| what it looks for | checks | runs on |
|---|---|---|
| access control | 7 | verified only |
| security headers | 7 | any URL |
| exposed files | 6 | 1 of 6 on any URL |
| sql injection | 5 | verified only |
| session handling | 4 | verified only |
| cross-site scripting | 2 | verified only |
| exposed data | 2 | 1 of 2 on any URL |
| file uploads | 2 | verified only |
| managed backend rules | 2 | verified only |
| secrets in the shipped code | 2 | any URL |
| command injection | 1 | verified only |
| cross-origin sharing rules | 1 | any URL |
| cross-site request forgery | 1 | verified only |
| debug mode left on | 1 | verified only |
| filter injection | 1 | verified only |
| host header handling | 1 | verified only |
| known-vulnerable dependencies | 1 | any URL |
| login rate limiting | 1 | verified only |
| mixed content | 1 | any URL |
| open redirects | 1 | verified only |
| oversized request handling | 1 | verified only |
| path traversal | 1 | verified only |
| response splitting | 1 | verified only |
| scripting in the browser | 1 | verified only |
| server-side request forgery | 1 | verified only |
| session lifetime | 1 | verified only |
| template injection | 1 | verified only |
| xml external entities | 1 | verified only |
accessibility & quality
15 kinds of fault, 22 checks between them. Click on a link to learn more about it.
| what it looks for | checks | runs on |
|---|---|---|
| honest navigation | 5 | 3 of 5 on any URL |
| accessibility | 2 | any URL |
| data integrity | 2 | verified only |
| race conditions | 2 | verified only |
| broken links | 1 | any URL |
| console errors | 1 | any URL |
| content types | 1 | any URL |
| crash resistance | 1 | verified only |
| crawlability | 1 | any URL |
| dead controls | 1 | verified only |
| development build left online | 1 | any URL |
| error handling | 1 | verified only |
| http conformance | 1 | any URL |
| input validation | 1 | verified only |
| pages that fail quietly | 1 | any URL |
performance
8 kinds of fault, 12 checks between them. Click on a link to learn more about it.
| what it looks for | checks | runs on |
|---|---|---|
| server response speed | 3 | any URL |
| core web vitals | 2 | any URL |
| page weight | 2 | any URL |
| behavior under load | 1 | verified only |
| caching | 1 | any URL |
| compression | 1 | any URL |
| load time | 1 | any URL |
| request count | 1 | any URL |
Why a kind holds several checks
A kind of fault is often represented by several checks because a single technique proving nothing is not the same as the fault being absent. Injection gets tried several ways before Sloptic will say it found nothing. Those still collapse to one finding when they fire, so a kind with five checks cannot cost you five times.