# Security code review

# Je code gelezen door de ogen van een aanvaller.

HackIndex leest je broncode en zoekt naar kwetsbaarheden, ook die je van buitenaf niet ziet. Per bevinding krijg je het bestand, de regel en de oplossing.

**Vanaf € 1.520 excl. btw**. Vaste prijs na het afbakenen van de scope

- **Aanlevering**: Leestoegang tot je repository
- **Resultaat**: Bevindingen met bestand, regel en oplossing
- **Erbij**: AVG-codecheck
- **Start**: In overleg, meestal binnen twee weken
- **Rapport**: Binnen 10 werkdagen na de review
- **Vooraf**: NDA, code alleen voor deze review

[Code review aanvragen](https://hackindex.nl/contact/details?parts=code)

## Herken je dit?

- **De code is snel gegroeid.** Meerdere developers, deadlines en weinig tijd voor review. Een frisse blik vindt wat erin is geslopen.
- **Er komt een codebase over van een andere partij.** Bij een overname of een nieuwe leverancier wil je weten wat je in huis haalt.
- **Een pentest alleen is niet genoeg.** Sommige fouten zijn van buitenaf onzichtbaar. In de code staan ze er gewoon.
- **Een deel van de code is met AI geschreven.** Gegenereerde code werkt vaak, maar slaat controles net zo vaak over.

## Waar in je code gekeken wordt

De review volgt wat er binnenkomt: waar het wordt gecontroleerd, waar het wordt opgeslagen en waar het heen gaat. Kies een onderdeel.

### Applicatie: Toegang

Welke deuren staan er open?

- Onderdelen die bereikbaar zijn zonder in te loggen
- Vergeten test- en debugfuncties

### Applicatie: Invoer van gebruikers

Wordt alles wat binnenkomt gecontroleerd?

- Invoer die zonder controle wordt gebruikt
- Uploads en doorverwijzingen

### Applicatie: Rechten

Mag deze gebruiker dit?

- Controles die ontbreken of te ruim zijn
- Controle op rol, maar niet op wie de eigenaar is
- De scheiding tussen klanten

### Applicatie: Opslag van gegevens

Wat kan er met wat er is opgeslagen?

- Velden die een gebruiker niet hoort te kunnen wijzigen
- Gevoelige gegevens die te makkelijk naar buiten gaan

### Applicatie: Achtergrondtaken

Wat draait er zonder dat iemand kijkt?

- Taken die gegevens verwerken zonder rechten te controleren
- Exports en koppelingen op de achtergrond

### Project: Instellingen

Staan de veilige instellingen aan?

- Test- en debuginstellingen in productie
- Wachtwoorden en sleutels in de code

### Project: Gebruikte packages

Wat haal je binnen?

- Bekende kwetsbaarheden in open-source packages
- Packages die niet meer worden onderhouden

### Project: Geschiedenis van de code

Wat is ooit opgeslagen?

- Wachtwoorden en sleutels in oude versies van de code

## Zo ziet een bevinding eruit

Per bevinding wat er mis is, het bewijs, wat het betekent en hoe je het oplost.

### HI-OP-2026-9HWE-02: Iedere gebruiker kan zichzelf beheerder maken via zijn profiel

- **Ernst**: Hoog, CVSS 4.0 8.7, CVSS 3.1 8.8

Het profielformulier slaat alles op wat wordt meegestuurd, ook het veld dat bepaalt of iemand beheerder is.

```
// app/Http/Controllers/ProfileController.php, regel 42
public function update(Request $request)
{
    $request->user()->update($request->all());
}
```

Een gewone gebruiker kan alle accounts, gegevens en instellingen van het platform beheren. Van buitenaf vind je dit alleen met geluk. In de code staat het er gewoon.

```diff
public function update(UpdateProfileRequest $request)
{
-    $request->user()->update($request->all());
+    $request->user()->update($request->validated());
}
```

Fictief voorbeeld. Echte bevindingen blijven vertrouwelijk.

## Wat er wel en niet in zit

### Onderdeel van de opdracht

- De afgesproken repository of onderdelen
- Toegang, rechten en de omgang met invoer
- Instellingen, sleutels en gebruikte packages
- Een nabespreking met je developers

### Valt erbuiten

- **De draaiende app testen**, daarvoor is een pentest
- **Codekwaliteit en stijl**, het gaat alleen om security
- **Infrastructuur en hosting**, tenzij die als code in de repository staat
- **De AVG**, tenzij je de AVG-codecheck erbij neemt

## Wat kost het?

Na een korte blik op de repository krijg je een vaste prijs. Deze punten bepalen de omvang.

**Vanaf € 1.520 excl. btw**. Vaste prijs, zonder nacalculatie

- AVG-codecheck erbij: vanaf € 1.150

- **Omvang**: Hoeveel eigen code binnen de review valt.
- **Framework**: In Laravel, WordPress en React Native gaat het sneller door ervaring met de conventies.
- **Focus**: De hele codebase, of alleen een deel zoals de API of een nieuwe module.

## Wat je aanlevert

Hoe beter dit klaarstaat, hoe meer tijd er naar het testen zelf gaat.

- **Leestoegang tot de repository** (Nodig): Een uitnodiging in GitHub of GitLab, die je na afloop intrekt.
- **Een korte uitleg van de app** (Nodig): Wat de app doet, welke rollen er zijn en wat het gevoeligst is.
- **Een developer als aanspreekpunt** (Optioneel): Voor vragen over keuzes in de code.

## Meer dekking in één opdracht

- **Security code review** (vanaf € 1.520): Je code nagelopen op kwetsbaarheden.

- **AVG-codecheck** (vanaf € 1.150): Dezelfde code wordt dan ook bekeken op hoe hij met persoonsgegevens omgaat, in één ronde.

[Meer over AVG-codecheck](https://hackindex.nl/avg-codecheck)

## Veelgestelde vragen

### Wat is het verschil met een pentest?

Een pentest test de draaiende app van buitenaf. Een code review leest de code zelf. Samen geven ze de meeste dekking.

### Hoe delen we de code veilig?

Met een leesuitnodiging in GitHub of GitLab die je na de review intrekt. De code valt onder de NDA en wordt alleen voor deze review gebruikt.

### Kan ook een deel van de code?

Ja, bijvoorbeeld alleen de API of een nieuwe module. Dat maakt de review kleiner en goedkoper.

### Kijken jullie ook naar de AVG?

Alleen als je de AVG-codecheck erbij neemt. Die is ook los te bestellen.

### Kan een code review ook code van AI-assistenten nakijken?

Ja. Code van een AI-assistent wordt op dezelfde manier nagekeken als code van mensen, met extra aandacht voor controles op rechten en invoer die vaak ontbreken.

## Laat je code reviewen.

Vertel welke taal, hoe groot en wat het gevoeligst is. Je ontvangt een voorstel met een vaste prijs.

- [Code review aanvragen](https://hackindex.nl/contact/details?parts=code)

## Andere diensten

- [Web- en API-pentest](https://hackindex.nl/web-en-api-pentest): Webapplicaties en API's, met extra diepgang in Laravel en WordPress
- [App-pentest](https://hackindex.nl/app-pentest): iOS- en Android-apps, inclusief de API erachter
- [AVG-codecheck](https://hackindex.nl/avg-codecheck): Hoe je code met persoonsgegevens omgaat

## Woordenlijst

- **Infrastructuur**: De servers, het netwerk en de hosting onder je applicatie, zoals open poorten en serverinstellingen. Die vallen buiten een test van de applicatie zelf.
- **Nabespreking**: Een gesprek over het rapport: wat er gevonden is, hoe ernstig het is en in welke volgorde je het oplost.

Bron: https://hackindex.nl/security-code-review
