Pourquoi Anthropic l’a créé
En six mois, les modèles d’Anthropic ont découvert plus de 29 000 vulnérabilités potentielles dans des logiciels open source importants, mais son équipe de sécurité n’a pu en examiner manuellement qu’environ 6 000. De nombreux mainteneurs ayant reçu les premiers rapports vérifiés par des humains ont demandé à recevoir simplement tous les résultats, non vérifiés, avec des correctifs proposés — près de 5 000 rapports ont ainsi été envoyés.
OSS Scanner en fait un parcours accéléré sur inscription volontaire. Les rapports vérifiés par des humains continuent de suivre le processus de divulgation coordonnée des vulnérabilités (CVD) d’Anthropic ; les projets inscrits reçoivent également les résultats bruts des modèles dès qu’ils sont prêts. Anthropic indique s’être inspiré d’OSS-Fuzz de Google.
Ce que reçoivent les mainteneurs
Après l'inscription, le projet est analysé et les mainteneurs reçoivent un ensemble de rapports par e-mail. Le pipeline d'Anthropic comprend des agents qui vérifient les bogues, proposent des correctifs et effectuent une analyse des causes racines. Chaque rapport contient :
- un test de reproduction autonome
- une explication de la vulnérabilité, avec notamment une bissection pour déterminer quand le bogue a été introduit, dans la mesure du possible
- un correctif potentiel, lorsqu'il en existe un
Les projets sont réanalysés régulièrement afin de détecter les bogues nouvellement introduits et ceux qui n'avaient pas été repérés auparavant. La fréquence dépend du nombre de projets dans le pipeline, de l'ampleur de l'utilisation du projet et d'autres facteurs.
Quelle est sa précision ?
Avant le lancement, les testeurs d'intrusion d'Anthropic ont vérifié 97 signalements de sévérité critique ou élevée sur 48 projets. Parmi eux, 85 (88 %) répondaient aux critères du processus CVD d'Anthropic ; 11 des 12 autres étaient réels, mais faisaient doublon avec des problèmes connus, et un seul était un faux positif. Anthropic s'attend à un taux de vrais positifs supérieur à 90 % et avertit que les niveaux de sévérité peuvent être surestimés ou que le scanner peut mal interpréter le modèle de menace d'un projet.
Les premiers participants ont donné des retours positifs. wolfSSL a indiqué que, sur 74 rapports, tous sauf deux étaient valides et que cinq ont donné lieu à des CVE. Daniel Stenberg a déclaré que l'outil avait trouvé l'une des pires vulnérabilités de curl depuis des années ; les mainteneurs de PostgreSQL, OpenSSL et HotCRP ont également salué les rapports.
Qui peut participer ?
Anthropic applique des critères similaires à ceux d'OSS-Fuzz : des projets établis dont l'impact sur les infrastructures et la sécurité des utilisateurs est critique, évalués au cas par cas. Les facteurs importants sont l'exposition aux attaques à distance (par exemple, les bibliothèques qui traitent des entrées non fiables) ainsi que le nombre d'utilisateurs et de projets dépendants. Si l'importance du projet n'est pas évidente, ajoutez une courte phrase pour l'expliquer.
Anthropic vérifie manuellement que la personne qui fait la demande est un mainteneur principal et peut contacter le projet par d'autres canaux. Le service s'adresse aux projets qui assurent déjà le suivi des signalements vérifiés de sévérité élevée ou critique : si votre boîte de réception est déjà submergée, ce n'est peut-être pas encore la solution qui vous convient.
Comment candidater
Les mainteneurs principaux ouvrent une pull request sur github.com/anthropics/oss-scanner pour ajouter projects/your-project/project.yaml, en partant du modèle présent dans ce dépôt.
Champs obligatoires :
- repo — l'URL git à cloner, avec éventuellement #branch ; le dépôt n'a pas besoin d'être hébergé sur GitHub
- primary_contact — l'adresse e-mail qui reçoit chaque rapport
- Dockerfile — chemin relatif à repo vers un Dockerfile qui installe les dépendances et compile le projet ; ou placez un fichier nommé Dockerfile à côté de project.yaml et omettez ce champ
Champs facultatifs :
- auto_ccs — adresses supplémentaires mises en copie de chaque rapport
- homepage — le site web du projet
- threat_model — chemin vers votre modèle de menace ; par défaut, .oss-scanner/threat_model.md
- pgp — une clé publique pour chiffrer les e-mails contenant les rapports ; si ce champ est renseigné, les mises en copie ne sont pas autorisées
- disabled — définissez cette valeur sur true pour suspendre les rapports
Exécutez tools/validate.py et compilez le Dockerfile localement avant d'ouvrir la PR. Après acceptation, Anthropic crée l'image sur son infrastructure et vous envoie un e-mail en cas d'échec.
Le Dockerfile et l'audit hors ligne
Le Dockerfile est créé avec un accès réseau. Tout ce qui suit — l'audit des agents — s'exécute dans des environnements sandbox renforcés, sans aucun accès à Internet. L'image doit donc préinstaller toutes les dépendances et compiler le projet. Anthropic recommande de vérifier que les tests réussissent dans le conteneur : les agents pourront ainsi compiler et exécuter le code pour confirmer les bogues.
Le fichier de modèle de menace
threat_model.md est facultatif et n'a pas de format imposé. C'est l'occasion d'indiquer aux agents ce qui n'est pas documenté ailleurs :
- quel code doit être testé, quelles entrées sont considérées comme hostiles et ce qui est hors périmètre
- une grille de sévérité pour les niveaux critique, élevé, moyen et faible
- la forme que doivent prendre les rapports, si les correctifs doivent être minimaux ou prêts à être fusionnés, et quelles preuves de concept sont utiles
- le niveau de granularité souhaité pour la déduplication
Sans ce fichier, le scanner fait des suppositions. Vous pouvez modifier le fichier entre deux analyses pour changer les rapports. Notre générateur de modèles de menace crée un fichier prêt à l'emploi.
Divulgation, suspension et attribution
Il n'y a pas de délai de 90 jours pour ces signalements qui n'ont pas été validés. Si Anthropic valide par la suite un rapport dans le cadre de son programme CVD, l'entreprise peut le divulguer 90 jours après vous avoir informé qu'une personne l'a validé. Anthropic indique qu'elle pourrait imposer à l'avenir des délais pour certains rapports de sévérité élevée, avec préavis et possibilité de refus.
Pour suspendre le service, ajoutez disabled: true à project.yaml dans une PR ; pour quitter le programme, supprimez votre répertoire projects/. Vous pouvez envoyer vos commentaires en réponse aux e-mails contenant les rapports ; si vous n'êtes pas inscrit, écrivez à oss-scanner-questions@anthropic.com.
La mention du crédit est facultative. Anthropic suggère une ligne de message de commit telle que « Découverte par Anthropic's OSS Scanner, en tant que vulnérabilité ANT-2026-ABCD1234 ».
Sécurité des données
Les rapports sont traités comme les signalements CVD standard d'Anthropic : ils sont stockés dans un projet cloud isolé et verrouillé, accessible uniquement au personnel de sécurité chargé du programme.
OSS Scanner et Claude Security
Claude Security est le produit commercial d'Anthropic destiné aux entreprises, qui leur permet de détecter et de corriger des vulnérabilités dans leur propre code. OSS Scanner s'adresse aux mainteneurs de logiciels libres : il ajoute des bancs d'essai expérimentaux, gourmands en jetons, pour trouver des bogues plus difficiles à détecter, et Anthropic en prend entièrement le coût à sa charge. Les mainteneurs peuvent également obtenir gratuitement Claude Max 20x grâce à Claude for OSS, et les professionnels de la sécurité peuvent candidater au Cyber Verification Program.
Générateur de project.yaml
Remplissez les champs pour obtenir un project.yaml au format décrit dans la FAQ d'Anthropic, ainsi que les commandes pour ouvrir la pull request. Vérifiez toujours le modèle actuel dans le dépôt avant de soumettre votre demande.
N'importe quel hébergeur git public. La branche est ajoutée sous la forme #branch.
Le dossier dans projects/ du dépôt d'Anthropic.
Généralement, votre propre adresse e-mail. Reçoit tous les rapports.
Relatif au repo. Effacez ce champ si vous placez un Dockerfile à côté de project.yaml.
Facultatif, séparez les adresses par des virgules.
Gardez la valeur par défaut, sauf si votre fichier se trouve ailleurs.
Facultatif. Les rapports seront chiffrés ; les adresses en copie ne sont alors pas autorisées.
projects/my-project/project.yaml
repo: https://github.com/owner/project primary_contact: you@example.org Dockerfile: Dockerfile
Ouvrir la pull request
gh repo fork anthropics/oss-scanner --clone cd oss-scanner mkdir -p projects/my-project cp ~/Downloads/project.yaml projects/my-project/project.yaml python3 tools/validate.py git checkout -b enroll-my-project git add projects/my-project git commit -m "Enroll my-project in OSS Scanner" git push -u origin enroll-my-project gh pr create --repo anthropics/oss-scanner --fill
Nécessite GitHub CLI (gh) et Python 3. Anthropic vérifie manuellement que vous êtes un mainteneur principal avant d'accepter.
Exemple de Dockerfile
Point de départ pour un projet C/C++ compilé avec CMake. Adaptez les paquets et les commandes de compilation à votre projet ; l’essentiel est que tout soit installé et compilé dans l’image, car l’audit s’exécute hors ligne.
FROM debian:bookworm
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential cmake git ca-certificates pkg-config \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /src
COPY . .
# Build everything and fetch all dependencies now:
# the audit itself runs with no network access.
RUN cmake -B build -DCMAKE_BUILD_TYPE=Debug && cmake --build build -j"$(nproc)"
# Optional, but recommended: make sure tests pass inside the image.
RUN ctest --test-dir build --output-on-failureQuestions sur Anthropic OSS Scanner
Anthropic OSS Scanner est-il gratuit ?
Oui. Anthropic prend en charge l’intégralité du coût des analyses des projets inscrits.
Mon projet doit-il être hébergé sur GitHub ?
Non. Le champ repo peut pointer vers n’importe quel hébergeur git. Seule la pull request d’inscription est envoyée sur GitHub.
Les rapports sont-ils examinés par une personne ?
Non. Les rapports accélérés sont entièrement générés par un modèle. Les rapports vérifiés par une personne continuent d’être envoyés séparément via le processus CVD d’Anthropic.
Que se passe-t-il si mon projet n’est pas accepté ?
Vous pouvez le scanner à tout moment sur ossscanner.org et vous inscrire ici aux analyses approfondies hebdomadaires — tous les dépôts publics sont admissibles.
Comment arrêter de recevoir des rapports ?
Ouvrez une PR en ajoutant disabled: true à votre project.yaml, ou supprimez le répertoire de votre projet. Vous ne recevrez alors plus que des rapports CVD vérifiés par des humains.