Vertailun menetelmä

Mitä mittaamme, mitä emme, ja miksi

Vertailu on olemassa tarkistettavaksi, ei ihailtavaksi. Tämä sivu ilmoittaa sen tarkan kehän: mitä julkaistut luvut kattavat, mitä ne tarkoituksella jättävät pois, ja mitkä kyvykkyytemme eivät rehellisesti taivu prosenttiluvuksi.

Mitä vertailu mittaa

Yksi kysymys, esitettynä versioidulle korpukselle käsin arvioituja projekteja: kun tiedostosta on jo tehty päätös, raportoiko moottori siinä olevan haavoittuvuuden, oikealla rivillä, raportoimatta asioita joita ei ole?

Versioitu korpus
Jokainen tapaus on pieni projekti joka sisältää pienimmän koodin joka ilmentää, tai turvallisesti välttää, yhden haavoittuvuuden. Jokaisessa on kommentti joka kertoo mikä on vialla, mitä odotetaan ja miksi. Korpus on versioitu: muutos siihen on muutos julkaistuihin lukuihin.
Ground truth kirjoitettuna koodista
Odotettu tulos on arvio koodista, päätetty ennen kuin moottori ajetaan, ei koskaan kuvaus siitä mitä moottori tuotti. Kun nämä kaksi ovat ristiriidassa, tutkimme ensin moottorin. Merkintä joka on kirjoitettu vastaamaan moottorin tulostetta ei mittaa mitään, ja olemme joutuneet korjaamaan merkintöjä jotka olivat ajautuneet siihen suuntaan.
Toimitettava pipeline
Jokainen tapaus analysoidaan kuten asiakkaan skannaus ajetaan: täysi orkestroija maksimisyvyydellä, ei ulkoisia skannereita, ei mallia silmukassa. Luvut kuvaavat moottoria joka toimitetaan kaikkialle identtisenä, ei tilaisuutta varten koottua laboratoriokokoonpanoa.
Oikeaa koodia, tarkoituksella
Kolmasosa korpuksesta on koodia joka ei ole haavoittuva, suurin osa siitä korjattu muoto tapauksesta joka on. Pelkistä haavoittuvuuksista koostuva korpus ei voi havaita väärää positiivista, ja väärät positiiviset ovat se mikä saa tietoturvatyökalun jäämään lukematta.

Mitä vertailu ei mittaa

Cybseco toimittaa nämä. Mikään vertailusivun luku ei kuvaa niitä, ja jokaisella on perustelunsa. Hiljaisuudessa pois jätetty kyvykkyys on kyvykkyys jonka lukija olettaa lukujen kattaneen.

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

Miksi jotkin kyvykkyydet eivät ole prosenttiluku

Havaitsemisella on oikea vastaus: haavoittuvuus on sillä rivillä tai ei ole. Osa siitä mitä Cybseco tekee esittää toisenlaisen väitteen, eivätkä tarkkuus ja saanti pysty ilmaisemaan sitä. Luvun julkaiseminen siitä huolimatta olisi helpointa tällä sivulla, ja nopein tapa hävitä väittely tarkasti lukevan kanssa.

Arkkitehtuurigraafi
Asiaväite: nämä resurssit ovat olemassa ja nämä suhteet pätevät niiden välillä. Mitattavissa, ja ensimmäinen asia jonka aiomme mitata. Se vaatii korpuksen kokonaisia käsin annotoituja repositorioita, kaksi riippumatonta arvioijaa, ja heidän välisensä yksimielisyyden julkaistuna pistemäärän vierellä. Mikä tahansa tätä vähäisempi mittaa annotointiprosessia eikä ekstraktoria.
Hyökkäyspolut
Asiapohjaisia, mutta vasta kun joku ilmoittaa mistä hyökkääjä lähtee. ”Hyökkääjä voi päästä tietokantaan” ei ole tosi eikä epätosi ennen kuin sanot alkaako hän anonyyminä vierailijana, todennettuna käyttäjänä vai vaarantuneena build-ajurina. Sama moottori on oikeassa yhden oletuksen vallitessa ja väärässä toisen, joten luku ilman tuota oletusta vierellään ei ole toistettava.
Kontekstuaalinen priorisointi
Väite siitä mikä merkitsee enemmän, eikä tästä ole tosiasiaa riippumatta tavoitteesta. Liikevaihtoa edeltävä startup ja säännelty pankki lukevat saman repositorion ja ovat molemmat oikeassa asettaessaan sen eri järjestykseen. Mikä tahansa oikea järjestys jonka julkaisisimme olisi oma tuotemielipiteemme, validoituna ground truthia vastaan jonka myös itse kirjoitimme.
Päätösmoottori
Toimi nyt, suunnittele, varmista: suositus käytäntöä vasten, ja käytäntö on tuotepäätös. Voimme testata että se noudattaa omaa käytäntöään, ettei yhtään löydöstä pudoteta hiljaisuudessa, ja että jokainen suositus viittaa olemassa olevaan näyttöön. Se on yhdenmukaisuustesti. Sen kutsuminen tarkkuudeksi kutsuisi esiin juuri sen väärinluennan jonka estämiseksi tämä sivu on kirjoitettu.

Miten lukuja luetaan

Neljä asiaa jotka kannattaa tietää ennen kuin teet johtopäätöksen mistään yksittäisestä vertailusivun luvusta.

Otoskoko ennen prosenttia
Jokainen kerros näyttää kuinka monesta löydöksestä sen tarkkuus laskettiin. Pienen otoksen kerrokset ovat hiljattain lisättyjä, ja niiden luvut liikkuvat korpuksen kasvaessa. Tämä puhuu imartelevia rivejä vastaan yhtä lailla kuin kiusallista: täydellinen tulos yhdeksästä löydöksestä on heikko väite, ei vahva.
Jokainen väärä positiivinen julkaistaan
Löydökset joita moottori tuottaa koodista joka ei ole haavoittuva on lueteltu virheen tehneen analysaattorin ja löydöksen virheellisyyden syyn kanssa. Ne lasketaan tarkkuutta vastaan, niitä ei koskaan suljeta siitä pois. Kolme niistä laukeaa juuri siihen korjaukseen jota sääntö itse suosittelee, mikä on täsmälleen sellainen vika jonka esiin nostamiseksi eikä vaimentamiseksi vertailu on olemassa.
LLM-kerros analysoi sinun koodiasi
Se lukee sovelluksen omaa integraatiokoodia LLM- ja agenttivirheiden varalta: mallin tuloste joka päätyy komentotulkkiin, tunnus joka on sijoitettu kehotteeseen, agenttityökalu joka voi ajaa mitä tahansa. Se ei ole mittari Cybsecoin sisäiselle tekoälylle. Tämä vertailu ajaa deterministisen moottorin ilman mallia silmukassa.
Tunnetut aukot nimetään
Haavoittuvuus joka on todellinen ja moottorin nykyisen ulottuvuuden ulkopuolella kirjataan hyväksytyksi aukoksi, suljetaan pois saannista ja luetellaan. Rajan kirjaaminen on tapa jolla tuleva parannus näkyy mitattuna hyötynä sen sijaan että se väitettäisiin tänään.

Säännöt joihin sidomme itsemme

Nämä ovat rajoitteita meille, eivät väitteitä tuotteesta. Ne tekevät luvuista lukemisen arvoisia.

  • Kaikki mitä Cybseco ilmoittaa on joko mitattu tai nimetty tällä sivulla laajuuden ulkopuoliseksi. Kolmatta tilaa ei ole, ja automaattinen portti kaataa buildin kun analysaattori toimitetaan ilman jompaakumpaa.
  • Ground truth kuvaa koodia, päätettynä ennen kuin moottori ajetaan. Merkintä joka on kirjoitettu vastaamaan moottorin tulostetta ei ole näyttöä.
  • Luku julkaistaan sen otoksen kanssa josta se laskettiin.
  • Tuntemamme vika julkaistaan, ei suljeta pois mittarista. Portti kaatuu myös kun julkaistu vika lakkaa hiljaisuudessa toistumasta, joten lista voi kutistua vain rehellisesti.
  • Ei vertailua toiseen tuotteeseen kyvykkyyksillä joissa me valitsisimme heidän kokoonpanonsa, heidän korpuksensa ja skenaarion. Kenenkään ei pitäisi uskoa sellaista vertailua, emme mekään.
  • Ei lukua ennen kuin sen menetelmä on julkinen ja sen ground truth tarkastettavissa.

Näe Cybseco päättelemässä todellisesta järjestelmästä

Katso interaktiivinen demo ja pyydä sitten opastettu kokeilu tiimillesi.