UnikajusingConvertToSecureStringWithPlainText

Poziom ważności: błąd

Opis

Ta reguła wykrywa użycie parametru AsPlainText wraz z poleceniem ConvertTo-SecureString , które omija szyfrowanie i ujawnia wrażliwe informacje w pamięci jako tekst zwykły, co niweczy cel SecureString.

Zamiast tego odzyskaj bezpieczne dane uwierzytelniające za pomocą zaszyfrowanych kanałów lub stosuj bezpieczne metody wprowadzania, aby Read-Host -AsSecureString zapewnić pozostanie zaszyfrowane przez cały cykl życia danych wrażliwych.

Rekomendacje

Jeśli musisz pobierać hasła programowo bez interakcji użytkownika, rozważ użycie modułu SecretStore z Galeria programu PowerShell, który zapewnia szyfrowane przechowywanie i pobieranie danych uwierzytelniających.

Przykład

Niezgodne

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

Zgodne

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