Bakit ito binuo ng Anthropic
Sa loob ng mahigit anim na buwan, nakahanap ang mga modelo ng Anthropic ng mahigit 29,000 posibleng kahinaan sa mahahalagang open-source na software, pero humigit-kumulang 6,000 lang ang nasuri nang mano-mano ng security team nito. Maraming maintainer na nakatanggap ng mga unang ulat na beripikado ng tao ang humiling na matanggap na lang ang lahat ng ulat, beripikado man o hindi, kasama ang mga iminungkahing patch — halos 5,000 ulat ang ipinadala sa ganitong paraan.
Ginagawang mabilis na opsyon ng OSS Scanner ang prosesong ito para sa mga kusang mag-opt in. Patuloy na dumaraan sa proseso ng coordinated vulnerability disclosure (CVD) ng Anthropic ang mga ulat na beripikado ng tao; makakatanggap din ang mga proyektong nagpatala ng hilaw na output ng modelo sa sandaling handa na ito. Ayon sa Anthropic, hango ito sa OSS-Fuzz ng Google.
Ano ang matatanggap ng mga maintainer
Pagkatapos mag-enroll, sini-scan ang proyekto at nakatatanggap ang mga maintainer ng pangkat ng mga ulat sa email. Kabilang sa pipeline ng Anthropic ang mga agent na muling nagsusuri sa mga bug, nagmumungkahi ng mga patch at nagsasagawa ng pagsusuri sa ugat ng problema. Naglalaman ang bawat ulat ng:
- isang reproducer na mag-isang gumagana
- paliwanag sa kahinaan, kasama ang bisection upang malaman kung kailan naipasok ang bug, kung posible
- mungkahing patch, kung mayroon
Regular na muling sini-scan ang mga proyekto upang matukoy ang mga bagong bug at ang mga hindi nakita noon. Nakasalalay ang dalas sa dami ng mga proyektong nasa pipeline, lawak ng paggamit sa proyekto at iba pang salik.
Gaano ito katumpak?
Bago ilunsad, sinuri ng mga penetration tester ng Anthropic ang 97 finding na kritikal o mataas ang kalubhaan sa 48 proyekto. Pasok sa pamantayan ng proseso ng CVD ng Anthropic ang 85 (88%); totoo ang 11 sa natitirang 12 pero mga duplikado ng mga kilalang isyu, at isa lang ang false positive. Inaasahan ng Anthropic na lalampas sa 90% ang true-positive rate at nagbabala itong maaaring mapalaki ang mga rating ng kalubhaan o maaaring hindi maunawaan ng scanner ang threat model ng proyekto.
Positibo ang naging tugon ng mga naunang kalahok. Iniulat ng wolfSSL na wasto ang lahat maliban sa dalawa sa 74 na ulat, at naging mga CVE ang lima. Sinabi ni Daniel Stenberg na natuklasan nito ang isa sa pinakamasasamang kahinaan sa curl sa loob ng maraming taon; pinuri rin ng mga maintainer ng PostgreSQL, OpenSSL at HotCRP ang mga ulat.
Sino ang maaaring mag-apply
Gumagamit ang Anthropic ng mga pamantayang katulad ng sa OSS-Fuzz: mga matatag nang proyekto na may kritikal na epekto sa imprastraktura at seguridad ng mga user, at sinusuri ang bawat kaso nang hiwalay. Kabilang sa mahahalagang salik ang pagkakalantad sa mga malayuang pag-atake (halimbawa, mga library na nagpoproseso ng hindi pinagkakatiwalaang input) at ang dami ng mga user at proyektong nakadepende rito. Kung hindi halata kung bakit mahalaga ang proyekto, magdagdag ng maikling pangungusap na nagpapaliwanag nito.
Manu-manong bineberipika ng Anthropic na isa kang core maintainer at maaaring makipag-ugnayan sa proyekto sa ibang mga paraan. Para ito sa mga proyektong nakasasabay na sa mga beripikadong ulat na mataas o kritikal ang kalubhaan — kung sobra-sobra na ang laman ng inbox mo, maaaring hindi pa ito angkop sa iyo.
Paano mag-apply
Nagbubukas ang mga core maintainer ng pull request sa github.com/anthropics/oss-scanner na nagdaragdag ng projects/your-project/project.yaml, gamit bilang panimula ang template sa repository na iyon.
Mga kinakailangang field:
- repo — ang git URL na gagamitin sa pag-clone, maaaring lagyan ng #branch; hindi kailangang nasa GitHub
- primary_contact — ang email na tatanggap ng bawat ulat
- Dockerfile — path na kaugnay ng repo patungo sa Dockerfile na nag-i-install ng mga dependency at nagbu-build ng proyekto; o maglagay ng file na pinangalanang Dockerfile sa tabi ng project.yaml at huwag isama ang field na ito
Mga opsyonal na field:
- auto_ccs — mga karagdagang address na kokopyahan sa bawat ulat
- homepage — website ng proyekto
- threat_model — path papunta sa iyong threat model; .oss-scanner/threat_model.md ang default
- pgp — pampublikong key para i-encrypt ang mga email ng ulat; kapag itinakda ito, hindi puwedeng magkaroon ng CC
- disabled — itakda sa true upang pansamantalang ihinto ang mga ulat
Patakbuhin ang tools/validate.py at i-build nang lokal ang Dockerfile bago buksan ang PR. Pagkatapos itong tanggapin, ibinu-build ng Anthropic ang image sa imprastraktura nito at mag-e-email ito sa iyo kapag pumalya.
Ang Dockerfile at offline na pag-audit
Binubuo ang Dockerfile habang may access sa network. Pagkatapos nito, isinasagawa ang pag-audit ng mga agent nang ganap na walang internet access sa loob ng mga pinatibay na sandbox. Kaya dapat paunang mai-install sa image ang lahat ng dependency at ma-build doon ang proyekto. Inirerekomenda ng Anthropic na tiyaking pumapasa ang mga test sa loob ng container: nagbibigay-daan ito sa mga agent na mag-compile at magpatakbo ng code upang kumpirmahin ang mga bug.
Ang threat model file
Opsyonal ang threat_model.md at walang kinakailangang format. Dito mo maaaring sabihin sa mga agent ang mga bagay na hindi nakadokumento sa ibang lugar:
- kung aling code ang dapat subukan, aling mga input ang adversarial at ano ang hindi saklaw
- pamantayan ng kalubhaan para sa kritikal, mataas, katamtaman at mababa
- kung ano ang dapat maging hitsura ng mga ulat, kung dapat minimal o handa nang i-merge ang mga patch, at kung aling mga proof of concept ang kapaki-pakinabang
- kung gaano kapino dapat ang pag-aalis ng mga duplikado
Kung wala ito, manghuhula ang scanner. Maaari mong baguhin ang file sa pagitan ng mga scan upang baguhin ang mga ulat. Bumubuo ang aming threat model builder ng file na handa nang gamitin.
Pagbubunyag, paghinto at pagkilala
Walang 90-araw na deadline para sa mga finding na ito na hindi pa nabeberipika. Kung ibeberipika ng Anthropic sa kalaunan ang isang ulat sa pamamagitan ng programa nitong CVD, maaari nitong ibunyag ang isyu 90 araw matapos nitong ipaalam sa iyo na nabeberipika na ito ng isang tao. Ayon sa Anthropic, maaari itong magtakda ng mga deadline para sa ilang ulat na mataas ang kalubhaan sa hinaharap, nang may abiso at opsyong tumanggi.
Upang pansamantalang huminto, idagdag ang disabled: true sa project.yaml sa isang PR; upang umalis, burahin ang direktoryong projects/. Ipadala ang feedback bilang tugon sa mga email ng ulat; kung hindi ka naka-enroll, sumulat sa oss-scanner-questions@anthropic.com.
Opsyonal ang pagkilala. Iminumungkahi ng Anthropic ang linyang tulad ng “Natuklasan ng Anthropic's OSS Scanner, bilang kahinaang ANT-2026-ABCD1234” sa commit message.
Seguridad ng datos
Pinangangasiwaan ang mga ulat gaya ng mga karaniwang finding ng Anthropic sa CVD: iniimbak ang mga ito sa isang nakahiwalay at mahigpit na pinaghihigpitang cloud project na tanging mga kawani ng seguridad na nagpapatakbo sa programa ang makaka-access.
OSS Scanner kumpara sa Claude Security
Komersyal na produkto ng Anthropic ang Claude Security para sa mga negosyo upang mahanap at ayusin ang mga kahinaan sa sarili nilang code. Para naman sa mga maintainer ng open-source ang OSS Scanner: nagdaragdag ito ng mga eksperimental na harness na gumagamit ng maraming token upang makahanap ng mas malalalim na bug, at sinasagot ng Anthropic ang buong gastos. Maaari ring makakuha ang mga maintainer ng libreng Claude Max 20x sa pamamagitan ng Claude for OSS, at maaaring mag-apply ang mga propesyonal sa seguridad sa Cyber Verification Program.
Tagabuo ng project.yaml
Punan ang mga field upang makakuha ng project.yaml sa format na inilalarawan sa FAQ ng Anthropic, kasama ang mga command para magbukas ng pull request. Palaging tingnan ang kasalukuyang template sa repository bago magsumite.
Anumang pampublikong git host. Idinadagdag sa dulo ang branch bilang #branch.
Ang folder sa ilalim ng projects/ sa repository ng Anthropic.
Karaniwan, sarili mong email address. Dito matatanggap ang bawat ulat.
Relatibo sa repo. I-clear ito kung ilalagay mo ang Dockerfile katabi ng project.yaml.
Opsyonal, paghiwalayin ng kuwit.
Panatilihin ang default maliban kung nasa ibang lokasyon ang file mo.
Opsyonal. Ie-encrypt ang mga ulat; hindi puwedeng gumamit ng CC kung gayon.
projects/my-project/project.yaml
repo: https://github.com/owner/project primary_contact: you@example.org Dockerfile: Dockerfile
Buksan ang 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
Kailangan ang GitHub CLI (gh) at Python 3. Bine-verify muna ng Anthropic na isa kang pangunahing maintainer bago ito tanggapin.
Halimbawang Dockerfile
Panimulang punto ito para sa proyektong C/C++ na binuo gamit ang CMake. Iangkop ang mga package at build command sa proyekto mo; mahalagang mai-install at mabuo ang lahat sa loob ng image dahil offline isinasagawa ang audit.
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-failureMga tanong tungkol sa OSS Scanner ng Anthropic
Libre ba ang OSS Scanner ng Anthropic?
Oo. Sinasagot ng Anthropic ang buong gastos sa pag-scan para sa mga naka-enroll na proyekto.
Kailangan bang nasa GitHub ang proyekto ko?
Hindi. Puwedeng tumukoy ang field na repo sa anumang git host. Sa GitHub lang ipinapadala ang pull request para sa enrollment.
Sinusuri ba ng tao ang mga ulat?
Hindi. Ganap na binubuo ng modelo ang mga ulat sa mabilisang proseso. Patuloy na hiwalay na dumarating ang mga ulat na beripikado ng tao sa pamamagitan ng proseso ng CVD ng Anthropic.
Paano kung hindi matanggap ang proyekto ko?
Maaari mo itong i-scan sa ossscanner.org anumang oras at magpatala rito para sa lingguhang masusing scan — kwalipikado ang anumang pampublikong repositoryo.
Paano ko ititigil ang pagtanggap ng mga ulat?
Magbukas ng PR at idagdag ang disabled: true sa iyong project.yaml, o burahin ang direktoryo ng iyong proyekto. Muli ka na lamang makakatanggap ng mga ulat ng CVD na beripikado ng tao.