Waarom Anthropic dit heeft gebouwd
In ruim zes maanden vonden de modellen van Anthropic meer dan 29,000 potentiële kwetsbaarheden in belangrijke opensourcesoftware, maar het beveiligingsteam kon er handmatig slechts ongeveer 6,000 beoordelen. Veel projectonderhouders die de eerste door mensen geverifieerde rapporten ontvingen, vroegen om gewoon alles te krijgen, ook niet-geverifieerde bevindingen, met voorgestelde patches — op die manier werden bijna 5,000 rapporten verstuurd.
OSS Scanner maakt hiervan een snelle route waarvoor je je kunt aanmelden. Door mensen geverifieerde rapporten blijven het proces voor gecoördineerde openbaarmaking van kwetsbaarheden (CVD) van Anthropic volgen; aangemelde projecten ontvangen daarnaast de ruwe modeluitvoer zodra die klaar is. Anthropic zegt dat het zich liet inspireren door OSS-Fuzz van Google.
Wat projectonderhouders ontvangen
Na inschrijving wordt het project gescand en ontvangen de onderhouders per e-mail een bundel rapporten. De pipeline van Anthropic bevat agents die bugs dubbel controleren, patches voorstellen en een analyse van de hoofdoorzaak uitvoeren. Elk rapport bevat:
- een zelfstandige reproducer
- een uitleg van de kwetsbaarheid, inclusief waar mogelijk een bisectie om vast te stellen wanneer de bug is geïntroduceerd
- een mogelijke patch, indien beschikbaar
Projecten worden regelmatig opnieuw gescand om nieuw geïntroduceerde bugs en eerder gemiste bugs op te sporen. De frequentie hangt af van het aantal projecten in de pipeline, hoe breed het project wordt gebruikt en andere factoren.
Hoe nauwkeurig is het?
Voor de lancering controleerden penetratietesters van Anthropic 97 kritieke en ernstige bevindingen in 48 projecten. 85 (88%) voldeden aan de criteria voor het CVD-proces van Anthropic; 11 van de overige 12 waren echt, maar betroffen duplicaten van bekende problemen, en slechts één was een fout-positief. Anthropic verwacht een true-positivepercentage van meer dan 90% en waarschuwt dat ernstbeoordelingen overdreven kunnen zijn of dat de scanner het bedreigingsmodel van een project verkeerd kan interpreteren.
De eerste deelnemers waren positief. wolfSSL meldde dat van de 74 rapporten op twee na allemaal geldig waren en dat er vijf CVE's uit voortkwamen. Daniel Stenberg zei dat de scanner een van de ernstigste curl-kwetsbaarheden in jaren vond; ook onderhouders van PostgreSQL, OpenSSL en HotCRP prezen de rapporten.
Wie komt in aanmerking
Anthropic hanteert criteria die vergelijkbaar zijn met die van OSS-Fuzz: gevestigde projecten met een kritieke impact op infrastructuur en gebruikersbeveiliging, beoordeeld per geval. Belangrijke factoren zijn de blootstelling aan aanvallen op afstand (bijvoorbeeld bibliotheken die niet-vertrouwde invoer verwerken) en het aantal gebruikers en afhankelijke projecten. Als het belang niet duidelijk is, voeg dan een korte zin toe waarin je dit toelicht.
Anthropic controleert handmatig of de aanvrager een kernonderhouder is en kan via andere kanalen contact opnemen met het project. De dienst is bedoeld voor projecten die geverifieerde ernstige en kritieke rapporten al tijdig afhandelen. Als je inbox nu al overvol is, is dit mogelijk nog niet de juiste keuze.
Zo vraag je aan
Kernonderhouders openen een pull request naar github.com/anthropics/oss-scanner met daarin projects/your-project/project.yaml, gebaseerd op de template in die repository.
Verplichte velden:
- repo — de git-URL om te klonen, eventueel met #branch; de repository hoeft niet op GitHub te staan
- primary_contact — het e-mailadres waarop alle rapporten worden ontvangen
- Dockerfile — het relatieve pad binnen repo naar een Dockerfile die afhankelijkheden installeert en het project bouwt; of plaats een bestand met de naam Dockerfile naast project.yaml en laat dit veld weg
Optionele velden:
- auto_ccs — extra adressen die een kopie van elk rapport ontvangen
- homepage — de website van het project
- threat_model — pad naar je bedreigingsmodel, standaard .oss-scanner/threat_model.md
- pgp — een openbare sleutel om rapporten per e-mail te versleutelen; als dit veld is ingevuld, zijn CC's niet toegestaan
- disabled — stel in op true om rapporten tijdelijk stop te zetten
Voer tools/validate.py uit en bouw de Dockerfile lokaal voordat je de PR opent. Na acceptatie bouwt Anthropic de image op zijn infrastructuur en stuurt het je een e-mail als dat mislukt.
De Dockerfile en offline audit
De Dockerfile wordt gebouwd met netwerktoegang. Alles daarna — de audit door de agents — wordt uitgevoerd in geharde sandboxomgevingen waarin internettoegang volledig is uitgeschakeld. De image moet dus alle afhankelijkheden vooraf installeren en het project bouwen. Anthropic raadt aan te controleren of de tests in de container slagen: zo kunnen agents code compileren en uitvoeren om bugs te bevestigen.
Het bestand met het bedreigingsmodel
threat_model.md is optioneel en heeft geen verplicht formaat. Je kunt de agents hiermee informeren over zaken die elders niet zijn gedocumenteerd:
- welke code getest moet worden, welke invoer als vijandig moet worden beschouwd en wat buiten de scope valt
- een ernstclassificatie voor kritiek, ernstig, gemiddeld en laag
- hoe rapporten eruit moeten zien, of patches minimaal of klaar om te mergen moeten zijn en welke proofs of concept nuttig zijn
- hoe fijnmazig deduplicatie moet zijn
Zonder dit bestand doet de scanner aannames. Je kunt het bestand tussen scans aanpassen om de rapporten te veranderen. Onze builder voor bedreigingsmodellen genereert een kant-en-klaar bestand.
Openbaarmaking, pauzeren en naamsvermelding
Voor deze niet-gevalideerde bevindingen geldt geen deadline van 90 dagen. Als Anthropic een rapport later via zijn CVD-programma valideert, kan het dit 90 dagen na de melding dat een medewerker het heeft gevalideerd openbaar maken. Anthropic zegt mogelijk in de toekomst deadlines in te voeren voor sommige ernstige rapporten, met voorafgaande kennisgeving en de mogelijkheid om af te zien van deelname.
Pauzeren kan door disabled: true toe te voegen aan project.yaml in een PR; om te stoppen verwijder je de map projects/. Geef feedback als antwoord op de e-mails met rapporten. Ben je niet ingeschreven, schrijf dan naar oss-scanner-questions@anthropic.com.
Naamsvermelding is optioneel. Anthropic stelt een regel voor het commitbericht voor, zoals “Ontdekt door Anthropic's OSS Scanner, als kwetsbaarheid ANT-2026-ABCD1234”.
Gegevensbeveiliging
Rapporten worden behandeld zoals de standaard CVD-bevindingen van Anthropic: ze worden opgeslagen in een geïsoleerd, streng beveiligd cloudproject dat alleen toegankelijk is voor de beveiligingsmedewerkers die het programma uitvoeren.
OSS Scanner versus Claude Security
Claude Security is het commerciële product van Anthropic waarmee bedrijven kwetsbaarheden in hun eigen code kunnen vinden en verhelpen. OSS Scanner is bedoeld voor onderhouders van opensourcesoftware: het voegt experimentele, tokenintensieve harnesses toe om diepere bugs te vinden, en Anthropic betaalt de volledige kosten. Onderhouders kunnen via Claude for OSS ook gratis Claude Max 20x krijgen, en beveiligingsprofessionals kunnen zich aanmelden voor het Cyber Verification Program.
project.yaml-generator
Vul de velden in om een project.yaml te maken in het formaat dat wordt beschreven in de FAQ van Anthropic, samen met de opdrachten om de pull request te openen. Controleer altijd de actuele template in de repository voordat je deze indient.
Elke openbare git-host. De branch wordt als #branch toegevoegd.
De map in projects/ in de repository van Anthropic.
Meestal je eigen e-mailadres. Ontvangt elk rapport.
Relatief aan de repo. Maak dit veld leeg als je een Dockerfile naast project.yaml plaatst.
Optioneel, kommagescheiden.
Laat de standaardwaarde staan, tenzij je bestand ergens anders staat.
Optioneel. Rapporten worden versleuteld; CC's zijn dan niet toegestaan.
projects/my-project/project.yaml
repo: https://github.com/owner/project primary_contact: you@example.org Dockerfile: Dockerfile
Pull request openen
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
Vereist de GitHub CLI (gh) en Python 3. Anthropic controleert handmatig of je een kernonderhouder bent voordat de aanvraag wordt geaccepteerd.
Voorbeeld-Dockerfile
Een uitgangspunt voor een C/C++-project dat met CMake wordt gebouwd. Pas de pakketten en buildopdrachten aan je project aan. Het belangrijkste is dat alles binnen de image wordt geïnstalleerd en gebouwd, omdat de audit offline wordt uitgevoerd.
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-failureVragen over Anthropic OSS Scanner
Is Anthropic OSS Scanner gratis?
Ja. Anthropic betaalt de volledige kosten van de scans voor ingeschreven projecten.
Moet mijn project op GitHub staan?
Nee. Het veld repo kan verwijzen naar elke git-host. Alleen de pull request voor inschrijving gaat naar GitHub.
Worden de rapporten door een mens beoordeeld?
Nee. Fasttrackrapporten worden volledig door een model gegenereerd. Menselijk geverifieerde rapporten worden afzonderlijk aangeleverd via het CVD-proces van Anthropic.
Wat als mijn project niet wordt geaccepteerd?
Je kunt het op elk moment scannen op ossscanner.org en je hier aanmelden voor wekelijkse grondige scans — elke openbare repository komt in aanmerking.
Hoe stop ik met het ontvangen van rapporten?
Open een PR waarin je disabled: true toevoegt aan je project.yaml, of verwijder je projectdirectory. Je ontvangt dan weer alleen CVD-rapporten die door mensen zijn geverifieerd.