Metodologija merjenja

Kaj merimo, česa ne in zakaj

Merjenje obstaja zato, da se preveri, ne da se občuduje. Ta stran navaja njegov natančen obseg: kaj objavljene številke pokrivajo, kaj namerno izpuščajo in katerih naših zmožnosti ni mogoče pošteno zvesti na odstotek.

Kaj merjenje meri

Eno vprašanje, zastavljeno nad verzioniranim korpusom ročno presojenih projektov: ali pogon pri datoteki, o kateri smo že odločili, poroča ranljivost, ki je tam, v pravi vrstici, ne da bi poročal stvari, ki jih ni?

Verzioniran korpus
Vsak primer je majhen projekt z najmanjšo kodo, ki izkazuje ali varno prepreči eno ranljivost. Vsak nosi komentar, ki pove, kaj je narobe, kaj se pričakuje in zakaj. Korpus je verzioniran: sprememba v njem je sprememba objavljenih številk.
Referenčna resnica, zapisana o kodi
Pričakovani rezultat je presoja o kodi, določena preden se pogon zažene, nikoli opis tega, kar je pogon ustvaril. Ko se to dvoje razhaja, najprej preiščemo pogon. Oznaka, napisana tako, da se ujema z izhodom pogona, ne meri ničesar, in morali smo popraviti oznake, ki so zdrsnile v to smer.
Cevovod, ki se dobavlja
Vsak primer se analizira tako, kot teče strankin pregled: polni orkestrator na največji globini, brez zunanjih pregledovalnikov, brez modela v zanki. Številke opisujejo pogon, ki je povsod dobavljen enak, ne laboratorijske konfiguracije, sestavljene za to priložnost.
Pravilna koda, namerno
Tretjina korpusa je koda, ki ni ranljiva, večinoma popravljena oblika primera, ki je. Korpus samih ranljivosti ne more zaznati lažno pozitivnega izsledka, in prav lažno pozitivni izsledki so tisto, zaradi česar se varnostno orodje neha brati.

Česa merjenje ne meri

Cybseco jih dobavlja. Nobena številka na strani merjenja jih ne opisuje in vsaka nosi svoj razlog. Zmožnost, ki je tiho izpuščena, je zmožnost, za katero bralec domneva, da so jo številke 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.

Zakaj nekatere zmožnosti niso odstotek

Zaznava ima pravilen odgovor: ranljivost je v tisti vrstici ali je ni. Del tega, kar Cybseco počne, postavlja drugačno trditev, in natančnost ter priklic je ne moreta izraziti. Objaviti številko kljub temu bi bilo najlažje na tej strani in najhitrejši način, da izgubite razpravo z nekom, ki bere pozorno.

Arhitekturni graf
Dejstvena trditev: ta sredstva obstajajo in med njimi veljajo ta razmerja. Merljivo, in prva stvar, ki jo nameravamo izmeriti. Zahteva korpus celotnih ročno označenih repozitorijev, dva neodvisna ocenjevalca in skladnost med njima, objavljeno ob rezultatu. Karkoli manj meri proces označevanja in ne ekstraktorja.
Napadalne poti
Dejstvene, a šele ko nekdo navede, s čim napadalec začne. »Napadalec lahko doseže podatkovno bazo« ni ne resnično ne neresnično, dokler ne poveste, ali začne kot anonimen obiskovalec, overjen uporabnik ali kompromitiran gradnik. Isti pogon ima pri eni predpostavki prav in pri drugi ne, zato številka brez te predpostavke ob sebi ni ponovljiva.
Kontekstualno prednostno razvrščanje
Trditev o tem, kaj šteje bolj, in nobenega dejstva o tem ni neodvisno od cilja. Startup pred prvimi prihodki in regulirana banka bereta isti repozitorij in imata oba prav, ko ga razvrstita različno. Vsak pravilen vrstni red, ki bi ga objavili, bi bil naše lastno produktno mnenje, potrjeno proti referenčni resnici, ki smo jo prav tako napisali sami.
Odločitveni pogon
Ukrepaj zdaj, načrtuj, preveri: priporočilo glede na politiko, politika pa je produktna odločitev. Lahko preizkusimo, da se drži lastne politike, da noben izsledek ni tiho opuščen in da vsako priporočilo navaja dokaz, ki obstaja. To je preizkus skladnosti. Imenovati to natančnost bi povabilo prav tisto napačno branje, ki naj bi ga ta stran preprečila.

Kako brati številke

Štiri stvari, ki jih je vredno vedeti, preden iz katere koli posamezne številke na strani merjenja potegnete sklep.

Velikost vzorca pred odstotkom
Vsaka plast pokaže, iz koliko izsledkov je bila izračunana njena natančnost. Plasti z majhnimi vzorci so nedavno dodane in njihove številke se bodo z rastjo korpusa premaknile. To govori proti laskavim vrsticam prav tako kot proti neprijetni: popoln rezultat iz devetih izsledkov je šibka trditev, ne močna.
Vsak lažno pozitiven izsledek je objavljen
Izsledki, ki jih pogon ustvari na kodi, ki ni ranljiva, so navedeni skupaj z analizatorjem, ki je zgrešil, in razlogom, zakaj je izsledek napačen. Štejejo se proti natančnosti, nikoli se iz nje ne izključijo. Trije med njimi se sprožijo prav na ukrepu, ki ga pravilo samo priporoča, kar je natanko tista vrsta napake, ki naj bi jo merjenje razkrilo, ne pa vsrkalo.
Plast LLM analizira vašo kodo
Bere lastno integracijsko kodo aplikacije glede napak pri LLM in agentih: izhod modela, ki doseže lupino, poverilnica, postavljena v poziv, agentno orodje, ki lahko zažene karkoli. Ni merilo za umetno inteligenco znotraj Cybsecoa. To merjenje poganja deterministični pogon brez modela v zanki.
Znane vrzeli so poimenovane
Ranljivost, ki je resnična in zunaj trenutnega dosega pogona, se zabeleži kot sprejeta vrzel, izključi iz priklica in navede. Beleženje meje je način, kako se prihodnja izboljšava pokaže kot izmerjen napredek, namesto da bi jo zatrjevali danes.

Pravila, ki jih nalagamo sebi

To so omejitve za nas, ne trditve o izdelku. Prav one naredijo številke vredne branja.

  • Karkoli Cybseco objavi, je bodisi izmerjeno bodisi na tej strani poimenovano kot zunaj obsega. Tretjega stanja ni, in samodejna kontrola zruši gradnjo, ko je analizator dobavljen brez enega ali drugega.
  • Referenčna resnica opisuje kodo in je določena preden se pogon zažene. Oznaka, napisana tako, da se ujema z izhodom pogona, ni dokaz.
  • Številka se objavi skupaj z vzorcem, iz katerega je bila izračunana.
  • Napako, za katero vemo, objavimo, ne izključimo je iz metrike. Kontrola prav tako pade, ko se objavljena napaka tiho preneha ponavljati, tako da se seznam lahko krajša samo pošteno.
  • Nobene primerjave z drugim izdelkom pri zmožnostih, kjer bi mi izbirali njihovo konfiguracijo, njihov korpus in scenarij. Taki primerjavi ne bi smel verjeti nihče, tudi mi ne.
  • Nobene številke, preden je njena metodologija javna in njena referenčna resnica preverljiva.

Oglejte si, kako Cybseco sklepa o resničnem sistemu

Oglejte si interaktivno predstavitev, nato zahtevajte voden preizkus za svojo ekipo.