Alasan Anthropic membuatnya
Selama lebih dari enam bulan, model Anthropic menemukan lebih dari 29.000 kandidat kerentanan dalam perangkat lunak sumber terbuka penting, tetapi tim keamanannya hanya dapat meninjau sekitar 6.000 secara manual. Banyak pengelola proyek yang menerima laporan pertama yang diverifikasi manusia meminta agar semua laporan, termasuk yang belum diverifikasi, dikirim begitu saja bersama usulan patch — hampir 5.000 laporan dikirim dengan cara itu.
OSS Scanner menjadikannya jalur cepat yang dapat dipilih. Laporan yang diverifikasi manusia tetap diproses melalui proses pengungkapan kerentanan terkoordinasi (CVD) Anthropic; proyek yang terdaftar juga menerima keluaran mentah model begitu siap. Anthropic menyatakan bahwa layanan ini terinspirasi oleh OSS-Fuzz dari Google.
Yang diterima pengelola proyek
Setelah pendaftaran, proyek dipindai dan para pengelola menerima kumpulan laporan melalui email. Pipeline Anthropic mencakup agen yang memeriksa ulang bug, mengusulkan patch, dan melakukan analisis akar penyebab. Setiap laporan berisi:
- reproducer mandiri
- penjelasan kerentanan, termasuk biseksi untuk mencari tahu kapan bug diperkenalkan jika memungkinkan
- patch kandidat jika tersedia
Proyek dipindai ulang secara berkala untuk menemukan bug yang baru diperkenalkan maupun yang terlewat sebelumnya. Frekuensinya bergantung pada jumlah proyek dalam pipeline, seberapa luas proyek digunakan, dan faktor lainnya.
Seberapa akurat hasilnya?
Sebelum peluncuran, penguji penetrasi Anthropic memeriksa 97 temuan kritis dan berkeparahan tinggi di 48 proyek. Sebanyak 85 (88%) memenuhi standar proses CVD Anthropic; 11 dari 12 temuan yang tersisa memang valid, tetapi merupakan duplikat masalah yang sudah diketahui, dan hanya satu yang merupakan positif palsu. Anthropic memperkirakan tingkat positif sejati di atas 90% dan mengingatkan bahwa penilaian tingkat keparahan bisa terlalu tinggi atau pemindai dapat salah memahami threat model proyek.
Para peserta awal memberikan tanggapan positif. wolfSSL melaporkan bahwa dari 74 laporan, semuanya kecuali dua valid dan lima menghasilkan CVE. Daniel Stenberg mengatakan pemindai menemukan salah satu kerentanan curl terburuk dalam beberapa tahun terakhir; para pengelola PostgreSQL, OpenSSL, dan HotCRP juga memuji laporannya.
Siapa yang memenuhi syarat
Anthropic menggunakan kriteria yang serupa dengan OSS-Fuzz: proyek mapan dengan dampak kritis terhadap infrastruktur dan keamanan pengguna, yang dinilai berdasarkan kasus per kasus. Faktor penting meliputi paparan terhadap serangan jarak jauh (misalnya, pustaka yang memproses input tak tepercaya) serta jumlah pengguna dan proyek yang bergantung padanya. Jika tingkat kepentingannya tidak jelas, tambahkan kalimat singkat yang menjelaskannya.
Anthropic memverifikasi secara manual bahwa orang yang mengajukan permohonan adalah pengelola inti, dan dapat menghubungi proyek melalui saluran lain. Layanan ini ditujukan bagi proyek yang sudah mampu menangani laporan terverifikasi dengan tingkat keparahan tinggi dan kritis — jika kotak masuk Anda sudah kewalahan, layanan ini mungkin belum cocok.
Cara mengajukan permohonan
Pengelola inti membuka pull request ke github.com/anthropics/oss-scanner yang menambahkan projects/your-project/project.yaml, dengan menggunakan templat di repositori tersebut sebagai titik awal.
Kolom wajib:
- repo — URL git untuk dikloning, boleh disertai #branch; repositorinya tidak harus berada di GitHub
- primary_contact — alamat email yang menerima setiap laporan
- Dockerfile — jalur relatif terhadap repo menuju Dockerfile yang menginstal dependensi dan membangun proyek; atau letakkan file bernama Dockerfile di samping project.yaml dan kosongkan kolom ini
Kolom opsional:
- auto_ccs — alamat tambahan yang disertakan pada setiap laporan
- homepage — situs web proyek
- threat_model — jalur ke threat model Anda, default .oss-scanner/threat_model.md
- pgp — kunci publik untuk mengenkripsi email laporan; jika diatur, CC tidak diizinkan
- disabled — atur ke true untuk menjeda laporan
Jalankan tools/validate.py dan bangun Dockerfile secara lokal sebelum membuka PR. Setelah diterima, Anthropic membangun image di infrastrukturnya dan mengirim email kepada Anda jika prosesnya gagal.
Dockerfile dan audit offline
Dockerfile dibangun dengan akses jaringan. Semua proses setelahnya — audit oleh agen — berjalan tanpa akses internet di dalam sandbox yang diperkuat keamanannya. Karena itu, image harus sudah memiliki semua dependensi dan proyek harus sudah dibangun. Anthropic menyarankan agar Anda memastikan pengujian berhasil di dalam kontainer: dengan begitu agen dapat mengompilasi dan menjalankan kode untuk mengonfirmasi bug.
File threat model
threat_model.md bersifat opsional dan tidak memiliki format wajib. File ini memberi Anda kesempatan untuk memberi tahu agen hal-hal yang tidak didokumentasikan di tempat lain:
- kode mana yang harus diuji, input mana yang bersifat adversarial, dan apa yang berada di luar cakupan
- rubrik tingkat keparahan untuk kritis, tinggi, sedang, dan rendah
- seperti apa laporan yang diinginkan, apakah patch harus minimal atau siap digabungkan, serta proof of concept mana yang berguna
- seberapa terperinci deduplikasi harus dilakukan
Tanpa file ini, pemindai akan membuat perkiraan. Anda dapat mengubah file di antara pemindaian untuk mengubah laporan. Pembuat threat model kami menghasilkan file yang siap digunakan.
Pengungkapan, jeda, dan atribusi
Tidak ada tenggat 90 hari untuk temuan yang belum divalidasi ini. Jika kelak Anthropic memvalidasi laporan melalui program CVD-nya, Anthropic dapat mengungkapkannya 90 hari setelah memberi tahu Anda bahwa seorang pakar telah memvalidasinya. Anthropic mengatakan bahwa ke depannya, tenggat waktu mungkin diberlakukan untuk beberapa laporan berkeparahan tinggi, dengan pemberitahuan dan opsi untuk tidak ikut.
Untuk menjeda, tambahkan disabled: true ke project.yaml melalui PR; untuk berhenti, hapus direktori projects/ Anda. Kirimkan masukan sebagai balasan ke email laporan; jika Anda belum terdaftar, kirim email ke oss-scanner-questions@anthropic.com.
Pencantuman kredit bersifat opsional. Anthropic menyarankan baris dalam pesan commit seperti “Ditemukan oleh Anthropic's OSS Scanner, sebagai kerentanan ANT-2026-ABCD1234”.
Keamanan data
Laporan ditangani seperti temuan CVD standar Anthropic: disimpan di proyek cloud terisolasi dan aksesnya dibatasi, hanya dapat diakses oleh staf keamanan yang menjalankan program.
OSS Scanner dibandingkan dengan Claude Security
Claude Security adalah produk komersial Anthropic untuk perusahaan yang ingin menemukan dan memperbaiki kerentanan dalam kode mereka sendiri. OSS Scanner ditujukan bagi pengelola proyek sumber terbuka: layanan ini menambahkan harness eksperimental yang membutuhkan banyak token untuk menemukan bug yang lebih dalam, dan Anthropic menanggung seluruh biayanya. Pengelola juga bisa mendapatkan Claude Max 20x secara gratis melalui Claude for OSS, dan profesional keamanan dapat mengajukan permohonan ke Cyber Verification Program.
Generator project.yaml
Isi kolom untuk mendapatkan project.yaml dalam format yang dijelaskan di FAQ Anthropic, beserta perintah untuk membuka pull request. Selalu periksa templat terbaru di repositori sebelum mengirimkan.
Host git publik apa pun. Nama branch ditambahkan sebagai #branch.
Folder di dalam projects/ pada repositori Anthropic.
Biasanya alamat email Anda sendiri. Menerima setiap laporan.
Relatif terhadap repo. Kosongkan jika Anda meletakkan Dockerfile di sebelah project.yaml.
Opsional, pisahkan dengan koma.
Biarkan nilai default kecuali file Anda berada di lokasi lain.
Opsional. Laporan akan dienkripsi; CC tidak diizinkan.
projects/my-project/project.yaml
repo: https://github.com/owner/project primary_contact: you@example.org Dockerfile: Dockerfile
Buka 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
Memerlukan GitHub CLI (gh) dan Python 3. Anthropic memverifikasi secara manual bahwa Anda adalah maintainer inti sebelum menerima.
Contoh Dockerfile
Contoh awal untuk proyek C/C++ yang dibangun dengan CMake. Sesuaikan paket dan perintah build dengan proyek Anda; yang penting, semuanya diinstal dan dibangun di dalam image, karena audit berjalan secara offline.
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-failurePertanyaan tentang OSS Scanner dari Anthropic
Apakah OSS Scanner dari Anthropic gratis?
Ya. Anthropic menanggung seluruh biaya pemindaian untuk proyek yang terdaftar.
Apakah proyek saya harus ada di GitHub?
Tidak. Kolom repo dapat mengarah ke host git mana pun. Hanya pull request pendaftaran yang dikirim ke GitHub.
Apakah laporan ditinjau oleh manusia?
Tidak. Laporan jalur cepat sepenuhnya dibuat oleh model. Laporan yang diverifikasi manusia tetap dikirim secara terpisah melalui proses CVD Anthropic.
Bagaimana jika proyek saya tidak diterima?
Anda dapat memindainya kapan saja di ossscanner.org dan mendaftar di sini untuk pemindaian mendalam mingguan — semua repositori publik memenuhi syarat.
Bagaimana cara berhenti menerima laporan?
Buat PR yang menambahkan disabled: true ke project.yaml Anda, atau hapus direktori proyek Anda. Anda akan kembali hanya menerima laporan CVD yang diverifikasi oleh manusia.