AvoidUsingConvertToSecureStringWithPlainText

Tingkat Keparahan: Kesalahan

Status default: Selalu diaktifkan

Deskripsi

Aturan ini mendeteksi penggunaan AsPlainText parameter dengan ConvertTo-SecureString perintah, yang melewati enkripsi dan mengekspos informasi sensitif dalam memori sebagai teks biasa, mengalahkan tujuan SecureString.

Sebagai gantinya, ambil kredensial aman melalui saluran terenkripsi atau gunakan metode input aman seperti Read-Host -AsSecureString untuk memastikan data sensitif tetap dienkripsi sepanjang siklus hidupnya.

Rekomendasi

Jika Anda perlu mengambil kata sandi secara terprogram tanpa interaksi pengguna, pertimbangkan untuk menggunakan modul SecretStore dari PowerShell Gallery, yang menyediakan penyimpanan dan pengambilan kredensial terenkripsi.

Contoh

Tidak sesuai

$UserInput = Read-Host 'Please enter your secure code'
$EncryptedInput = ConvertTo-SecureString -String $UserInput -AsPlainText -Force

Sesuai

$SecureUserInput = Read-Host 'Please enter your secure code' -AsSecureString

Mengonfigurasi aturan

Aturan ini selalu diaktifkan dan tidak dapat dikonfigurasi. Gunakan salah satu metode berikut untuk menghindari penggunaan aturan ini:

  • Buat file konfigurasi aturan kustom untuk hanya menyertakan aturan yang Anda inginkan atau kecualikan aturan yang tidak Anda inginkan.
  • Tambahkan atribut penekanan aturan yang sesuai ke kode Anda untuk menekan aturan untuk blok kode tertentu. Untuk informasi selengkapnya, lihat bagian Menekan aturanMenggunakan PSScriptAnalyzer.