Co mierzymy, czego nie mierzymy i dlaczego
Benchmark istnieje po to, by go sprawdzać, a nie podziwiać. Ta strona podaje jego dokładny zakres: co obejmują publikowane liczby, co celowo pomijają i których naszych możliwości nie da się uczciwie sprowadzić do procentu.
Co mierzy benchmark
Jedno pytanie, zadane na wersjonowanym korpusie projektów ocenionych ręcznie: czy dla pliku, o którym już zdecydowaliśmy, silnik zgłasza podatność, która tam jest, we właściwym wierszu, nie zgłaszając rzeczy, których nie ma?
Czego benchmark nie mierzy
Cybseco je dostarcza. Żadna liczba na stronie benchmarku ich nie opisuje, a każda niesie swoje uzasadnienie. Możliwość pominięta po cichu to możliwość, co do której czytelnik zakłada, że liczby ją obejmowały.
- Dependency vulnerabilities (SCA) — Produced by external scanners that read a live vulnerability database. Their output changes when the database changes, with no change to Cybseco, so a precision figure measured today would describe the database rather than the engine and would not reproduce tomorrow.
- Standalone secret scanning — Gitleaks is an external binary and is not installed for this benchmark. Hardcoded credentials found by Cybseco's own analyzers are measured, inside the code and CI/CD layers, under CWE-798 and CWE-532.
- Third-party SAST (Semgrep, Bandit) — An external ruleset Cybseco orchestrates but does not author. Measuring it would report Semgrep's accuracy, not Cybseco's.
- Licence compliance policy — A policy decision about a project's licences, not a judgement about its code. The corpus labels vulnerabilities, so a licence finding has nothing to be right or wrong against here.
- LLM-assisted analysis — Its output depends on a model and a prompt rather than on the engine, and it is not part of the deterministic result this benchmark measures.
- Graph, attack paths, decision engine — A different kind of claim: these produce paths and plans, not findings, so precision and recall over labelled lines cannot express them. The methodology page explains what could be measured, and which of these cannot honestly be reduced to a percentage at all. Publishing a number before the method is settled is how a benchmark stops being evidence.
Dlaczego niektóre możliwości nie są procentem
Wykrywanie ma poprawną odpowiedź: podatność jest w tym wierszu albo jej nie ma. Część tego, co robi Cybseco, formułuje twierdzenie innego rodzaju, a precyzja i czułość nie potrafią go wyrazić. Opublikowanie mimo to jakiejś liczby byłoby najłatwiejszą rzeczą na tej stronie i najszybszym sposobem na przegranie dyskusji z kimś, kto czyta uważnie.
Jak czytać liczby
Cztery rzeczy warte wiedzy, zanim wyciągnie się wniosek z jakiejkolwiek pojedynczej liczby na stronie benchmarku.
Zasady, którym sami podlegamy
To ograniczenia nałożone na nas, a nie twierdzenia o produkcie. To one sprawiają, że liczby warto czytać.
- Wszystko, co Cybseco ogłasza, jest albo zmierzone, albo nazwane na tej stronie jako poza zakresem. Trzeciego stanu nie ma, a automatyczna bramka przerywa build, gdy analizator zostaje dostarczony bez jednego lub drugiego.
- Prawda odniesienia opisuje kod i jest ustalana zanim silnik zostanie uruchomiony. Etykieta napisana tak, by pasowała do wyjścia silnika, nie jest dowodem.
- Liczba jest publikowana wraz z próbą, z której ją obliczono.
- Usterka, o której wiemy, jest publikowana, a nie wyłączana z metryki. Bramka przerywa build także wtedy, gdy opublikowana usterka po cichu przestaje się odtwarzać, dzięki czemu lista może kurczyć się wyłącznie uczciwie.
- Żadnych porównań z innym produktem w obszarach, w których to my wybieralibyśmy jego konfigurację, jego korpus i scenariusz. W takie porównanie nikt nie powinien wierzyć, łącznie z nami.
- Żadnej liczby, zanim jej metodologia nie będzie publiczna, a prawda odniesienia możliwa do sprawdzenia.
Zobacz, jak Cybseco wnioskuje o rzeczywistym systemie
Obejrzyj interaktywne demo, a następnie poproś o prowadzony okres próbny dla swojego zespołu.