Metodologija mjerenja

Što mjerimo, što ne mjerimo i zašto

Mjerenje postoji da bi se provjerilo, a ne da bi mu se divilo. Ova stranica navodi njegov točan opseg: što objavljene brojke pokrivaju, što namjerno izostavljaju i koje se od naših sposobnosti ne mogu pošteno svesti na postotak.

Što mjerenje mjeri

Jedno pitanje, postavljeno nad verzioniranim korpusom ručno prosuđenih projekata: kod datoteke o kojoj smo već odlučili, prijavljuje li pogon ranjivost koja je tamo, u pravom retku, bez prijavljivanja stvari kojih nema?

Verzionirani korpus
Svaki je slučaj mali projekt koji sadrži najmanji kod koji pokazuje ili sigurno izbjegava jednu ranjivost. Svaki nosi komentar koji kaže što nije u redu, što se očekuje i zašto. Korpus je verzioniran: promjena u njemu je promjena objavljenih brojki.
Referentna istina napisana o kodu
Očekivani je rezultat prosudba o kodu, donesena prije nego što se pogon pokrene, nikada opis onoga što je pogon proizveo. Kad se to dvoje razilazi, prvo istražujemo pogon. Oznaka napisana tako da odgovara izlazu pogona ne mjeri ništa, a morali smo ispraviti oznake koje su odlutale u tom smjeru.
Cjevovod koji se isporučuje
Svaki se slučaj analizira onako kako teče korisničko skeniranje: puni orkestrator na najvećoj dubini, bez vanjskih skenera, bez modela u petlji. Brojke opisuju pogon koji se svugdje isporučuje jednak, a ne laboratorijsku konfiguraciju sastavljenu za tu prigodu.
Ispravan kod, namjerno
Trećina korpusa je kod koji nije ranjiv, većinom ispravljeni oblik slučaja koji jest. Korpus sastavljen samo od ranjivosti ne može otkriti lažno pozitivan nalaz, a upravo lažno pozitivni nalazi čine da se sigurnosni alat prestane čitati.

Što mjerenje ne mjeri

Cybseco ih isporučuje. Nijedna brojka na stranici mjerenja ih ne opisuje, a svaka nosi svoj razlog. Sposobnost prešutno izostavljena sposobnost je za koju čitatelj pretpostavlja da su je brojke pokrile.

  • 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.

Zašto neke sposobnosti nisu postotak

Otkrivanje ima točan odgovor: ranjivost je u tom retku ili nije. Dio onoga što Cybseco radi iznosi drukčiju tvrdnju, a preciznost i odziv to ne mogu izraziti. Objaviti brojku unatoč tome bilo bi najlakše na ovoj stranici i najbrži način da se izgubi rasprava s nekim tko čita pažljivo.

Arhitekturni graf
Činjenična tvrdnja: ova sredstva postoje i među njima vrijede ovi odnosi. Mjerljivo, i prvo što namjeravamo izmjeriti. Za to je potreban korpus cjelovitih repozitorija označenih ručno, dva nezavisna ocjenjivača i slaganje među njima objavljeno uz rezultat. Bilo što manje mjeri postupak označavanja, a ne ekstraktor.
Putovi napada
Činjenični, ali tek kad netko navede s čime napadač počinje. „Napadač može doprijeti do baze podataka” nije ni istinito ni neistinito dok ne kažete počinje li kao anoniman posjetitelj, ovjeren korisnik ili kompromitiran build runner. Isti je pogon u pravu pod jednom pretpostavkom, a u krivu pod drugom, pa brojka bez te pretpostavke otisnute pokraj nije ponovljiva.
Kontekstualno određivanje prioriteta
Tvrdnja o tome što je važnije, a nikakve činjenice o tome nema neovisno o cilju. Startup prije prihoda i regulirana banka čitaju isti repozitorij i oboje su u pravu kad ga poredaju drukčije. Bilo koji ispravan redoslijed koji bismo objavili bio bi naše vlastito mišljenje o proizvodu, potvrđeno prema referentnoj istini koju smo također sami napisali.
Pogon odlučivanja
Djeluj odmah, planiraj, provjeri: preporuka prema politici, a politika je odluka o proizvodu. Možemo testirati da se drži vlastite politike, da nijedan nalaz nije tiho odbačen i da svaka preporuka navodi dokaz koji postoji. To je test sukladnosti. Nazvati to točnošću pozvalo bi upravo ono pogrešno čitanje koje ova stranica nastoji spriječiti.

Kako čitati brojke

Četiri stvari koje vrijedi znati prije nego iz bilo koje pojedinačne brojke na stranici mjerenja izvučete zaključak.

Veličina uzorka prije postotka
Svaki sloj pokazuje iz koliko je nalaza izračunata njegova preciznost. Slojevi s malim uzorcima nedavno su dodani i njihove će se brojke pomicati kako im korpus raste. To ide protiv laskavih redaka jednako kao i protiv onog neugodnog: savršen rezultat iz devet nalaza slaba je tvrdnja, a ne jaka.
Svaki lažno pozitivan nalaz se objavljuje
Nalazi koje pogon proizvede na kodu koji nije ranjiv navedeni su s analizatorom koji je pogriješio i razlogom zbog kojeg je nalaz netočan. Broje se protiv preciznosti, nikad se iz nje ne isključuju. Tri od njih okidaju upravo na mjeri koju samo pravilo preporučuje, a to je točno ona vrsta nedostatka zbog čijeg izlaganja, a ne upijanja, mjerenje i postoji.
Sloj LLM-a analizira vaš kod
Čita vlastiti integracijski kod aplikacije u potrazi za pogreškama u LLM-u i agentima: izlaz modela koji dospije do ljuske, vjerodajnica stavljena u upit, agentni alat koji može pokrenuti bilo što. Nije mjera umjetne inteligencije unutar Cybsecoa. Ovo mjerenje pokreće deterministički pogon bez modela u petlji.
Poznati nedostaci su imenovani
Ranjivost koja je stvarna i izvan trenutnog dosega pogona bilježi se kao prihvaćeni nedostatak, isključuje iz odziva i navodi. Bilježenje granice način je na koji se buduće poboljšanje pokaže kao izmjeren dobitak umjesto da se tvrdi već danas.

Pravila kojih se držimo

To su ograničenja za nas, a ne tvrdnje o proizvodu. Upravo ona čine brojke vrijednima čitanja.

  • Sve što Cybseco objavi ili je izmjereno ili je na ovoj stranici imenovano kao izvan opsega. Trećeg stanja nema, a automatska kontrola ruši build kad se analizator isporuči bez jednoga ili drugoga.
  • Referentna istina opisuje kod i donosi se prije nego što se pogon pokrene. Oznaka napisana tako da odgovara izlazu pogona nije dokaz.
  • Brojka se objavljuje s uzorkom iz kojeg je izračunata.
  • Nedostatak za koji znamo objavljujemo, ne isključujemo ga iz mjere. Kontrola pada i kad se objavljeni nedostatak tiho prestane ponavljati, pa se popis može smanjivati samo pošteno.
  • Nikakve usporedbe s drugim proizvodom na sposobnostima gdje bismo mi birali njihovu konfiguraciju, njihov korpus i scenarij. Takvoj usporedbi ne bi trebao vjerovati nitko, ni mi.
  • Nikakve brojke prije nego što je njezina metodologija javna, a referentna istina provjerljiva.

Pogledajte kako Cybseco zaključuje o stvarnom sustavu

Pogledajte interaktivni demo, a zatim zatražite vođenu probu za svoj tim.