Een rapport lezen
Wat de risicoscore betekent, hoe ernstgraad wordt toegekend en waarvoor elk onderdeel van een bevinding dient.
Een rapport opent met een samenvatting, risicoscore en telling, gevolgd door bevindingen van meest naar minst ernstig. Alles onder de samenvatting is geschreven om te handelen, niet alleen om te lezen.
Risicoscore
De risicoscore loopt van 0 tot 100 en geeft aan hoe blootgesteld deze code is: het weegt de ernstigste bevindingen veel zwaarder dan het aantal bevindingen. Een enkel kritiek, op afstand exploiteerbaar probleem scoort hoger dan een dozijn lage-ernst-bevindingen. Gebruik het om een repository in de loop van de tijd met zichzelf te vergelijken; het is geen benchmark tegen andere codebases.
Ernstgraad
- Kritiek — op afstand exploiteerbaar, leidt tot externe code-uitvoering, authenticatieomzeiling, volledige gegevenscompromittering of gelekt productiegeheim.
- Hoog — een serieus zwakpunt dat een specifieke voorwaarde vereist, zoals een geverifieerde sessie of een bepaald invoerpad.
- Gemiddeld — echt maar beperkt: het vereist een onwaarschijnlijke voorwaarde of de schade is beperkt.
- Laag — hygiëne en versterking: het waard om op te lossen, niet waard om iemand 's nachts wakker te maken.
- Info — een observatie zonder directe beveiligingsgevolgen.
Binnen een bevinding
Elke bevinding is opgesteld zodat u deze kunt beoordelen zonder blind vertrouwen:
- Locatie — het bestand en het bereik van regels waar het probleem zich bevindt.
- Bewijs — de exacte code geciteerd uit uw repository. Als het bewijs niet overeenkomt met het bestand, is de bevinding onjuist; dat is het punt van citeren.
- Beschrijving — wat er mis is, geschreven voor een ontwikkelaar die deze code niet heeft geschreven.
- Impact — wat een aanvaller eraan heeft en wat hij eerst nodig heeft.
- Hoe op te lossen — geordende stappen, geen algemeen advies.
- Patch — gecorrigeerde code geschreven tegen de geciteerde code, klaar om aan te passen.
- Hoe te verifiëren — de controle die u vertelt dat de oplossing werkt, dus u hoeft niet te gissen.
- Referenties — één tot drie gezaghebbende links, zoals de CWE-vermelding of de eigen documentatie van de bibliotheek.
- Vertrouwen — hoe zeker de auditor is. Laag vertrouwen betekent dat de bevinding afhangt van context die de audit niet kon zien.
CWE-mapping
Bevindingen dragen een CWE-identificatie waar van toepassing. De CWE is wat uw bevindingen aan de rest van het systeem koppelt: het bepaalt de kwetsbaarheidsverdeling op het dashboard, de CVE-feedfilters en de sleutel die een uitsluiting over audits heen aan dezelfde zaak bindt.
Exporteren
Elk rapport kan als Markdown worden gekopieerd of gedownload, met patches in omheinde codeblokken, wat handig is om in een issue tracker of pull request-beschrijving te plakken. De bevindingensverkenner exporteert ook CSV over repositories.
Een rapport delen
Een voltooid rapport kan aan iemand zonder account worden gegeven: de deelknop kopieert een alleen-lezen link die zijn eigen handtekening en vervaldatum bevat. De pagina die deze opent, toont het rapport en niets anders — geen ontslaan, geen accountgegevens — en de link werkt na zeven dagen niet meer. Iedereen met de link kan het rapport lezen, dus behandel het als de code die het beschrijft.
Taal
Rapporten worden geschreven in de taal die u gebruikte toen u de audit startte. Code, bestandspaden, CWE-identificaties, patches en referentielinks blijven zoals ze zijn — alleen de proza wordt vertaald.