CI/CD dengan GitHub Actions & Saluran DevOps · Pelajaran

Ujian Keselamatan Aplikasi Statik (SAST)

Sepadukan alat SAST ke dalam aliran kerja anda untuk mengenal pasti kerentanan keselamatan dalam kod secara automatik sebelum penggunaan.

Pelajaran 3 daripada 411 langkah

Ujian Keselamatan Aplikasi Statik (SAST) ialah pelajaran CI/CD dengan GitHub Actions & Saluran DevOps percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran CI/CD dengan GitHub Actions & Saluran DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus CI/CD dengan GitHub Actions & Saluran DevOps merangkumi sejumlah 4 pelajaran.

Apakah SAST?

Selamat datang ke Pengujian Keselamatan Aplikasi Statik (SAST)! SAST ialah bahagian penting dalam melindungi kod anda pada peringkat awal proses pembangunan.

Anggap SAST sebagai kaedah pengujian 'kotak putih'. SAST memeriksa kod sumber, kod bait atau kod perduaan aplikasi anda tanpa menjalankan aplikasi tersebut.

  • Statik: Menganalisis kod yang tidak sedang dijalankan.
  • Aplikasi: Memberi tumpuan kepada perisian anda.
  • Keselamatan: Bertujuan mencari kerentanan.

Cara SAST Berfungsi

Alat SAST berfungsi dengan mengimbas kod anda untuk mencari corak kerentanan keselamatan yang diketahui. Alat ini menganalisis:

  • Aliran Data: Cara data bergerak melalui aplikasi anda.
  • Aliran Kawalan: Susunan arahan dilaksanakan.
  • Kecacatan Struktur: Amalan pengekodan yang lemah atau salah konfigurasi.

Analisis mendalam ini membantu mengenal pasti isu seperti suntikan SQL, penskripan rentas tapak (XSS) dan rujukan objek langsung yang tidak selamat (IDOR).

Mengapa SAST Penting

Mengintegrasikan SAST ke dalam saluran paip CI/CD anda menawarkan manfaat yang ketara:

  • Pengesanan Awal: Mengesan kerentanan sebelum penerapan, ketika kos membaikinya paling rendah.
  • Peningkatan Tahap Keselamatan: Membantu pembangun menulis kod yang lebih selamat sejak awal.
  • Pematuhan: Membantu memenuhi pelbagai standard dan peraturan keselamatan.

Mengesan isu lebih awal dapat mengelakkan pembaikan yang mahal dan pencerobohan berpotensi pada peringkat kemudian.

Alat SAST Lazim

Terdapat banyak alat SAST yang tersedia, sama ada sumber terbuka atau komersial. Antara yang popular termasuk:

  • GitHub CodeQL: Enjin SAST terbina dalam GitHub.
  • SonarQube: Platform yang digunakan secara meluas untuk kualiti dan keselamatan kod berterusan.
  • Bandit: Pemeriksa kod keselamatan untuk projek Python.
  • Snyk Code: Mengintegrasikan keselamatan ke dalam aliran kerja pembangun.

Untuk GitHub Actions, CodeQL selalunya paling mudah disepadukan kerana ia terbina dalam.

SAST dalam GitHub Actions

Anda boleh mengintegrasikan alat SAST secara langsung ke dalam aliran kerja GitHub Actions anda. Ini bermakna setiap kali anda menghantar kod atau membuka permintaan tarik, kod anda boleh diimbas secara automatik untuk mengesan kerentanan.

Hal ini membolehkan maklum balas berterusan, sekali gus membantu pembangun membaiki isu keselamatan apabila isu tersebut muncul, bukannya menunggu sehingga peringkat yang lebih lewat.

Persediaan CodeQL dalam Aliran Kerja

Mari lihat petikan asas aliran kerja GitHub Actions untuk menyediakan CodeQL. Tindakan ini dijalankan secara automatik apabila kod dihantar atau permintaan tarik dibuka bagi mengimbas kod anda.

Langkah github/codeql-action/init@v3 menyediakan persekitaran CodeQL.

name: CodeQL Scan

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  analyze:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v3
      with:
        languages: javascript, python
    # ... more steps for building and analyzing

Menjalankan Analisis CodeQL

Selepas memulakan CodeQL, anda perlu membina kod anda, jika berkenaan, kemudian menjalankan analisis. Langkah autobuild selalunya dapat mengendalikan proses binaan lazim untuk anda.

Akhir sekali, langkah analyze memuat naik hasilnya ke tab Keselamatan GitHub.

    # ... previous steps from last scene
    - name: Autobuild
      uses: github/codeql-action/autobuild@v3
      # This step attempts to build your code (e.g., Maven, npm)
      # If your project has a complex build, you might need a custom build step.
    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3

Memahami Laporan SAST

Setelah imbasan SAST selesai, imbasan itu menghasilkan laporan. Dalam GitHub, penemuan CodeQL dipaparkan terus pada tab 'Keselamatan' repositori anda dan sebagai anotasi dalam permintaan tarik.

Laporan ini biasanya merangkumi:

  • Jenis Kerentanan: Jenis isu yang berlaku.
  • Tahap Keterukan: Kritikal, Tinggi, Sederhana, Rendah.
  • Lokasi: Fail dan nombor baris dalam kod anda.
  • Panduan Pembetulan: Cara membaiki kerentanan tersebut.

Amalan Terbaik untuk SAST

Untuk memanfaatkan SAST sepenuhnya:

  • Integrasikan Seawal Mungkin: Imbas kod secepat mungkin.
  • Automatikkan Imbasan: Jalankan SAST setiap kali kod dihantar atau PR dibuat.
  • Utamakan Penemuan: Beri tumpuan kepada isu kritikal dan berkeparahan tinggi terlebih dahulu.
  • Didik Pembangun: Bantu pasukan anda memahami dan membaiki kerentanan yang lazim.

Menyemak dan memperhalus konfigurasi SAST secara berkala juga penting.

Semakan Pengetahuan SAST

Pengujian Keselamatan Aplikasi Statik (SAST) ialah alat yang berkuasa untuk melindungi aplikasi anda. Antara berikut, yang manakah paling tepat menerangkan ciri utama SAST?

Ringkasan: SAST dalam Saluran Paip Anda

Dalam pelajaran ini, kita meneroka Pengujian Keselamatan Aplikasi Statik (SAST). Kita mempelajari bahawa SAST menganalisis kod anda tanpa menjalankannya, lalu mengesan kerentanan pada peringkat awal kitaran pembangunan.

Kita membincangkan cara alat SAST berfungsi, manfaatnya dan cara mengintegrasikan alat berkuasa seperti GitHub CodeQL ke dalam aliran kerja GitHub Actions anda. Dengan menggunakan SAST, anda dapat mengukuhkan tahap keselamatan aplikasi anda dengan ketara.

Percuma untuk bermula

Pelajari CI/CD dengan GitHub Actions & Saluran DevOps dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Ujian Keselamatan Aplikasi Statik (SAST)” percuma?

Ya — teks penuh “Ujian Keselamatan Aplikasi Statik (SAST)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus CI/CD dengan GitHub Actions & Saluran DevOps, tingkat taraf kepada CoddyKit PRO. Kursus CI/CD dengan GitHub Actions & Saluran DevOps merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Ujian Keselamatan Aplikasi Statik (SAST)”?

Sepadukan alat SAST ke dalam aliran kerja anda untuk mengenal pasti kerentanan keselamatan dalam kod secara automatik sebelum penggunaan. Anda berlatih CI/CD dengan GitHub Actions & Saluran DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan CI/CD dengan GitHub Actions & Saluran DevOps?

Tiada pengalaman terdahulu diperlukan. Pembelajaran CI/CD dengan GitHub Actions & Saluran DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Ujian Keselamatan Aplikasi Statik (SAST)” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran CI/CD dengan GitHub Actions & Saluran DevOps ini?

Ya. Setiap pelajaran CI/CD dengan GitHub Actions & Saluran DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Amalan Terbaik Keselamatan dalam CI/CD
  2. Pengurusan Rahsia dengan GitHub
  3. Ujian Keselamatan Aplikasi Statik (SAST)
  4. Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)
← Kembali ke CI/CD dengan GitHub Actions & Saluran DevOps