Programme de sécurité de l’internet public

Sécuriser l’internet.

NullSquare repère des erreurs de configuration de sécurité manifestes et visibles publiquement, puis prévient en privé les organisations qui en sont responsables. Le même programme étudie du code open source public, à la recherche de problèmes que nous pouvons reproduire, corriger et prouver.

Sur l’ensemble des missions NullSquare
11,179
Risques mis au jour
6,742
Validés
449
Critiques et élevés
152
CVE distincts

Pourquoi vous avez reçu un message

Un de nos agents a trouvé, sur un domaine appartenant à votre organisation, quelque chose d’exposé à l’internet public. Nous vous avons écrit en privé pour que votre équipe puisse l’examiner et le refermer. Nous n’en avons parlé à personne d’autre et nous ne l’avons pas publié.

Ce que le programme examine

Le programme ne regarde que ce qui est déjà visible depuis l’internet public :

  • Un service joignable depuis l’internet alors qu’il ne devait pas l’être.
  • Une interface d’administration ouverte à quiconque la trouve.
  • Un outil de développement ou de débogage laissé en marche en public.
  • Un listage de répertoire servant des fichiers qui ne devaient jamais l’être.
  • Une page de déploiement par défaut encore en place sur un hôte en production.
  • Une erreur de configuration semblable, que n’importe qui pourrait trouver comme nous l’avons trouvée.

L’agent ne prend que de quoi nommer le domaine ou le service concerné et dire de quel type de problème il s’agit. Il ne va pas plus loin.

Recherche open source

Un avis réduit la surface d’attaque exposée. Il ne corrige pas le code en dessous. Le programme travaille donc aussi à la source : nous sélectionnons un dépôt open source public à la fois et l’étudions dans un bac à sable jetable, à la recherche d’un problème de sécurité que nous pouvons prouver.

Un agent qui affirme que quelque chose est vulnérable n’est pas un risque confirmé, et la sortie d’un scanner non plus. Rien ne compte tant que cela ne se reproduit pas, que le correctif ne tient pas, et que les deux ne sont pas consignés assez clairement pour qu’une autre personne les rejoue.

  1. 01FigerLe dépôt est cloné à un commit précis dans un bac à sable jetable qui ne contient aucun identifiant de production.
  2. 02RéférenceLa compilation et les tests du projet lui-même s’exécutent avant toute recherche, pour savoir ce qui passait déjà.
  3. 03RechercherL’agent lit et exerce le code à l’intérieur du bac à sable, sur cette seule révision figée.
  4. 04ReproduireUn candidat ne compte qu’une fois qu’il se reproduit depuis un checkout propre, sans état résiduel de l’exploration.
  5. 05CorrigerLe correctif raisonnable le plus petit, avec un test de non-régression là où le projet en rend un praticable.
  6. 06VérifierLa reproduction est rejouée avant et après le correctif, et les vérifications propres au projet sont relancées.
  7. 07RelireUne personne accepte ou rejette le résultat. Rien ne quitte le laboratoire automatiquement.

Les tests ne sont jamais supprimés, ignorés ni affaiblis pour revendiquer une réussite. Quand le travail ne franchit pas la barre, la réponse est : aucun risque confirmé — consignée avec ce qui a été tenté et ce qui n’a pas pu être vérifié. Dans les deux cas, l’exécution produit le même dossier :

Dossier de preuves

Interne, relu par une personne, et jamais publié par le laboratoire lui-même.

summary.md
Ce qui a été tenté, ce qui a été trouvé et ce qui n’a pas pu être vérifié.
risk.md
Cause racine, chemin de code concerné et une évaluation honnête de la confiance.
reproduction/
La commande et les preuves observées sur la révision non corrigée.
patch.diff
Le correctif minimal, rattaché au commit figé.
tests/
Un test de non-régression qui échoue avant le correctif et réussit après.
verification.md
Les résultats avant et après, aux côtés des sorties de compilation, de test et de lint.
run-metadata.json
Dépôt, commit exact, modèle, durée et coût.

Ce que le programme ne fait pas

  • Aucun devinement de mot de passe, aucun test d’identifiants, aucun contournement d’authentification.
  • Aucune exploitation, aucun test destructif, aucune élévation de privilèges, aucun enchaînement de vulnérabilités.
  • Aucune collecte de fichiers privés, de données clients, de code source ou de contenu authentifié.
  • Aucune publication, vente ou indexation publique des problèmes découverts.
  • Aucun test d’un environnement en production ou hébergé pendant la recherche. Le travail se fait uniquement sur un clone local.
  • Aucun fork, branche, commit, push, pull request ou ticket. Le laboratoire ne dispose d’aucun accès en écriture au dépôt.
  • Aucun contact avec les mainteneurs, aucun avis de sécurité, aucune demande de CVE, aucune soumission de bounty par le laboratoire lui-même.
  • Aucun balayage en masse des hébergeurs de code publics. Les dépôts sont choisis un par un, délibérément.

Confidentialité et traitement des données

Les notifications sont envoyées directement à un contact public approprié pour le domaine. La session de détection est supprimée après la remise du message, et NullSquare ne tient aucune base de données consultable des risques issus de ce programme.

Les exécutions de recherche ne travaillent que sur du code source public. Le bac à sable est détruit après l’exécution et le dossier de preuves reste interne. Si un résultat est un jour porté à un mainteneur, c’est une décision distincte et délibérée, prise par une personne.

Des enregistrements minimaux de remise d’e-mails, de prévention des abus et de désinscription peuvent être conservés séparément. Ces enregistrements ne contiennent aucune donnée de cible copiée ni sortie d’exploit.

Vérifier un avis ou y répondre

Un message « Secure the internet » légitime ne demandera jamais d’identifiants, de paiement, de clés d’API ni d’accès à vos systèmes. Vous pouvez répondre au message, demander une désinscription, corriger un contact ou vérifier son origine directement auprès de NullSquare.

null@nullsquare.net
NullSquareNotification privée. Aucune divulgation publique.