AdvancedSecurity-Codeql-Init@1 - Keamanan Tingkat Lanjut Menginisialisasi tugas CodeQL v1

Menginisialisasi database CodeQL sebagai persiapan untuk membangun.

Anda harus mengaktifkan GitHub Advanced Security for Azure DevOps untuk repositori yang dipindai.

Sintaksis

# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    #enableAutomaticCodeQLInstall: false # boolean. Enable automatic CodeQL detection and installation. Default: false.
    #cleanupOldAutomaticInstalls: false # boolean. Optional. Use when enableAutomaticCodeQLInstall = true. Clean up old CodeQL versions installed by this task. Default: false.
    #languages: # 'csharp' | 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby' | 'rust' | 'swift'. Languages to analyze. 
    #querysuite: 'Select a query suite...' # 'Select a query suite...' | 'code-scanning' | 'security-extended' | 'security-experimental' | 'security-and-quality'. CodeQL Query Suite to use for analysis. Default: Select a query suite....
    #buildtype: 'Manual' # 'Manual' | 'None'. Select build mode (manual vs none). Default: Manual.
  # Advanced
    #ram: # string. Options to control RAM usage in MB. 
    #threads: # string. Use this many threads to evaluate queries. 
    #codeqlpathstoignore: # string. Set a list of paths to exclude in the CodeQL analysis. 
    #codeqlpathstoinclude: # string. Set a list of additional paths to include in the CodeQL analysis. 
    #sourcesfolder: # string. Sets the folder that contains the sources to be analyzed. 
    #loglevel: '_' # '0' | '1' | '2' | '_'. Set the log level for the CodeQL analysis. Default: _.
    #configfilepath: # string. Use this to enable custom query analysis in codeql (path must be absolute). 
    #codeqltoolsdirectory: # string. Set a custom CodeQL tools directory (path must be absolute).

Masukan

enableAutomaticCodeQLInstall - Aktifkan deteksi dan instalasi CodeQL otomatis
boolean. Nilai default: false.

Memilih opsi ini akan mengatur tugas untuk secara otomatis memeriksa CodeQL pada agen. Jika CodeQL tidak dikonfigurasi dengan benar atau pada versi terbaru, tugas akan secara otomatis menginstal versi terbaru.


cleanupOldAutomaticInstalls - Bersihkan versi CodeQL lama yang diinstal oleh tugas ini
boolean. Optional. Gunakan saat enableAutomaticCodeQLInstall = true. Nilai default: false.

Setelah penginstalan CodeQL otomatis berhasil, hapus versi CodeQL sebelumnya yang diinstal oleh tugas ini dari cache alat agen. Hanya versi yang diinstal melalui enableAutomaticCodeQLInstall yang dihapus; Instalasi CodeQL yang ditempatkan secara manual pada agen tidak tersentuh. Opsi ini tidak berpengaruh kecuali juga enableAutomaticCodeQLInstall diaktifkan.


languages - Bahasa untuk dianalisis
string. Nilai yang diizinkan: , , csharp, , cppgojavajavascriptpythonrubyrustswift

Bahasa pemrograman untuk dianalisis. Beberapa bahasa dapat dipisahkan dengan koma.

- task: AdvancedSecurity-Codeql-Init@1
  inputs:
    languages: 'cpp, java, python'
    # This languages value is valid, the Pipelines editor 
    # doesn't recognize all combinations and only validates
    # correctly when a single language is specified

Anda dapat mengatur bahasa di sini dalam tugas, atau Anda dapat menentukan bahasa dalam variabel alur bernama advancedsecurity.codeql.language. Jika keduanya diatur, nilai yang ditentukan dalam tugas akan diutamakan.


querysuite - CodeQL Query Suite untuk digunakan untuk analisis.
string. Nilai yang diizinkan: Select a query suite..., , code-scanningsecurity-extended, security-experimental, security-and-quality. Nilai default: Select a query suite....

Rangkaian kueri, yaitu kumpulan aturan, digunakan untuk analisis. Anda dapat menentukan nilai di sini dalam tugas, atau Anda dapat menentukannya dalam variabel alur bernama advancedsecurity.codeql.querysuite. Jika keduanya diatur, nilai yang ditentukan dalam tugas akan diutamakan. Nilai default adalah Select a query suite... yang menunjukkan bahwa rangkaian kueri harus ditentukan dalam advancedsecurity.codeql.querysuite variabel.


buildtype - Pilih mode build (manual vs tidak ada)
string. Nilai yang diizinkan: Manual, None. Nilai default: Manual.

Tentukan Manual apakah Anda ingin membangun proyek secara manual sebelum menjalankan analisis CodeQL. Tentukan None apakah Anda ingin menjalankan analisis CodeQL tanpa membangun proyek.

Untuk informasi selengkapnya tentang mode build yang berbeda termasuk perbandingan tentang manfaat setiap mode build, lihat Pemindaian kode CodeQL untuk bahasa yang dikompilasi dan penyesuaian mode build pemindaian kode.


ram - Opsi untuk mengontrol penggunaan RAM dalam MB
string.

Atur jumlah total RAM yang harus diizinkan untuk digunakan oleh evaluator kueri.

Anda dapat menentukan ram di sini dalam tugas, atau Anda dapat menentukannya dalam variabel alur bernama advancedsecurity.codeql.ram. Jika keduanya diatur, nilai yang ditentukan dalam tugas akan diutamakan.


threads - Gunakan utas sebanyak ini untuk mengevaluasi kueri
string.

Anda dapat meneruskan 0 untuk menggunakan satu utas per inti pada mesin, atau -N membiarkan N inti tidak digunakan (kecuali masih menggunakan setidaknya satu utas).

Anda dapat menentukan threads di sini dalam tugas, atau Anda dapat menentukannya dalam variabel alur bernama advancedsecurity.codeql.threads. Jika keduanya diatur, nilai yang ditentukan dalam tugas akan diutamakan.


codeqlpathstoignore - Atur daftar jalur untuk dikecualikan dalam analisis CodeQL
string.

Anda dapat memberikan beberapa jalur yang dipisahkan oleh koma. Jalur harus relatif terhadap sourcesfolder tempat CodeQL berjalan, yang default ke Build.SourcesDirectory variabel lingkungan alur. Misalnya, untuk mengabaikan $(Build.SourcesDirectory)/donotscan direktori, atur codeqlpathstoignore: donotscan daripada codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan.

Penting

Pengaturan ini codeqlpathstoignore hanya berlaku saat Anda menjalankan tugas CodeQL pada bahasa yang ditafsirkan (Python, Ruby, dan JavaScript/TypeScript) atau saat Anda menganalisis bahasa yang dikompilasi tanpa membuat kode (saat ini didukung untuk C# dan Java).


codeqlpathstoinclude - Atur daftar jalur tambahan untuk disertakan dalam analisis CodeQL
string.

Anda dapat memberikan beberapa jalur yang dipisahkan oleh koma. Jalur harus relatif terhadap sourcesfolder tempat CodeQL berjalan, yang default ke Build.SourcesDirectory variabel lingkungan alur. Misalnya, untuk menyertakan $(Build.SourcesDirectory)/app direktori, atur codeqlpathstoinclude: app alih-alih codeqlpathstoinclude: $(Build.SourcesDirectory)/app.

Penting

Pengaturan ini codeqlpathstoinclude hanya berlaku saat Anda menjalankan tugas CodeQL pada bahasa yang ditafsirkan (Python, Ruby, dan JavaScript/TypeScript) atau saat Anda menganalisis bahasa yang dikompilasi tanpa membuat kode (saat ini didukung untuk C# dan Java).


sourcesfolder - Mengatur folder yang berisi sumber yang akan dianalisis
string.

Nilai harus relatif terhadap Build.SourcesDirectory variabel. Jika Anda tidak memberikan nilai ini, folder sumber default untuk infrastruktur alur digunakan (disediakan oleh Build.SourcesDirectory variabel).


loglevel - Mengatur tingkat log untuk analisis CodeQL
string. Nilai yang diizinkan: 0 (Peringatan), 1 (Verbose), 2 (Debug), _ (Default (Peringatan)). Nilai default: _.

Tentukan tingkat pengelogan.

Anda dapat menentukan loglevel di sini dalam tugas, atau Anda dapat menentukannya dalam variabel alur bernama advancedsecurity.codeql.loglevel. Jika keduanya diatur, nilai yang ditentukan dalam tugas diutamakan, kecuali nilai _ default untuk loglevel dalam tugas ditentukan. Jika _ ditentukan, nilai dari advancedsecurity.codeql.loglevel digunakan jika tersedia.


configfilepath - Gunakan ini untuk mengaktifkan analisis kueri kustom dalam codeql (jalur harus absolut).
string.

Jika jalur tidak disediakan, maka analisis codeql akan dilanjutkan dengan kueri default.


codeqltoolsdirectory - Atur direktori alat CodeQL kustom (jalur harus mutlak)
string.

Jika jalur tidak disediakan, nilai default akan $agent_toolsdirectory digunakan.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.

Variabel-variabel keluaran

Tidak ada.

Komentar

Anda harus mengaktifkan GitHub Advanced Security for Azure DevOps untuk repositori yang dipindai.

Penting

Tugas ini hanya didukung dengan repositori Git Azure Repos.

Alur harus memanggil tugas dalam urutan berikut.

  1. Menginisialisasi CodeQL
  2. Build Otomatis (atau tugas build kustom Anda)
  3. Lakukan analisis CodeQL

Tugas Build Otomatis bersifat opsional dan dapat diganti dengan tugas build kustom Anda. Baik Build Otomatis atau tugas build kustom Anda harus dijalankan agar proyek Anda dapat dianalisis.

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Tuntutan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
pembatasan Perintah Apa saja
variabel yang Dapat Diatur Apa saja
Versi agen 2.209.0 atau lebih tinggi
Kategori tugas Membangun

Lihat juga