AvoidUsingConvertToSecureStringWithPlainText

심각도 수준: 오류

설명

이 규칙은 명령어로 ConvertTo-SecureString 매개변수 사용을 AsPlainText 감지하여 암호화를 우회하고 메모리 내 민감한 정보를 평문 상태로 노출시켜 SecureString의 목적을 무력화합니다.

대신 암호화된 채널을 통해 보안 자격 증명을 검색하거나, 민감한 데이터가 생애주기 내내 암호화되도록 하는 보안 입력 방식을 Read-Host -AsSecureString 사용하세요.

권장 사항

사용자 개입 없이 프로그래밍적으로 비밀번호를 검색해야 한다면, PowerShell 갤러리의 SecretStore 모듈을 사용하는 것을 고려해 보세요. 이 모듈은 암호화된 자격 증명 저장 및 검색을 제공합니다.

예시

비준수

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

Compliant

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