避免使用PlainTextForPassword

嚴重性層級:警告

Description

此規則偵測以密碼相關名稱宣告stringSecureString的函式或腳本參數,而非類型。 接受明文的密碼參數會暴露密碼,並可能危及系統安全。 你不應該接受密碼的純文字。 相反地,請使用 SecureString 類型來安全儲存密碼。

以下參數被視為密碼參數,且不區分大小寫:

  • 密碼
  • Pass
  • Passwords
  • 通行短語
  • 口令短語
  • PasswordParam

如果你定義了一個參數名稱,請用 SecureString 類型宣告它。

Example

不合規

function Test-Script
{
    [CmdletBinding()]
    Param
    (
        [string]
        $Password
    )
    ...
}

Compliant

function Test-Script
{
    [CmdletBinding()]
    Param
    (
        [SecureString]
        $Password
    )
    ...
}