slopticweb app slop checkersign in / up

How does Sloptic find slop?

TL;DR: by checking what any visitor sees and grading on what is wrong no matter what the app is for.

It only looks from the outside

Sloptic never sees your code. It checks the app the way a visitor would over the web. This method works on any app you give it, which is what makes two unrelated apps comparable at all.

What counts as slop?

It has to be wrong in every app. Before a behavior is considered slop, it must answer a simple question: Is there a legitimate app for which this behavior is correct? For example, a table any visitor can read can be right for a product catalogue. Allowing duplicates may be correct for logs but wrong for payment transactions. These examples are cases where an app can legitimately exhibit a particular behavior and thus wouldn't be considered slop.

However, behaviors like exposed secrets, SQL injection, an unhandled server error, or a pathologically slow app, are wrong for any app you come across. No app on earth exists where such behaviors are "correct" and thus these are considered slop and Sloptic docks them.

It has to be proven. An instance of slop rests on something only that instance could produce, with evidence to back it up. Unlike traditional DAST tools, where a false positive can be dismissed with only some wasted time, the slop Sloptic sees must be trustworthy on their own, since (1) the score is meant to be taken at face value, and (2) any human intervention affects the objective nature of Sloptic.

How Sloptic scores

Where the scores come from

A penalty is not a matter of taste. Every number traces to a published authority, and where a finding lands inside that authority's range is set by what the check saw. You can find the full rationale in the open grader.

Different failures answer to different authorities, and only severity sets the number.

Two kinds of checks for slop

Passive checks read what your app already shows every visitor. Running them on a stranger's site is no different from visiting it.

Active checks go looking for holes by sending real attacks (because some instance of slop are security vulnerabilities). Doing that to a site you don't own is considered unauthorized testing, so they only run when ownership is proven. Learn more about domain verification here.

How we validate our checks

Checks are calibrated against apps with known answers because no single target proves much by itself.

What Sloptic can't say

It never says you are safe. A 0 means nothing was found. The score cannot tell a defended thing from an absent one, and it cannot see everything. Hence, you should treat the score as a minimum, not a maximum.

Precision is vouched in places. The classes with precision rules are checked, but the rest are considered unaudited.

The miss rate is not measured yet. The checks are validated for precision, but full recall is difficult due to the diversity of web apps. To compensate, Sloptic checks parity, the range of coverage across apps.