Revue de code source

On trouve ce que vos outils SAST ne voient pas

Revue manuelle de votre code source par un pentester senior spécialisé SaaS. Secrets hardcodés, logique d'autorisation fragile, patterns d'injection, dépendances vulnérables — on lit votre code ligne par ligne et on livre les findings avec leur correctif.

Rapports conformes SOC 2 et ISO 27001 Zéro faux positif Retest inclus

Périmètre

Ce qu'on teste

01

Validation et traitement des entrées

Analyse de chaque point d'entrée utilisateur : sanitization, validation côté serveur, protection contre les injections SQL, XSS, command injection et path traversal.

02

Contrôle d'accès et autorisations

Revue de la logique d'autorisation : middleware, guards, policies. Vérification de l'isolation entre tenants et de la cohérence entre règles métier et implémentation.

03

Gestion des secrets

Recherche de secrets hardcodés dans le code source : clés API, tokens, mots de passe, certificats. Vérification de l'utilisation correcte des variables d'environnement et des vaults.

04

Sessions et tokens

Analyse de la gestion des sessions : génération, stockage, rotation et invalidation des tokens JWT, cookies de session, refresh tokens et durées de vie.

05

Dépendances tierces

Audit des dépendances (npm, Composer, pip, Go modules) : versions vulnérables connues (CVE), dépendances abandonnées, packages suspects, lock files.

06

Cryptographie

Revue des implémentations cryptographiques : hashing de mots de passe (bcrypt/argon2), chiffrement des données sensibles, gestion des clés.

07

Gestion des erreurs et logging

Analyse des mécanismes d'erreur : fuites d'information dans les stack traces, logging de données sensibles, absence de logs de sécurité pour la détection d'incidents.

08

Patterns d'architecture

Revue des choix architecturaux impactant la sécurité : isolation des services, surface d'attaque inter-services, configuration des middlewares, ORM et query builders.

Extrait de rapport

Voici ce que vous recevez

Chaque vulnérabilité est documentée avec sa preuve d'exploitation et un correctif applicable. Pas de généralités, pas de faux positifs.

3.4.2 Hardcoded API Secret in Service Class
HIGH
CVSS 3.1: 8.2 OWASP: A02:2021 Verification: Live-Confirmed

Description

La clé secrète Stripe est hardcodée directement dans la classe PaymentService. Tout développeur avec accès au repository, tout backup de code, et toute fuite du code source expose cette clé en production.

Code vulnérable

// app/Services/PaymentService.php
class PaymentService
{
    private string $stripeKey = 'sk_live_4eC39HqLyjWDarjtT1zdp7dc';

    public function charge(float $amount)
    {
        Stripe::setApiKey($this->stripeKey);
        // ...
    }
}

Impact

• Accès complet au compte Stripe de production
• Possibilité de créer des remboursements frauduleux
• Exfiltration des données de paiement des clients
• Clé présente dans l'historique Git même après suppression

Correctif proposé

// app/Services/PaymentService.php
class PaymentService
{
    public function charge(float $amount)
    {
        Stripe::setApiKey(
            config('services.stripe.secret')
        );
        // ...
    }
}

// .env (non commité)
STRIPE_SECRET=sk_live_...

// Action immédiate : révoquer la clé exposée sur dashboard.stripe.com

Méthodologie

Notre approche étape par étape

01

Cadrage

Identification des modules critiques et définition du périmètre de revue avec votre tech lead.

1 jour

02

Analyse statique

Scan automatisé (SAST) pour cartographier les patterns à risque et prioriser la revue manuelle.

0.5 jour

03

Revue manuelle

Lecture ligne par ligne des modules critiques : auth, paiements, données sensibles. Chaque finding est vérifié avec une preuve d'exploitation.

3–12 jours

04

Rapport

Documentation des vulnérabilités avec extrait de code, impact et correctif proposé.

Inclus

05

Restitution

Présentation à votre équipe dev avec priorisation et recommandations architecturales.

Inclus

OWASP WSTG OWASP ASVS PTES OSSTMM CVSS 3.1 CWE

Livrable

Contenu du rapport

Synthèse exécutive

Résumé non technique pour votre direction et vos investisseurs. Score de risque global, répartition par sévérité.

Retest inclus

Validation gratuite de vos corrections sous 30 jours. Attestation de remédiation fournie.

Findings détaillés

Chaque vulnérabilité documentée avec extrait de code, impact business et score CVSS 3.1.

Correctifs applicables

Code de correction prêt à être intégré. Chaque fix est testé et adapté à votre stack.

Matrice de risques

Classement par sévérité et facilité d'exploitation pour prioriser votre plan de remédiation.

Mapping conformité

Correspondance de chaque finding avec NIS2, DORA, SOC 2, ISO 27001, PCI DSS.

Conformité

Chaque audit couvre vos obligations réglementaires

Les findings sont mappés vers les référentiels de conformité applicables à votre secteur.

OWASP

Référentiel de test standard pour la sécurité applicative

NIS2

Directive européenne sur la cybersécurité des entités essentielles

DORA

Tests d'intrusion obligatoires pour le secteur financier

SOC 2

Preuves de pentest requises pour les Trust Services Criteria

ISO 27001

Tests de sécurité réguliers exigés par l'annexe A

PCI DSS

Tests d'intrusion obligatoires pour le traitement de paiements

Tarif indicatif

5 000 – 20 000 €

5–15 jours ouvrés

Prix fixe après cadrage. Pas de surprise, pas de semaines d'attente.

  • Revue manuelle du code critique
  • Analyse statique automatisée (SAST)
  • Rapport avec extraits de code annotés
  • Correctifs proposés pour chaque finding
  • Audit des dépendances tierces
  • Retest gratuit sous 30 jours
Cadrer mon audit

Appel de 30 min — sans engagement

Questions fréquentes

Ce que nos clients demandent

Quels langages et frameworks couvrez-vous ?

On audite les stacks les plus répandues en SaaS : PHP (Laravel, Symfony), Node.js (Express, NestJS, Next.js), Python (Django, FastAPI, Flask), Go, Java (Spring Boot), Ruby on Rails. Pour d'autres langages, contactez-nous pour vérifier la couverture.

Quel accès au repository est nécessaire ?

On demande un accès en lecture seule au repository Git (invite GitHub/GitLab ou clone chiffré). On ne pousse jamais de code. L'accès est révoqué à la fin de la mission.

Quelle différence avec un outil SAST automatisé ?

Les outils SAST génèrent beaucoup de faux positifs et ratent les failles de logique métier. On utilise le SAST comme outil de cartographie, puis on analyse manuellement les patterns à risque en contexte. Le résultat : zéro faux positif, et des findings que les scanners ne trouvent pas.

Combien de lignes de code pouvez-vous auditer ?

Le périmètre est défini lors du cadrage en fonction des modules critiques, pas du nombre total de lignes. Une application de 200 000 lignes peut être auditée en se concentrant sur les 20 000 lignes qui gèrent l'authentification, les paiements et les données sensibles.

Combien de temps nos développeurs devront-ils consacrer à l'audit ?

Un appel de cadrage d'une heure avec votre CTO ou tech lead, puis une restitution d'une heure à la livraison. Entre les deux, on travaille en autonomie sur le code. Vos développeurs ne sont pas mobilisés pendant l'audit.

Peut-on combiner la revue de code avec un pentest ?

C'est ce qu'on recommande pour une couverture maximale. La revue de code identifie les failles dans la logique interne, le pentest les valide depuis l'extérieur. Les deux rapports sont livrés ensemble avec une matrice de risques consolidée.

Prêt à sécuriser votre application

Décrivez votre projet en 2 minutes. On revient vers vous le même jour avec une proposition de périmètre et un devis détaillé.

Réponse le jour même · Sans engagement · 4 missions par mois maximum

Obtenir un devis gratuit