Metodologia benchmarkului

Ce măsurăm, ce nu măsurăm și de ce

Benchmarkul există pentru a fi verificat, nu admirat. Această pagină îi precizează perimetrul exact: ce acoperă cifrele publicate, ce omit deliberat și care dintre capabilitățile noastre nu pot fi reduse onest la un procent.

Ce măsoară benchmarkul

O singură întrebare, pusă asupra unui corpus versionat de proiecte judecate manual: dat fiind un fișier despre care am decis deja, raportează motorul vulnerabilitatea care se află acolo, pe linia corectă, fără a raporta lucruri care nu există?

Un corpus versionat
Fiecare caz este un mic proiect care conține cel mai mic cod care manifestă, sau evită în siguranță, o singură vulnerabilitate. Fiecare poartă un comentariu care spune ce este greșit, ce se așteaptă și de ce. Corpusul este versionat: o modificare adusă lui este o modificare a cifrelor publicate.
Adevărul de referință scris despre cod
Rezultatul așteptat este o judecată despre cod, decisă înainte ca motorul să ruleze, niciodată o descriere a ceea ce a produs motorul. Când cele două nu concordă, investigăm mai întâi motorul. O etichetă scrisă ca să se potrivească cu ieșirea motorului nu măsoară nimic, și a trebuit să corectăm etichete care alunecaseră în acea direcție.
Lanțul care se livrează
Fiecare caz este analizat exact așa cum rulează o scanare de client: orchestratorul complet la adâncime maximă, fără scanere externe, fără model în buclă. Cifrele descriu motorul livrat identic peste tot, nu o configurație de laborator asamblată pentru ocazie.
Cod corect, în mod deliberat
O treime din corpus este cod care nu este vulnerabil, în mare parte forma corectată a unui caz care este. Un corpus alcătuit doar din vulnerabilități nu poate detecta un fals pozitiv, iar fals pozitivele sunt cele care fac ca un instrument de securitate să nu mai fie citit.

Ce nu măsoară benchmarkul

Cybseco le livrează. Nicio cifră de pe pagina benchmarkului nu le descrie, și fiecare își poartă motivul. O capabilitate omisă în tăcere este o capabilitate despre care cititorul presupune că a fost acoperită de cifre.

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

De ce unele capabilități nu sunt un procent

Detecția are un răspuns corect: vulnerabilitatea este pe acea linie sau nu este. O parte din ceea ce face Cybseco formulează un alt fel de afirmație, iar precizia și acoperirea nu o pot exprima. A publica totuși o cifră ar fi cel mai ușor lucru de pe această pagină și cea mai rapidă cale de a pierde discuția cu cineva care citește atent.

Graful de arhitectură
O afirmație factuală: aceste active există și aceste relații există între ele. Măsurabilă, și primul lucru pe care intenționăm să îl măsurăm. Necesită un corpus de depozite complete adnotate manual, doi evaluatori independenți și acordul dintre ei publicat alături de scor. Orice altceva mai puțin măsoară procesul de adnotare, nu extractorul.
Căi de atac
Factuale, dar doar după ce cineva precizează cu ce pornește atacatorul. „Un atacator poate ajunge la baza de date” nu este nici adevărat, nici fals până nu spuneți dacă pornește ca vizitator anonim, utilizator autentificat sau runner de build compromis. Același motor are dreptate sub o presupunere și greșește sub alta, așa că o cifră fără acea presupunere tipărită alături nu este reproductibilă.
Prioritizare contextuală
O afirmație despre ce contează mai mult, și nu există niciun fapt independent de un obiectiv. Un startup înainte de venituri și o bancă reglementată citesc același depozit și au amândouă dreptate să îl ierarhizeze diferit. Orice ordine corectă pe care am publica-o ar fi propria noastră opinie de produs, validată față de un adevăr de referință scris tot de noi.
Motorul de decizie
Acționează acum, planifică, verifică: o recomandare raportată la o politică, iar politica este o decizie de produs. Putem testa că își respectă propria politică, că niciun rezultat nu este eliminat în tăcere și că fiecare recomandare citează o dovadă care există. Acesta este un test de conformitate. A-l numi acuratețe ar invita exact lectura greșită pe care această pagină este scrisă să o prevină.

Cum se citesc cifrele

Patru lucruri de știut înainte de a trage o concluzie din orice cifră singulară de pe pagina benchmarkului.

Mărimea eșantionului înaintea procentului
Fiecare strat arată din câte rezultate i-a fost calculată precizia. Straturile cu eșantioane mici sunt cele adăugate recent, iar cifrele lor se vor mișca pe măsură ce corpusul lor crește. Acest lucru contează împotriva rândurilor măgulitoare la fel de mult ca împotriva celui incomod: un scor perfect din nouă rezultate este o afirmație slabă, nu una puternică.
Fiecare fals pozitiv este publicat
Rezultatele pe care motorul le produce pe cod care nu este vulnerabil sunt listate împreună cu analizorul vinovat și motivul pentru care rezultatul este greșit. Sunt numărate împotriva preciziei, niciodată excluse din ea. Trei dintre ele se declanșează chiar pe măsura de remediere pe care regula însăși o recomandă, exact tipul de defect pentru a cărui scoatere la iveală, nu absorbție, există un benchmark.
Stratul LLM analizează codul dumneavoastră
Citește propriul cod de integrare al unei aplicații pentru greșeli legate de LLM și agenți: ieșire de model care ajunge într-un shell, o credențială plasată într-un prompt, un instrument de agent care poate rula orice. Nu este o măsură a unei inteligențe artificiale din interiorul Cybseco. Acest benchmark rulează motorul determinist fără niciun model în buclă.
Lacunele cunoscute sunt numite
O vulnerabilitate care este reală și în afara razei actuale a motorului este consemnată ca lacună acceptată, exclusă din acoperire și listată. Consemnarea unei limite este modul în care o îmbunătățire viitoare apare ca un câștig măsurat în loc să fie pretinsă azi.

Regulile la care ne ținem

Acestea sunt constrângeri asupra noastră, nu afirmații despre produs. Ele sunt cele care fac cifrele demne de citit.

  • Orice anunță Cybseco este fie măsurat, fie numit pe această pagină ca fiind în afara domeniului. Nu există o a treia stare, iar o poartă automată pică build-ul când un analizor este livrat fără una sau alta.
  • Adevărul de referință descrie codul și se decide înainte ca motorul să ruleze. O etichetă scrisă ca să se potrivească cu ieșirea motorului nu este o dovadă.
  • O cifră se publică împreună cu eșantionul din care a fost calculată.
  • Un defect pe care îl cunoaștem este publicat, nu exclus din metrică. O poartă pică și atunci când un defect publicat încetează în tăcere să se mai reproducă, astfel încât lista poate scădea doar onest.
  • Nicio comparație cu alt produs pe capabilități unde noi am alege configurația lor, corpusul lor și scenariul. Nimeni nu ar trebui să creadă o astfel de comparație, nici noi.
  • Nicio cifră înainte ca metodologia ei să fie publică și adevărul ei de referință inspectabil.

Vezi cum raționează Cybseco despre un sistem real

Urmărește demonstrația interactivă, apoi solicită o perioadă de probă ghidată pentru echipa ta.