Database Penasihat Keamanan PHP merujuk pada kerentanan keamanan yang diketahui di berbagai proyek dan perpustakaan PHP. Basis data ini tidak boleh berfungsi sebagai sumber informasi utama untuk masalah keamanan, tidak otoritatif untuk perangkat lunak referensi apa pun, namun memungkinkan untuk memusatkan informasi untuk kenyamanan dan kemudahan konsumsi.
Basis data penasihat keamanan PHP adalah perangkat lunak gratis dan tidak terbebani yang dirilis ke domain publik.
Untuk memeriksa kerentanan dalam aplikasi Anda selain pemeriksaan manual, Anda harus menggunakan alat CLI Lokal:
local-php-security-checker --path=/path/to/composer.lock
TIPS : Jika Anda menggunakan Github, Anda dapat menggunakan Tindakan Github Pemeriksa Keamanan PHP untuk memeriksa kerentanan secara otomatis saat memasukkan kode.
Berkontribusi pada saran keamanan sangatlah mudah:
Anda dapat menyumbangkan entri baru dengan mengirimkan permintaan tarik atau dengan membuat file langsung melalui antarmuka Github;
Buat direktori berdasarkan nama Komposer perangkat lunak di mana masalah keamanan terjadi (misalnya gunakan symfony/http-foundation
untuk masalah di komponen Symfony HttpFoundation);
Setiap masalah keamanan harus disimpan dalam file yang namanya adalah pengidentifikasi CVE (lebih disukai) atau tanggal ketika masalah keamanan diumumkan diikuti dengan kenaikan (misalnya 2012-12-12-1
);
File dalam format YAML dan harus berisi entri berikut (lihat entri yang ada sebagai contoh):
title
: Teks yang menjelaskan masalah keamanan dalam beberapa kata;
link
: Tautan ke pengumuman masalah keamanan resmi (tautan HTTPS lebih disukai daripada tautan HTTP);
reference
: Referensi unik untuk mengidentifikasi perangkat lunak (satu-satunya skema yang didukung adalah composer://
diikuti dengan pengidentifikasi Composer);
branches
: Hash dari cabang yang terpengaruh, dengan nama adalah nama cabang (seperti 2.0.x
), dan nilainya adalah hash dengan entri berikut:
time
: Tanggal dan waktu dalam UTC ketika masalah keamanan telah diperbaiki atau null jika masalah belum diperbaiki (seringnya, tanggal komit penggabungan yang memperbaiki masalah dalam format berikut 2012-08-27 19:17:44
) -- informasi ini harus seakurat mungkin karena digunakan untuk menentukan apakah suatu proyek terkena dampak atau tidak;
versions
: Serangkaian batasan yang menjelaskan versi yang terpengaruh untuk cabang ini (ini adalah format yang sama dengan yang digunakan untuk Komposer -- ['>=2.0.0', '<2.0.17']
).
Jika Anda memiliki pengenal CVE, tambahkan di bawah kunci cve
.
Pastikan file Anda divalidasi dengan menjalankan php -d memory_limit=-1 validator.php
dari root proyek ini. Skrip ini memerlukan beberapa dependensi untuk diinstal melalui composer, jadi Anda perlu menjalankan composer install
sebelumnya.
Jika beberapa kode yang terpengaruh tersedia melalui entri Komposer yang berbeda (seperti ketika Anda memiliki subpohon read-only yang terbagi dari repositori utama), duplikat informasi tersebut dalam beberapa file.