Contrôle de projets

Quatre cents constats. Lesquels méritent votre journée ?

L’autre moitié de SENTINEL AI ne lit pas un réseau mais un projet : le code source, les bibliothèques, les mots de passe restés dedans, l’empaquetage et le site publié. Puis elle décide quels constats nécessitent vraiment un humain.

Ce qui est contrôlé

Cinq endroits où se cachent les problèmes

Code

Code source

Constructions dangereuses et erreurs courantes dans le code du projet.

Dépendances

Bibliothèques

Environ 240 000 vulnérabilités publiées de la base ouverte OSV pour PyPI et npm. Un fichier local de 4 Mo, contrôle hors ligne. L’âge de la base est indiqué à côté de chaque réponse.

Secrets

Mots de passe et clés

Des identifiants qui se sont retrouvés dans le code ou la configuration.

Empaquetage

Construction et déploiement

Comment le projet est construit et lancé.

Site

Le site publié

Uniquement après qu’une personne nommée a déclaré être autorisée à tester cette adresse ; la déclaration entre dans le journal signé. Uniquement des requêtes GET ordinaires : rien n’est soumis, injecté ni forcé.

La source peut être un dossier sur le serveur, une archive, l’adresse d’un dépôt ou celle d’un site.

L’essentiel

La couche au-dessus des contrôles

N’importe quel outil sait lancer des contrôles. Le difficile est de décider lesquels des quatre cents constats méritent votre journée, et de pouvoir dire pourquoi. On utilise pour cela la même arithmétique que pour la détection d’attaques.

Un indice, pas un verdict

Chaque contrôle produit un indice pondéré, jamais un verdict.

Le contexte du projet

Ceci est du code de test, cette valeur est le mot « changeme », ce paquet n’est importé nulle part, cette bibliothèque n’est installée que pour le développement.

Une cause, une tâche

Quarante avertissements sur une bibliothèque obsolète forment une seule décision, pas quarante.

Une explication pour quatre lecteurs

Ce que c’est, ce que cela signifie et quoi faire, en six langues.

Le même journal signé

Y compris qui a lancé le contrôle.

Rapport

Un rapport que l’on peut envoyer

Un seul fichier : ce qui a été trouvé, ce que cela signifie et quoi corriger, par ordre d’importance. Il s’ouvre dans n’importe quel navigateur, s’enregistre en PDF et part à votre équipe, à un prestataire ou à la direction.

Ordre

L’important d’abord

Les tâches sont classées par score, pas par nombre d’avertissements.

Clarté

Quoi corriger

Chaque tâche comporte une explication et une action concrète.

Honnêteté

L’âge de la base

Une réponse issue d’une base vieille de quatre mois est une réponse vieille de quatre mois, et le rapport le dit.

En toute franchise

Ce que le contrôle ne sait pas faire

  • Il ne trouve pas plus que les scanners spécialisés

    Semgrep, CodeQL, Trivy ou ZAP trouvent les problèmes bruts tout aussi bien. La valeur est dans le choix de ce qui compte.

  • Il ne voit pas les erreurs de logique

    Les droits mal attribués et les failles dans l’assemblage des parties du système échappent à tout scanner. Il faut qu’un humain regarde.

  • Un résultat propre n’est pas une garantie

    Il signifie que les contrôles n’ont rien trouvé, pas que le projet est sûr. La console l’indique à côté de chaque résultat.

  • Le contrôle du site ne fait que lire

    Il trouve ce qui se voit de l’extérieur, pas ce qu’il faudrait une attaque pour prouver.

Pilote

Testez-la sur vos propres données

Le pilote s’installe sur un seul serveur, au sein de votre réseau. Vous verrez ce que la plateforme y détecte et combien d’alertes n’atteignent plus vos analystes.

Demander un pilote →