Cloud, QA en beveiliging

Secure code review: vang fouten in de broncode op

Gjethe beoordeelt uw broncode op beveiligingsfouten die testen van buitenaf kunnen missen: zwakke authenticatie en autorisatie, onveilige verwerking van invoer, blootgestelde secrets, risicovolle dependencies en gevaarlijke patronen. Wij combineren tooling met een handmatige beoordeling door ontwikkelaars en geven u oplossingen die u kunt toepassen.

  • Gratis eerste adviesgesprek
  • Schriftelijke offerte voor uw project
  • Flexibele betaalmijlpalen
✓ build passed

In één oogopslag

Reviews
Web-, mobiele en API-codebases
Methode
Tooling plus handmatige beoordeling door ontwikkelaars
Focus
Authenticatie, invoer, secrets, dependencies
Resultaat
Bevindingen in context, met oplossingen

Definition

Wat is secure code review?

Een secure code review is een onderzoek van de broncode van een applicatie om beveiligingszwaktes te vinden, door de code en de logica te lezen in plaats van alleen het draaiende systeem van buitenaf te testen.

Sommige zwakke plekken zijn van buitenaf moeilijk te zien maar in de code overduidelijk: een rechtencontrole die is uitgecommentarieerd, een secret dat in de repository is gecommit, invoer die rechtstreeks in een query wordt doorgegeven, een bibliotheek met een bekende fout. Een secure code review leest de broncode zoals een zorgvuldige collega dat zou doen, met een combinatie van geautomatiseerde analyse en een handmatige beoordeling door ontwikkelaars die de door u gebruikte frameworks kennen. Het combineert goed met een penetratietest: de test laat zien wat bereikbaar is, de review laat zien waarom, en samen dekken ze veel meer dan elk afzonderlijk.

Voor wie is het?

  • Ontwikkelteams voor een release

    Een review vóór oplevering vangt fouten op zolang ze goedkoop zijn om op te lossen.

  • Producten die gevoelige data verwerken

    Als er veel op het spel staat, geeft het lezen van de code zekerheid die een black box-test niet kan geven.

  • Teams die een codebase hebben geërfd

    Een review brengt de beveiligingsstatus in kaart van code die u niet zelf schreef, voordat u erop voortbouwt.

  • Bedrijven die due diligence doorlopen

    Investeerders en overnemers vragen steeds vaker naar codekwaliteit en beveiliging.

Wat is inbegrepen en wat u houdt

Wat is inbegrepen

  • Afgesproken scope en toegang tot de repository
  • Geautomatiseerde statische analyse van de codebase
  • Review van dependency- en licentierisico's
  • Scannen van de historie op secrets en inloggegevens
  • Handmatige review van authenticatie en sessies
  • Handmatige review van autorisatie en toegangscontroles
  • Review van verwerking van invoer en uitvoer
  • Review van gegevensverwerking en opslag
  • Review van risicovolle patronen en verkeerd gebruik van frameworks
  • Bevindingen in context getoond, met coderverwijzingen
  • Richtlijnen voor oplossing bij elke bevinding
  • Een reviewgesprek met uw ontwikkelaars

Wat u ontvangt

Aan het einde overgedragen. Van u om te houden.

  • Rapport secure code review
  • Bevindingen met verwijzingen naar bestand en regel
  • Ernstclassificatie en oplossing bij elke bevinding
  • Bevindingen over dependencies en secrets
  • Reviewgesprek met ontwikkelaars

Waar wij in de code naar zoeken

  • Rechtencontroles die ontbreken, worden omzeild of inconsistent zijn
  • Gebruikersinvoer gebruikt in queries, commando's of templates
  • Secrets, sleutels of wachtwoorden in de repository gecommit
  • Zwakke afhandeling van wachtwoorden, sessies of tokens
  • Gevoelige data gelogd of zonder bescherming opgeslagen
  • Verouderde of risicovolle dependencies van derden
  • Onveilige bestandsverwerking, uploads of deserialisatie
  • Foutafhandeling die interne details lekt

Waarom code review en testen het best samenwerken

Een penetratietest vertelt wat een aanvaller van buitenaf kan bereiken. Een code review vertelt waarom de zwakke plek bestaat en of dezelfde fout elders wordt herhaald. Eén foutief patroon, gekopieerd over veel functies, kan in een test als één bevinding verschijnen maar in een review als de grondoorzaak.

Het lezen van de code bereikt ook plekken waar tests moeilijk komen: zelden gebruikte paden, functies alleen voor beheerders, achtergrondtaken en foutvertakkingen. Wij combineren statische analyse, die snel en breed is, met handmatig lezen door ontwikkelaars, dat intentie en context begrijpt, zodat de bevindingen juist zijn en de oplossingen passen bij hoe uw applicatie echt is gebouwd.

Bevindingen waar u iets mee kunt, geen muur van waarschuwingen

Richt een tool voor statische analyse op een codebase en die levert vaak honderden waarschuwingen op. Veel zijn niet van toepassing, sommige zijn duplicaten en een paar zijn echt ernstig, maar begraven. Ruw overgedragen wordt die uitvoer eerder genegeerd dan opgelost, en blijven de echte problemen bestaan. De waarde van een review zit in de triage: beslissen wat in uw applicatie echt uitbuitbaar is, en waarom.

Daarom leest ons rapport als aantekeningen van een senior engineer en niet als een tooldump. Elke bevinding wijst naar het exacte bestand en de exacte regel, legt het risico in context uit, beoordeelt hoe ernstig het is en toont de wijziging die het oplost. Waar dezelfde fout op meerdere plekken voorkomt, zeggen wij dat, omdat het patroon één keer oplossen beter is dan tien symptomen te verhelpen. Het resultaat is een lijst die uw ontwikkelaars in volgorde van prioriteit kunnen doorwerken en daadwerkelijk afronden.

Omdat wij een ontwikkelteam zijn, kunnen we verder gaan dan rapporteren. We kunnen zelf de pull requests openen, of de oplossingen van uw team beoordelen, zodat de zwakke plekken worden gedicht en niet alleen vastgelegd.

Hoe secure code review werkt, stap voor stap

Elke stap heeft een duidelijk resultaat dat u kunt beoordelen. De planning wordt afgesproken in uw offerte.

  1. 1

    Scope

    Repositories, talen, frameworks en prioriteiten schriftelijk afgesproken.

  2. 2

    Voorbereiden

    Leestoegang tot de code en een korte uitleg van de architectuur.

  3. 3

    Analyse

    Statische analyse en scannen van dependencies en secrets over de hele codebase.

  4. 4

    Beoordeling

    Handmatig lezen van de beveiligingskritieke code door ontwikkelaars.

  5. 5

    Rapport

    Bevindingen in context, met verwijzingen, ernst en oplossingen.

  6. 6

    Nabespreking

    Een gesprek om uw ontwikkelaars door de bevindingen te leiden.

Tools, en wat uw offerte bepaalt

De prijs hangt af van uw project en wordt afgesproken in uw offerte. Dit zijn de zaken die hem beïnvloeden.

Secure code review: prijsfactoren
FactorWaarom het ertoe doet
Omvang van de codebaseMeer code en meer talen betekenen meer om te analyseren en te lezen.
Talen en frameworksSommige stacks vragen om gespecialiseerde reviewkennis en tooling.
Diepgang van de reviewEen gerichte review van kritieke modules verschilt van het lezen van de volledige codebase.
Codekwaliteit en historieEen verwarde codebase of een lange historie kost meer tijd om veilig te beoordelen.
Ondersteuning bij oplossingenOplossingen doorvoeren in plaats van alleen rapporteren kost extra inspanning.

Veelgemaakte fouten die u moet vermijden

Wat we het vaakst mis zien gaan, en hoe een goed project dat voorkomt.

  • Alleen op statische analyse vertrouwen

    Tools markeren patronen maar missen intentie en logicafouten; handmatig lezen vangt op wat zij niet kunnen.

  • De commitgeschiedenis negeren

    Secrets die uit de nieuwste code zijn verwijderd, staan vaak nog in de historie van de repository.

  • Alleen nieuwe code beoordelen

    Ernstige fouten zitten vaak in oude, vertrouwde modules waar al jaren niemand naar heeft gekeken.

  • Dependencies ongecontroleerd laten

    De meeste applicaties draaien veel meer code van derden dan eigen code; hun zwakke plekken zijn ook de uwe.

Veelgestelde vragen

Hoe krijgt u veilig toegang tot onze code?

Via leestoegang die u verleent en intrekt, onder een NDA. Wij kunnen desgewenst in uw eigen omgeving beoordelen en houden na de opdracht geen kopie.

Welke talen beoordeelt u?

Meestal JavaScript en TypeScript, Python, PHP en de frameworks die erop zijn gebouwd. Vertel ons uw stack en wij bevestigen de match voordat we beginnen.

Is een code review beter dan een penetratietest?

Ze beantwoorden verschillende vragen en zijn het sterkst samen. De test laat zien wat bereikbaar is; de review laat zien waarom en of het patroon zich herhaalt.

Controleert u onze dependencies?

Ja. Wij beoordelen bibliotheken van derden op bekende zwakke plekken en licentierisico's, omdat de meeste applicaties er sterk van afhangen.

Vindt u hardgecodeerde secrets?

Wij scannen de code en de historie op gecommitte sleutels, wachtwoorden en tokens en adviseren over het roteren van alles wat is blootgesteld.

Kunt u oplossen wat u vindt?

Ja. Als ontwikkelteam kunnen wij de oplossingen doorvoeren of samen met uw ontwikkelaars toepassen.

Beoordeelt u de code van mobiele apps?

Ja, voor gangbare mobiele stacks, inclusief hoe de app data opslaat en met de backend communiceert.

Tekent u een NDA?

Ja, vóór elke toegang tot uw code. De voorwaarden worden schriftelijk afgesproken en bevindingen worden alleen gedeeld met de personen die u aanwijst.

Hoeveel van onze codebase leest u?

Zoveel als de scope toelaat. Bij een gerichte review concentreren wij ons op de beveiligingskritieke delen: alles wat authenticatie, rechten, betalingen en persoonsgegevens raakt. Bij een volledige review lezen we de hele codebase.

Vind de fouten in uw broncode.

Vertel ons wat u nodig hebt. U krijgt een eerlijke beoordeling, een duidelijk plan en een schriftelijke offerte. Het eerste adviesgesprek is altijd gratis.

  1. Wat er daarna gebeurt
  2. 1U vertelt ons wat u nodig hebt
  3. 2We streven ernaar binnen 24 uur te reageren met vragen
  4. 3U ontvangt een schriftelijke offerte voor uw project