AvoidUsingConvertToSecureStringWithPlainText

Tingkat Keparahan: Kesalahan

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