From 426089cb7e47d85812b29874a860a31f54ff9f5c Mon Sep 17 00:00:00 2001 From: avvi00 Date: Fri, 3 Jun 2016 11:47:19 +1000 Subject: [PATCH 1/3] Fix recommended type and clean up examples. The recommended type has a typo. The 'wrong' and 'correct' examples are inconsistent and include unnecessary extra parameters which (in my opinion) distract from the point being conveyed. Also fixed up spacing. --- .../AvoidUsingPlainTextForPassword.md | 57 ++++++------------- 1 file changed, 17 insertions(+), 40 deletions(-) diff --git a/RuleDocumentation/AvoidUsingPlainTextForPassword.md b/RuleDocumentation/AvoidUsingPlainTextForPassword.md index 9f5b6f8d7..a99b663cd 100644 --- a/RuleDocumentation/AvoidUsingPlainTextForPassword.md +++ b/RuleDocumentation/AvoidUsingPlainTextForPassword.md @@ -8,40 +8,29 @@ Password parameters that take in plaintext will expose passwords and compromise ##How to Fix -To fix a violation of this rule, please use SecurityString as the type of password parameter. +To fix a violation of this rule, please use SecureString as the type of password parameter. ##Example Wrong: ``` - function Verb-Noun + function Test-Script { [CmdletBinding()] [Alias()] [OutputType([int])] Param ( - # Param1 help description - [Parameter(Mandatory=$true, - ValueFromPipelineByPropertyName=$true, - Position=0)] - $Param1, - # Param2 help description - [int] - $Param2, - [SecureString] + [string] $Password, - [System.Security.SecureString] + [string] $Pass, - [SecureString[]] + [string[]] $Passwords, $Passphrases, $Passwordparam ) } - - function TestFunction($password, [System.Security.SecureString[]]passphrases, [String]$passThru){ - } ``` Correct: @@ -54,30 +43,18 @@ Correct: [OutputType([Int])] Param ( - # Param1 help description - [Parameter(Mandatory=$true, - ValueFromPipelineByPropertyName=$true, - Position=0)] - $Param1, - # Param2 help description - [int] - $Param2, - [SecureString] - $Password, - [System.Security.SecureString] - $Pass, - [SecureString[]] - $Passwords, - [SecureString] - $Passphrases, - [SecureString] - $PasswordParam, - [string] - $PassThru - ) - ... + [SecureString] + $Password, + [System.Security.SecureString] + $Pass, + [SecureString[]] + $Passwords, + [SecureString] + $Passphrases, + [SecureString] + $PasswordParam + ) + ... } - function TestFunction([SecureString]$Password, [System.Security.SecureString[]]$Passphrases, [SecureString[]]$passes){ - } ``` From c4973cccc311cbfea22b8bc7f0d34881c9ad1d76 Mon Sep 17 00:00:00 2001 From: avvi00 Date: Fri, 3 Jun 2016 11:55:33 +1000 Subject: [PATCH 2/3] Add ellipsis to 'wrong' example. --- RuleDocumentation/AvoidUsingPlainTextForPassword.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/RuleDocumentation/AvoidUsingPlainTextForPassword.md b/RuleDocumentation/AvoidUsingPlainTextForPassword.md index a99b663cd..28a9a1af5 100644 --- a/RuleDocumentation/AvoidUsingPlainTextForPassword.md +++ b/RuleDocumentation/AvoidUsingPlainTextForPassword.md @@ -30,6 +30,7 @@ Wrong: $Passphrases, $Passwordparam ) + ... } ``` @@ -38,10 +39,10 @@ Correct: ``` function Test-Script { - [CmdletBinding()] - [Alias()] - [OutputType([Int])] - Param + [CmdletBinding()] + [Alias()] + [OutputType([Int])] + Param ( [SecureString] $Password, From fb77f1686a4bdafecce46370578807e072db35cf Mon Sep 17 00:00:00 2001 From: avvi00 Date: Fri, 3 Jun 2016 12:08:02 +1000 Subject: [PATCH 3/3] Uses spaces instead of tabs. --- .../AvoidUsingPlainTextForPassword.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/RuleDocumentation/AvoidUsingPlainTextForPassword.md b/RuleDocumentation/AvoidUsingPlainTextForPassword.md index 28a9a1af5..6d6ba8d4f 100644 --- a/RuleDocumentation/AvoidUsingPlainTextForPassword.md +++ b/RuleDocumentation/AvoidUsingPlainTextForPassword.md @@ -30,32 +30,32 @@ Wrong: $Passphrases, $Passwordparam ) - ... + ... } ``` Correct: ``` - function Test-Script - { - [CmdletBinding()] - [Alias()] - [OutputType([Int])] - Param - ( - [SecureString] - $Password, - [System.Security.SecureString] - $Pass, - [SecureString[]] - $Passwords, - [SecureString] - $Passphrases, - [SecureString] - $PasswordParam - ) - ... - } + function Test-Script + { + [CmdletBinding()] + [Alias()] + [OutputType([Int])] + Param + ( + [SecureString] + $Password, + [System.Security.SecureString] + $Pass, + [SecureString[]] + $Passwords, + [SecureString] + $Passphrases, + [SecureString] + $PasswordParam + ) + ... + } ```