Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nota
Efektif mulai 31 Desember 2022, ekstensi Microsoft Security Code Analysis (MSCA) dihentikan. MSCA digantikan oleh ekstensi Microsoft Security DevOps Azure DevOps. Ikuti instruksi di Mengonfigurasi untuk menginstal dan mengonfigurasi ekstensi.
Artikel ini menjelaskan secara rinci opsi konfigurasi yang tersedia di setiap tugas build. Artikel dimulai dengan tugas untuk alat analisis kode keamanan. Ini diakhiri dengan tugas-tugas pasca-pemrosesan.
Tugas Pemindai Anti-Malware
Nota
Tugas build Anti-Malware Scanner memerlukan agen build dengan Windows Defender diaktifkan. Visual Studio 2017 yang dihosting dan yang lebih baru menyediakan agen tersebut. Tugas build tidak akan berjalan pada agen yang dihosting oleh Visual Studio 2015.
Meskipun pembaruan signatur tidak dapat dilakukan pada agen ini, pembaruan signatur seharusnya selalu berusia kurang dari tiga jam.
Detail konfigurasi tugas diperlihatkan dalam cuplikan layar dan teks berikut.
Dalam kotak daftar Jenis pada cuplikan layar, Dasar dipilih. Pilih Kustom untuk menentukan argumen baris perintah yang mengubah pemindaian sesuai kebutuhan.
Windows Defender menggunakan klien Windows Update untuk mengunduh dan menginstal tanda tangan. Jika pembaruan tanda tangan gagal pada agen build Anda, kode kesalahan HRESULT kemungkinan berasal dari Windows Update.
Untuk informasi selengkapnya tentang kesalahan Windows Update dan mitigasinya, lihat Kode kesalahan Windows Update berdasarkan komponen dan artikel TechNet Agen Windows Update - Kode Kesalahan.
Untuk informasi tentang konfigurasi YAML untuk tugas ini, periksa opsi YAML Anti-Malware kami
Tugas BinSkim
Nota
Sebelum Anda dapat menjalankan tugas BinSkim, build Anda harus memenuhi salah satu kondisi berikut:
- Build Anda menghasilkan artefak biner dari kode yang dikelola.
- Anda memiliki berkas biner yang telah disimpan, yang ingin dianalisis dengan BinSkim.
Detail konfigurasi tugas diperlihatkan dalam cuplikan layar dan daftar berikut.
- Atur konfigurasi build ke Debug sehingga file debug .pdb diproduksi. BinSkim menggunakan file-file ini untuk memetakan masalah dalam biner output kembali ke kode sumber.
- Untuk menghindari meneliti dan membuat baris perintah Anda sendiri:
- Di daftar Jenis , pilih Dasar.
- Di daftar Fungsi , pilih Analisis.
- Di Target, masukkan satu atau beberapa penentu untuk pola file, direktori, atau filter. Penentu ini menyelesaikan satu atau beberapa biner yang akan dianalisis:
- Beberapa target yang ditentukan harus dipisahkan oleh titik koma (;).
- Penentu dapat berupa satu file atau berisi kartubebas.
- Spesifikasi direktori harus selalu diakhir dengan \*.
- Contoh:
*.dll;*.exe
$(BUILD_STAGINGDIRECTORY)\*
$(BUILD_STAGINGDIRECTORY)\*.dll;$(BUILD_STAGINGDIRECTORY)\*.exe;
- Jika Anda memilih Baris Perintah dalam pilihan Jenis, Anda perlu menjalankan binskim.exe:
- Pastikan argumen pertama untuk binskim.exe adalah kata kerja menganalisis diikuti oleh satu atau beberapa spesifikasi jalur. Setiap jalur dapat berupa jalur lengkap atau jalur yang relatif terhadap direktori sumber.
- Beberapa jalur target harus dipisahkan oleh spasi.
- Anda dapat menghilangkan opsi /o atau /output . Nilai output ditambahkan untuk Anda atau diganti.
- Konfigurasi baris perintah standar ditampilkan sebagai berikut.
analyze $(Build.StagingDirectory)\* --recurse --verbose
analyze *.dll *.exe --recurse --verbose
Nota
Tanda \* pada akhir penting jika Anda menyebutkan direktori untuk target.
Untuk informasi selengkapnya tentang argumen baris perintah BinSkim, aturan menurut ID, atau kode keluar, lihat Panduan Pengguna BinSkim.
Untuk informasi tentang konfigurasi YAML untuk tugas ini, periksa opsi YAML BinSkim kami
Tugas Pemindai Kredensial
Detail konfigurasi tugas diperlihatkan dalam cuplikan layar dan daftar berikut.
Opsi yang tersedia meliputi:
- Nama Tampilan: Nama Tugas Azure DevOps. Nilai defaultnya adalah Run Credential Scanner
- Versi Utama Alat: Nilai yang tersedia termasuk CredScan V2, CredScan V1. Kami menyarankan pelanggan untuk menggunakan versi CredScan V2 .
- Format keluaran : Nilai yang tersedia termasuk TSV , CSV , SARIF , dan PREfast .
- Versi Alat: Kami sarankan Anda memilih Terbaru.
- Folder Pemindaian: Folder repositori yang akan dipindai.
- Jenis File Pencari: Opsi untuk menemukan file pencari yang digunakan untuk pemindaian.
- File Pengecualian: File JSON dapat mengabaikan masalah dalam log output. Untuk informasi selengkapnya tentang skenario supresi, lihat bagian FAQ di artikel ini.
- Output Verbose: Penjelasan mandiri.
- Ukuran Batch: Jumlah utas bersamaan yang digunakan untuk menjalankan Pemindai Kredensial. Nilai default adalah 20. Nilai yang mungkin berkisar antara 1 hingga 2.147.483.647.
- Batas Waktu Pencocokan: Jumlah waktu dalam detik yang akan dihabiskan untuk mencoba mencocokkan dengan pencari sebelum menghentikan pengecekan.
- Ukuran Buffer Pembacaan Pemindaian Berkas: Ukuran buffer dalam byte yang digunakan saat konten dibaca. Nilai defaultnya adalah 524.288.
- Byte Baca Pemindaian File Maksimum: Jumlah maksimum byte yang akan dibaca dari file selama analisis konten. Nilai defaultnya adalah 104.857.600.
- Opsi> KontrolJalankan tugas ini: Menentukan kapan tugas akan berjalan. Pilih Kondisi kustom untuk menentukan kondisi yang lebih kompleks.
- Versi: Versi tugas build dalam Azure DevOps. Opsi ini tidak sering digunakan.
Untuk informasi tentang konfigurasi YAML untuk tugas ini, periksa opsi YAML Pemindai Kredensial kami
Tugas Roslyn Penganalisis
Nota
Sebelum Anda dapat menjalankan tugas Roslyn Analyzers, build Anda harus memenuhi syarat berikut:
- Definisi build Anda mencakup tugas build MSBuild atau VSBuild bawaan untuk mengkompilasi kode C# atau Visual Basic. Tugas penganalisis bergantung pada input dan output tugas bawaan untuk menjalankan kompilasi MSBuild dengan penganalisis Roslyn diaktifkan.
- Agen build yang menjalankan tugas build ini memiliki Visual Studio 2017 versi 15.5 atau yang lebih baru yang terinstal, sehingga menggunakan pengkompilasi versi 2.6 atau yang lebih baru.
Detail konfigurasi tugas diperlihatkan dalam daftar dan catatan berikut.
Opsi yang tersedia meliputi:
- Ruleset: Nilai yang Diperlukan SDL, Disarankan SDL, atau seperangkat aturan kustom Anda sendiri.
- Versi Penganalisis: Kami sarankan Anda memilih Terbaru.
- File Penindasan Peringatan Kompiler: File teks dengan daftar ID peringatan yang dinonaktifkan.
- Opsi> KontrolJalankan tugas ini: Menentukan kapan tugas akan berjalan. Pilih Kondisi kustom untuk menentukan kondisi yang lebih kompleks.
Nota
Roslyn Analyzers terintegrasi dengan pengkompilasi dan hanya dapat dijalankan sebagai bagian dari kompilasi csc.exe. Oleh karena itu, tugas ini memerlukan perintah compiler yang berjalan sebelumnya dalam build untuk diputar ulang atau dijalankan lagi. Pemutaran ulang atau eksekusi ini dilakukan dengan mengkueri Azure DevOps (sebelumnya Visual Studio Team Services) untuk log tugas build MSBuild.
Tidak ada cara lain bagi tugas untuk mendapatkan baris perintah kompilasi MSBuild dengan andal dari definisi build. Kami mempertimbangkan untuk menambahkan kotak teks bentuk bebas untuk memungkinkan pengguna memasukkan baris perintah mereka. Tetapi, akan sulit untuk menjaga baris perintah tersebut up-to-date dan menjaganya tetap selaras dengan build utama.
Build kustom memerlukan pemutaran ulang seluruh set perintah, bukan hanya perintah pengkompilasi. Dalam kasus ini, mengaktifkan Roslyn Analyzers tidak sepele atau dapat diandalkan.
Roslyn Analyzers terintegrasi dengan pengkompilasi. Untuk dipanggil, Roslyn Analyzers memerlukan kompilasi.
Tugas build baru ini diimplementasikan dengan mengkompilasi ulang proyek C# yang sudah dibangun. Tugas baru hanya menggunakan tugas build MSBuild dan VSBuild dalam build atau definisi build yang sama dengan tugas asli. Namun, dalam hal ini tugas baru menggunakannya dengan Roslyn Analyzers diaktifkan.
Jika tugas baru berjalan pada agen yang sama dengan tugas asli, output dari tugas baru menimpa output dari tugas asli di folder sumber . Meskipun output build sama, kami menyarankan agar Anda menjalankan MSBuild, menyalin output ke direktori penahapan artefak, lalu menjalankan Roslyn Analyzers.
Untuk sumber daya tambahan terkait tugas penganalisis Roslyn, tinjau penganalisis berbasis Roslyn .
Anda dapat menemukan paket penganalisis yang diinstal dan digunakan oleh tugas build ini di halaman NuGet Microsoft.CodeAnalysis.FxCopAnalyzers.
Untuk informasi tentang konfigurasi YAML untuk tugas ini, periksa opsi YAML Roslyn Analyzers kami di
Tugas TSLint
Untuk informasi selengkapnya tentang TSLint, buka repositori TSLint GitHub.
Nota
Seperti yang mungkin Anda ketahui, halaman beranda repositori TSLint GitHub mengatakan bahwa TSLint akan ditolak pada tahun 2019. Microsoft sedang menyelidiki ESLint sebagai tugas alternatif.
Untuk informasi tentang konfigurasi YAML untuk tugas ini, periksa opsi YAML TSLint kami
Tugas Menerbitkan Log Analisis Keamanan
Detail konfigurasi tugas diperlihatkan dalam cuplikan layar dan daftar berikut.
- Nama Artefak: Pengidentifikasi string apa saja.
- Jenis Artefak: Bergantung pada pilihan Anda, Anda dapat menerbitkan log ke Azure DevOps Server Atau ke file bersama yang dapat diakses oleh agen build.
- Alat: Anda dapat memilih untuk mempertahankan log untuk alat tertentu, atau Anda dapat memilih Semua Alat untuk mempertahankan semua log.
Untuk informasi tentang konfigurasi YAML untuk tugas ini, periksa opsi YAML untuk Menerbitkan Log Keamanan kami
Tugas Laporan Keamanan
Detail konfigurasi Laporan Keamanan ditampilkan dalam cuplikan layar dan daftar berikut.
- Laporan: Pilih salah satu format Konsol Alur, File TSV, dan File Html . Satu file laporan dibuat untuk setiap format yang dipilih.
- Alat: Pilih alat dalam definisi build yang Anda inginkan untuk ringkasan masalah yang terdeteksi. Untuk setiap alat yang dipilih, mungkin ada opsi untuk memilih apakah Anda hanya melihat kesalahan atau melihat kesalahan dan peringatan dalam laporan ringkasan.
- Opsi Tingkat Lanjut: Jika tidak ada log untuk salah satu alat yang dipilih, Anda dapat memilih untuk mencatat peringatan atau kesalahan. Jika Anda mencatat kesalahan, tugas gagal.
- Folder Log Dasar: Anda dapat menyesuaikan folder log dasar tempat log ditemukan. Tetapi opsi ini biasanya tidak digunakan.
Untuk informasi tentang konfigurasi YAML untuk tugas ini, periksa opsi YAML laporan keamanan kami
Tugas Pasca-Analisis
Detail konfigurasi tugas diperlihatkan dalam cuplikan layar dan daftar berikut.
- Alat: Pilih alat dalam definisi build yang ingin Anda masukkan hentian build secara kondisional. Untuk setiap alat yang dipilih, mungkin ada opsi untuk memilih apakah Anda hanya ingin menghentikan pada kesalahan atau pada kesalahan dan peringatan.
- Laporan: Anda dapat secara opsional menulis hasil yang menyebabkan pemutusan build. Hasilnya ditulis ke jendela konsol Azure DevOps dan file log.
- Opsi Tingkat Lanjut: Jika tidak ada log untuk salah satu alat yang dipilih, Anda dapat memilih untuk mencatat peringatan atau kesalahan. Jika Anda mencatat kesalahan, tugas gagal.
Untuk informasi tentang konfigurasi YAML untuk tugas ini, periksa opsi YAML Analisis Pasca kami.
Langkah berikutnya
Untuk informasi tentang konfigurasi berbasis YAML, lihat panduan Konfigurasi YAML kami.
Jika Anda memiliki pertanyaan lebih lanjut tentang ekstensi Analisis Kode Keamanan dan alat yang ditawarkan, lihat halaman FAQ kami.