Menerapkan pemberitahuan Dependabot GitHub dan pembaruan keamanan

Selesai

GitHub Dependabot menyediakan manajemen dependensi otomatis yang terintegrasi langsung ke repositori GitHub. Dependabot memantau dependensi untuk kerentanan keamanan dan versi lama, memperingatkan pengurus repositori dan secara otomatis membuat permintaan pull untuk memperbarui dependensi yang rentan atau kedaluarsa. Integrasi ini membuat keamanan dependensi dapat diakses oleh semua pengguna GitHub tanpa memerlukan alat terpisah.

Memahami Dependabot GitHub

GitHub Dependabot terdiri dari tiga fitur utama yang bekerja sama untuk mengamankan dependensi:

Peringatan Dependabot

Pemberitahuan Dependabot memberitahukan pemelihara repositori saat dependensi yang rentan terdeteksi. GitHub terus memantau GitHub Advisory Database dan sumber kerentanan lainnya, membandingkannya dengan dependensi yang digunakan dalam repositori.

Pemicu pemberitahuan:

  • Pengungkapan kerentanan baru: Pemberitahuan dibuat saat kerentanan baru ditambahkan ke Database Penasihat GitHub.
  • Pembaruan saran: Pemberitahuan yang ada diperbarui saat informasi kerentanan berubah (tingkat keparahan, versi yang terpengaruh, patch).
  • Perubahan grafik dependensi: Pemberitahuan baru dihasilkan ketika perubahan kode memperkenalkan dependensi yang rentan.
  • Data kerentanan dari Mend: Inteligensi kerentanan tambahan dari Mend (sebelumnya WhiteSource) menambahkan GitHub Advisory Database.

Informasi pemberitahuan meliputi:

  • Deskripsi kerentanan: Penjelasan terperinci tentang masalah keamanan.
  • Tingkat keparahan: Skor CVSS dan klasifikasi tingkat keparahan (kritis, tinggi, sedang, rendah).
  • Versi yang terpengaruh: Versi dependensi mana yang berisi kerentanan.
  • Versi yang di-patch: Versi mana yang memperbaiki kerentanan.
  • Pengidentifikasi CVE: Pengidentifikasi Kerentanan dan Paparan Umum (CVE) saat tersedia.
  • Klasifikasi CWE: Jenis Enumerasi Kelemahan Umum (CWE) mengategorikan kerentanan.
  • Tautan GitHub Security Advisory: Tautkan ke saran lengkap dengan detail tambahan.

Pembaruan keamanan dependabot

Pembaruan keamanan Dependabot secara otomatis membuat permintaan pull untuk memperbarui dependensi yang rentan ke versi yang aman. Saat pemberitahuan Dependabot mendeteksi kerentanan dengan patch yang tersedia, pembaruan keamanan dapat secara otomatis menghasilkan permintaan pull yang memperbaiki kerentanan.

Pembuatan permintaan pull otomatis:

  • Dipicu oleh kerentanan: Pembaruan keamanan membuat pull request hanya ketika kerentanan keamanan terdeteksi, bukan untuk setiap pembaruan dependensi.
  • Peningkatan versi minimal: Permintaan tarik memperbarui dependensi ke versi minimum yang menyelesaikan kerentanan sambil mempertahankan kompatibilitas.
  • Skor kompatibilitas: GitHub menghitung skor kompatibilitas yang memprediksi apakah pembaruan akan merusak fungsionalitas yang ada.
  • Catatan rilis: Permintaan pull mencakup catatan rilis dan informasi changelog dari dependensi yang diperbarui.

Fitur permintaan pull:

  • Pengujian otomatis: Permintaan pull memicu alur CI/CD yang ada untuk memvalidasi bahwa pembaruan tidak merusak fungsionalitas.
  • Resolusi kerentanan: Deskripsi permintaan pull menjelaskan kerentanan mana yang diselesaikan oleh pembaruan.
  • Perbarui perintah: Komentar khusus memungkinkan pemeliharaan mengontrol waktu penggabungan, melakukan rebase permintaan pull, atau mengabaikan pembaruan tertentu.
  • Pembaruan yang dikelompokkan: Beberapa dependensi yang rentan dapat diperbarui dalam satu permintaan pull jika sesuai.

Pembaruan versi Dependabot

Pembaruan versi Dependabot selalu memperbarui dependensi bahkan ketika tidak ada kerentanan yang ada. Tidak seperti pembaruan keamanan yang hanya memperbarui dependensi yang rentan, pembaruan versi secara proaktif memperbarui dependensi ke versi terbaru berdasarkan jadwal yang dikonfigurasi.

Pembaruan terjadwal:

  • Frekuensi yang dapat dikonfigurasi: Pembaruan dapat dijadwalkan setiap hari, mingguan, atau bulanan.
  • Perbarui strategi: Konfigurasikan apakah akan memperbarui semua dependensi, hanya dependensi langsung, atau grup dependensi tertentu.
  • Batasan versi: Menghormati batasan penerapan versi semantik yang ditentukan dalam file manifes.
  • Batas pull request: Mengontrol berapa banyak pull request terbuka yang dibuat Dependabot untuk menghindari membebani pemelihara.

Mengaktifkan pemberitahuan Dependabot

Pemberitahuan Dependabot diaktifkan secara default untuk repositori publik tetapi harus diaktifkan secara manual untuk repositori privat.

Mengaktifkan pemberitahuan untuk repositori

Navigasi:

  1. Navigasikan ke repositori di GitHub.
  2. Klik Pengaturan di menu repositori.
  3. Klik Keamanan & analisis di bilah sisi kiri.
  4. Temukan bagian Dependabot Alerts.
  5. Klik Aktifkan untuk mengaktifkan pemberitahuan Dependabot.

Persyaratan grafik dependensi: Pemberitahuan Dependabot mengharuskan grafik dependensi diaktifkan. Grafik dependensi diaktifkan secara otomatis untuk repositori publik tetapi mungkin memerlukan aktivasi manual untuk repositori privat.

Aktifkan grafik dependensi:

  1. Di Pengaturan → Keamanan & analisis, temukan grafik Dependensi.
  2. Klik Aktifkan jika grafik dependensi belum aktif.
  3. GitHub akan mulai menganalisis dependensi repositori untuk membangun grafik dependensi.

Pengaktifan di seluruh organisasi

Administrator organisasi dapat mengaktifkan pemberitahuan Dependabot di semua repositori:

Pengaturan organisasi:

  1. Navigasi ke Pengaturan organisasi.
  2. Klik Keamanan & analisis di bilah sisi kiri.
  3. Klik Aktifkan semua di samping peringatan Dependabot untuk mengaktifkan peringatan untuk semua repositori yang ada dan yang akan datang.
  4. Secara opsional pilih Aktifkan secara otomatis untuk repositori baru untuk mengaktifkan pemberitahuan untuk repositori yang baru dibuat.

Ekosistem paket yang didukung

Pemberitahuan Dependabot mendukung banyak ekosistem paket termasuk:

Ekosistem yang didukung:

  • JavaScript: npm (package.json, package-lock.json), Yarn (yarn.lock).
  • Python: pip (requirements.txt, Pipfile, Pipfile.lock), Poetry (poetry.lock).
  • Ruby: Bundler (Gemfile, Gemfile.lock).
  • Java: Maven (pom.xml), Gradle (build.gradle, build.gradle.kts).
  • .NET: NuGet (*.csproj, packages.config, paket.dependencies).
  • Go: Modul dalam Go (go.mod, go.sum).
  • PHP: Composer (composer.json, composer.lock).
  • Rust: Cargo (Cargo.toml, Cargo.lock).
  • Elixir: Mix (mix.exs, mix.lock).
  • Dart/Flutter: pub (pubspec.yaml, pubspec.lock).
  • Docker: Dockerfiles (referensi gambar dasar).
  • Tindakan GitHub: File alur kerja (versi tindakan).
  • Terraform: Konfigurasi Terraform (versi modul).

Mengonfigurasi pembaruan keamanan Dependabot

Pembaruan keamanan Dependabot memerlukan pengaktifan eksplisit bahkan ketika pemberitahuan diaktifkan.

Mengaktifkan pembaruan keamanan

Konfigurasi repositori:

  1. Navigasi ke Pengaturan → Keamanan &analisis.
  2. Temukan pembaruan keamanan Dependabot.
  3. Klik Aktifkan untuk mengaktifkan permintaan pull pembaruan keamanan otomatis.
  4. Dependabot akan mulai memantau dependensi yang rentan dan membuat permintaan pull saat patch tersedia.

Konfigurasi di seluruh organisasi:

  1. Navigasi ke Pengaturan organisasi → Keamanan &analisis.
  2. Klik Aktifkan semua di samping Pembaruan keamanan Dependabot.
  3. Pilih Aktifkan secara otomatis repositori baru untuk mengaktifkan repositori di masa mendatang.

Perilaku pembaruan keamanan

Pembuatan permintaan pull otomatis:

  • Deteksi kerentanan: Saat Dependabot alerts mendeteksi dependensi yang rentan dengan patch yang tersedia, pembaruan keamanan membuat pull request.
  • Pembaruan minimal: Permintaan pull diperbarui hanya ke versi minimum yang menyelesaikan kerentanan.
  • Penerapan versi semantik: Pembaruan menghormati penerapan versi semantik, lebih memilih pembaruan patch daripada pembaruan kecil atau besar jika memungkinkan.
  • Integrasi pengujian: Permintaan pull memicu pemeriksaan CI/CD yang ada untuk memvalidasi pembaruan.

Skor kompatibilitas: GitHub menghitung skor kompatibilitas yang menunjukkan kemungkinan pembaruan akan merusak fungsionalitas yang ada:

  • Kompatibilitas tinggi: Pembaruan kemungkinan aman berdasarkan analisis repositori serupa.
  • Kompatibilitas sedang: Pembaruan mungkin memperkenalkan perubahan yang memutuskan kompatibilitas dan memerlukan tinjauan.
  • Kompatibilitas rendah: Pembaruan kemungkinan mencakup perubahan signifikan yang memerlukan modifikasi kode.
  • Kompatibilitas tidak diketahui: Data tidak cukup untuk menilai kompatibilitas.

Manajemen permintaan pull:

  • Rebasing otomatis: Dependabot secara otomatis melakukan rebase pada pull request saat branch dasar berubah.
  • Resolusi konflik: Permintaan tarik ditutup jika konflik mencegah rebase otomatis.
  • Menggantikan pembaruan: Permintaan pull baru menggantikan permintaan pull yang lebih lama saat versi yang lebih baru dirilis.
  • Pembaruan terjadwal: Permintaan tarik dibuat sesuai dengan jadwal yang dikonfigurasi untuk menghindari membebani pemelihara.

Mengonfigurasi pembaruan versi Dependabot

Pembaruan versi memerlukan file konfigurasi yang menentukan jadwal dan perilaku pembaruan.

Membuat konfigurasi dependabot.yml

Pembaruan versi dikonfigurasi menggunakan .github/dependabot.yml file di repositori:

Konfigurasi dasar:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 10

Opsi konfigurasi:

  • versi: Versi skema file konfigurasi (selalu 2).
  • Memperbarui: Array konfigurasi pembaruan untuk ekosistem paket yang berbeda.
  • package-ecosystem: Manajer paket untuk memantau (npm, pip, bundler, maven, nuget, dll.).
  • direktori: Lokasi file manifes paket (/ untuk jalur root, atau subdirektori).
  • schedule.interval: Frekuensi pembaruan (harian, mingguan, bulanan).
  • open-pull-requests-limit: Jumlah maksimum permintaan pull terbuka yang dibuat Dependabot (default 5).

Contoh konfigurasi tingkat lanjut:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
      day: "monday"
      time: "08:00"
      timezone: "America/New_York"
    open-pull-requests-limit: 10
    reviewers:
      - "team/frontend-developers"
    assignees:
      - "dependency-manager"
    labels:
      - "dependencies"
      - "npm"
    commit-message:
      prefix: "npm"
      include: "scope"
    ignore:
      - dependency-name: "lodash"
        versions: ["4.x"]
    allow:
      - dependency-type: "production"

Opsi tingkat lanjut:

  • schedule.day: Hari dalam seminggu untuk pembaruan mingguan (Senin hingga Minggu).
  • schedule.time: Waktu hari untuk pembaruan (format 24 jam).
  • schedule.timezone: Zona waktu untuk jadwal (pengidentifikasi zona waktu IANA).
  • Penelaah: Pengguna atau tim GitHub secara otomatis meminta peninjauan permintaan pull.
  • penerima tugas: Pengguna GitHub secara otomatis ditetapkan untuk menarik permintaan.
  • Label: Label secara otomatis diterapkan ke permintaan pull.
  • commit-message.prefix: Awalan untuk pesan commit (berguna untuk commit konvensional).
  • mengabaikan: Dependensi untuk diabaikan, secara opsional dengan rentang versi tertentu.
  • memperbolehkan: Jenis dependensi untuk diperbarui (produksi, pengembangan, semua).

Berbagai ekosistem paket

Repositori yang menggunakan beberapa ekosistem bahasa memerlukan konfigurasi pembaruan terpisah:

Konfigurasi multi-ekosistem:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/frontend"
    schedule:
      interval: "weekly"

  - package-ecosystem: "pip"
    directory: "/backend"
    schedule:
      interval: "weekly"

  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"

  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      interval: "monthly"

Konfigurasi ini memantau dependensi npm dalam /frontend, dependensi Python dalam /backend, gambar dasar Docker di seluruh repositori, dan versi GitHub Actions dalam workflow.

Mengelola permintaan tarik Dependabot

Permintaan pull Dependabot mendukung perintah khusus untuk mengelola pembaruan.

Perintah permintaan pull

Perintah komentar:

  • @dependabot rebase: Rebase permintaan pull terhadap cabang dasar saat ini.
  • @dependabot recreate: Buat ulang permintaan pull, menimpa pengeditan manual apa pun.
  • @dependabot merge: Gabungkan permintaan pull setelah pemeriksaan CI lulus.
  • @dependabot squash and merge: Squash commit dan gabungkan setelah pengecekan berhasil.
  • @dependabot cancel merge: Batalkan penggabungan yang diminta sebelumnya.
  • @dependabot reopen: Buka kembali permintaan pull tertutup.
  • @dependabot close: Tutup permintaan pull dan cegah Dependabot untuk membuatnya kembali.
  • @dependabot ignore this major version: Tutup permintaan pull dan abaikan pembaruan mendatang ke versi utama ini.
  • @dependabot ignore this minor version: Tutup permintaan pull dan abaikan pembaruan mendatang ke versi minor ini.
  • @dependabot ignore this dependency: Tutup permintaan pull dan abaikan semua pembaruan di masa mendatang untuk dependensi ini.

Meninjau dan menggabungkan pembaruan

Proses peninjauan:

  1. Periksa deskripsi permintaan pull: Pahami kerentanan mana yang diselesaikan atau versi mana yang diperbarui.
  2. Tinjau skor kompatibilitas: Menilai kemungkinan perubahan yang merusak.
  3. Periksa hasil CI/CD: Verifikasi bahwa pengujian otomatis berhasil lulus.
  4. Tinjau catatan rilis: Pahami perubahan yang disertakan dalam pembaruan dependensi.
  5. Uji secara lokal jika diperlukan: Untuk pembaruan utama, uji fungsionalitas secara lokal sebelum menggabungkan.
  6. Gabungkan permintaan pull: Setujui dan gabungkan permintaan pull untuk memperbarui dependensi.

Penggabungan otomatis: Untuk pembaruan berisiko rendah dengan skor kompatibilitas tinggi dan lulus pengujian, pertimbangkan untuk mengonfigurasi penggabungan otomatis:

Penggabungan otomatis GitHub Actions:

name: Auto-merge Dependabot PRs
on: pull_request

jobs:
  auto-merge:
    runs-on: ubuntu-latest
    if: github.actor == 'dependabot[bot]'
    steps:
      - name: Enable auto-merge
        run: gh pr merge --auto --squash "$PR_URL"
        env:
          PR_URL: ${{ github.event.pull_request.html_url }}
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Alur kerja ini secara otomatis mengaktifkan penggabungan otomatis untuk permintaan penarikan Dependabot yang melewati semua pemeriksaan yang diperlukan.

Peringatan dan pemberitahuan Dependabot

Dependabot menyediakan beberapa mekanisme pemberitahuan untuk pemberitahuan kerentanan.

Saluran pemberitahuan

Pemberitahuan web:

  • Pemberitahuan GitHub: Pemberitahuan muncul di kotak masuk pemberitahuan GitHub.
  • Tab Keamanan: Pemberitahuan terlihat di tab Keamanan repositori di bawah pemberitahuan Dependabot.
  • Wawasan repositori: Grafik dependensi di tab Insight menunjukkan dependensi yang rentan.

Pemberitahuan email:

  • Email ringkasan: Email ringkasan mingguan yang mencantumkan pemberitahuan baru.
  • Email real-time: Email langsung untuk kerentanan kritis.
  • Pemberitahuan organisasi: Administrator organisasi menerima pemberitahuan untuk semua repositori.

Pemberitahuan kustom:

  • Webhook: Konfigurasikan webhook untuk menerima pemberitahuan pemberitahuan di sistem eksternal.
  • API GitHub: Kueri API pemberitahuan Dependabot untuk mengambil informasi pemberitahuan secara terprogram.
  • Integrasi keamanan: Platform keamanan pihak ketiga dapat diintegrasikan dengan pemberitahuan Dependabot melalui API.

Mengonfigurasi preferensi pemberitahuan

Pengaturan pemberitahuan pengguna:

  1. Navigasi ke Pengaturan GitHub → Pemberitahuan.
  2. Temukan bagian Pemberitahuan keamanan .
  3. Mengonfigurasi preferensi pemberitahuan:
    • Berpartisipasi: Terima pemberitahuan untuk repositori yang Sedang Anda tonton atau ikuti.
    • Menonton: Menerima pemberitahuan untuk semua repositori yang ditonton.
    • Email: Aktifkan pemberitahuan email untuk pemberitahuan keamanan.
    • Web: Aktifkan pemberitahuan web di antarmuka pengguna GitHub.

Pengaturan pemberitahuan organisasi:

  1. Navigasi ke Pengaturan organisasi → Keamanan &analisis.
  2. Mengonfigurasi siapa yang menerima pemberitahuan pemberitahuan keamanan:
    • Pemilik organisasi: Secara otomatis menerima semua pemberitahuan keamanan.
    • Manajer keamanan: Tim keamanan yang ditunjuk menerima pemberitahuan.
    • Administrator repositori: Setiap admin repositori menerima pemberitahuan untuk repositori mereka.

Meninjau pemberitahuan Dependabot

Tab Keamanan menyediakan manajemen pemberitahuan yang komprehensif.

Detail peringatan

Navigasi ke pemberitahuan:

  1. Buka repositori di GitHub.
  2. Klik tab Keamanan.
  3. Klik Dependabot Alerts di bilah sisi kiri.
  4. Tinjau daftar pemberitahuan aktif.

Informasi pemberitahuan:

  • Keparahan: Klasifikasi tingkat keparahan kritis, tinggi, sedang, atau rendah.
  • Paket: Nama dan versi dependensi yang terpengaruh.
  • Kerentanan: Pengidentifikasi dan deskripsi CVE.
  • Versi yang di-patch: Versi yang mengatasi kerentanan.
  • Jalur kode yang rentan: Apakah kode yang rentan benar-benar digunakan (jika analisis keterjangkauan tersedia).
  • Perbaikan otomatis tersedia: Apakah Dependabot dapat secara otomatis membuat permintaan pull untuk memperbaiki kerentanan.

Mengelola pemberitahuan

Tindakan pemberitahuan:

  • Tinjau permintaan pull: Jika ada pembaruan keamanan otomatis, tinjau dan gabungkan permintaan pull.
  • Tutup pemberitahuan: Menutup positif palsu atau risiko yang diterima dengan alasan pemecatan.
  • Pemberitahuan tunda: Menutup sementara pemberitahuan yang tidak dapat segera ditangani.
  • Buka kembali pemberitahuan: Buka kembali pemberitahuan yang sebelumnya ditutup jika keadaan berubah.

Alasan pemecatan:

  • Perbaikan dimulai: Tim secara aktif bekerja pada remediasi.
  • Tidak ada bandwidth: Masalah diakui tetapi saat ini tidak dapat diatasi.
  • Risiko yang dapat ditoleransi: Kerentanan tidak menimbulkan risiko signifikan dalam konteks ini.
  • Tidak akurat: Peringatan adalah positif palsu.

Integrasi GitHub Advanced Security

GitHub Dependabot adalah komponen inti dari GitHub Advanced Security, platform keamanan komprehensif GitHub yang menyediakan fitur keamanan tingkat perusahaan untuk melindungi rantai pasokan perangkat lunak Anda.

Fitur Keamanan Tingkat Lanjut

Kemampuan keamanan terintegrasi:

  • Pemindaian dependensi: Dependabot secara otomatis memindai dependensi untuk kerentanan yang diketahui menggunakan Database Penasihat GitHub dan database kerentanan industri.
  • Pemindaian rahasia: Mendeteksi rahasia, token, dan kredensial yang secara tidak sengaja dimasukkan dalam kode dan riwayat repositori.
  • Pemindaian kode: Menggunakan CodeQL dan mesin analisis lainnya untuk menemukan kerentanan keamanan dan kesalahan pengkodean dalam kode sumber.
  • Gambaran umum keamanan: Memberikan visibilitas seluruh organisasi ke dalam pemberitahuan keamanan, kerentanan, dan status remediasi.
  • Keamanan rantai pasokan: Grafik dependensi, tinjauan dependensi, dan pembuatan SBOM untuk visibilitas rantai pasokan yang komprehensif.

Lisensi dan ketersediaan

Akses Keamanan Tingkat Lanjut:

  • Repositori publik: Semua fitur GitHub Advanced Security tersedia secara gratis di repositori publik.
  • Repositori privat: Memerlukan lisensi GitHub Advanced Security (disertakan dengan GitHub Enterprise Cloud dan GitHub Enterprise Server).
  • GitHub Free/Team: Peringatan Dependabot dan pembaruan keamanan tersedia, namun pemindaian kode dan pemindaian rahasia memerlukan lisensi Keamanan Lanjutan.

Dasbor gambaran umum keamanan

Gambaran umum Keamanan memberikan visibilitas tingkat organisasi:

Metrik keamanan organisasi:

  • Tren pemberitahuan: Lihat tren pemberitahuan keamanan di semua repositori dari waktu ke waktu.
  • Penilaian risiko: Identifikasi repositori dengan risiko keamanan tertinggi berdasarkan pemberitahuan kritis dan tingkat keparahan tinggi.
  • Cakupan tim: Pantau tim mana yang mengaktifkan fitur keamanan dan melacak kemajuan remediasi.
  • Pelaporan kepatuhan: Buat laporan untuk kepatuhan keamanan dan persyaratan audit.

Gambaran umum keamanan akses:

  1. Navigasikan ke organisasi Anda di GitHub.
  2. Klik tab Keamanan.
  3. Tinjau metrik keamanan, jumlah pemberitahuan, dan tren di seluruh organisasi.
  4. Telusuri paling detail repositori atau jenis pemberitahuan tertentu untuk penyelidikan terperinci.

Mengaktifkan Keamanan Tingkat Lanjut

Untuk pemilik organisasi:

  1. Navigasi ke Pengaturan organisasi.
  2. Klik Keamanan dan analisis kode.
  3. Aktifkan GitHub Advanced Security untuk repositori privat.
  4. Konfigurasikan pengaturan default untuk:
    • Grafik dependensi (diaktifkan secara otomatis).
    • Peringatan Dependabot.
    • Pembaruan keamanan Dependabot.
    • Pemindaian rahasia.
    • Pemindaian kode (memerlukan konfigurasi alur kerja).

Pengaktifan tingkat repositori:

Repositori individual dapat mengaktifkan atau menonaktifkan fitur Keamanan Tingkat Lanjut:

  1. Navigasi ke Pengaturan repositori.
  2. Klik Keamanan dan analisis kode.
  3. Aktifkan fitur keamanan yang diinginkan:
    • Grafik dependensi: Diperlukan untuk fungsionalitas Dependabot.
    • Pemberitahuan Dependabot: Notifikasi kerentanan.
    • Pembaruan keamanan Dependabot: Permintaan pull perbaikan kerentanan otomatis.
    • Pemindaian rahasia: Deteksi kebocoran kredensial.
    • Pemindaian kode: Pengujian keamanan aplikasi statis (SAST).

Integrasi dengan alur kerja pengembangan

GitHub Advanced Security terintegrasi dengan mulus dengan proses pengembangan:

Integrasi permintaan pull:

  • Tinjauan dependensi: Secara otomatis meninjau perubahan dependensi dalam permintaan pull, menyoroti kerentanan baru yang diperkenalkan oleh pembaruan dependensi.
  • Pemeriksaan keamanan: Pemindaian kode dan pemindaian rahasia berjalan secara otomatis pada permintaan pull, memblokir penggabungan jika masalah penting ditemukan.
  • Ulasan yang diperlukan: Konfigurasikan aturan perlindungan cabang untuk memerlukan persetujuan tim keamanan untuk permintaan pull dengan pemberitahuan keamanan.

Kebijakan keamanan:

  • SECURITY.md: Tentukan kebijakan pengungkapan kerentanan dan informasi kontak keamanan.
  • Pemilik kode: Tetapkan anggota tim keamanan sebagai pemilik kode untuk file dependensi (package.json, requirements.txt, pom.xml).
  • Perlindungan cabang: Memerlukan pemeriksaan status untuk pemindaian keamanan sebelum mengizinkan penggabungan.

Audit dan kepatuhan:

  • Log audit: Lacak semua tindakan terkait keamanan, termasuk pemberhentian pemberitahuan, pengaktifan fitur, dan perubahan akses.
  • Kebijakan keamanan: Terapkan standar keamanan di seluruh organisasi di semua repositori.
  • Integrasi kepatuhan: Ekspor data keamanan untuk SOC 2, ISO 27001, dan kerangka kerja kepatuhan lainnya.

GitHub Advanced Security memberikan perlindungan tingkat perusahaan untuk rantai pasokan perangkat lunak Anda, dengan Dependabot berfungsi sebagai fondasi untuk manajemen keamanan dependensi. Pendekatan terintegrasi platform memastikan deteksi kerentanan yang komprehensif, remediasi otomatis, dan visibilitas keamanan di seluruh organisasi.

GitHub Dependabot menyediakan manajemen keamanan dependensi otomatis yang komprehensif yang terintegrasi langsung ke dalam alur kerja GitHub. Dengan mengaktifkan pemberitahuan, pembaruan keamanan, dan pembaruan versi, tim pengembangan dapat secara proaktif mengatasi kerentanan dan mempertahankan dependensi yang terbaru dengan upaya manual minimal. Unit berikutnya mengeksplorasi cara mengintegrasikan pemeriksaan Analisis Komposisi Perangkat Lunak ke dalam alur CI/CD di luar kemampuan bawaan GitHub.