Rule request: `AvoidSecureStringDisclosure`
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par localiser les implémentations et les tests existants des règles de PSScriptAnalyzer, puis comparez leur gestion de ConvertFrom-SecureString, SecureStringToBSTR et PSCredential.GetNetworkCredential(). Le travail est terminé lorsque les modèles non sûrs de SecureString-to-plaintext sont signalés de manière fiable et que les tests correspondants de l’analyseur couvrent les exemples de l’issue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
As for AvoidUsingConvertToSecureStringWithPlainText it should be avoided to retrieve a PlainText password from a SecureString as it might leave memory trials (or even logging trails).
$Password = $SecureString | ConvertFrom-SecureString -AsPlainText
Besides, the action that follows and requires the plaintext password is likely vulnerable from a security aspect.
This will also include the common used statements as:
(see: https://stackoverflow.com/a/28353003/1701026)
$SecurePassword = ConvertTo-SecureString $PlainPassword -AsPlainText -Force
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecurePassword)
$Password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)
[Runtime.InteropServices.Marshal]::ZeroFreeBSTR($BSTR)
and (see: https://stackoverflow.com/a/40166959/1701026):
$Password = (New-Object PSCredential 0, $SecurePassword).GetNetworkCredential().Password
The general approach of dealing with credentials is to avoid them and instead rely on other means to authenticate, such as certificates or Windows authentication.
Proposed technical implementation details (optional)
Create rules to check for the above mentioned unsafe statements.
- Langage dominant
- C#
- Étoiles
- 2.2k
- Forks
- 415
- Merge moyen
- 13 h 1 min
- PR mergées (30 j)
- 2
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de PowerShell/PSScriptAnalyzer
-
Up-for-Grabs
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
PowerShell/PSScriptAnalyzer#2213 · 2 commentaires ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
PowerShell/PSScriptAnalyzer#2217 · 1 commentaire ·
-
PSUseConsistentIndentation double-indents attribute bodies that open a scriptblock (`[Attr({ … })]`) Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 70/100
PowerShell/PSScriptAnalyzer#2216 · 2 commentaires ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
PowerShell/PSScriptAnalyzer#2211 ·
-
`PSPlaceOpenBrace` and `PSPlaceCloseBrace` leave trailing whitespace when expanding one-line blocks Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 70/100
PowerShell/PSScriptAnalyzer#2210 ·
Toutes les issues de PowerShell/PSScriptAnalyzer
Issues similaires
-
Documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
cake-build/cake#5024 ·
-
Gå gjennom ESLint-suppressions OuverteFrontend status/draft TechnicalDebt
Difficulté 2/5 1-2 jours Accessibilité débutants 75/100
Altinn/altinn-auth#4143 ·
-
.NET Flaky Test Testing Tests
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
getsentry/sentry-dotnet#5617 · 1 commentaire ·
-
Add more to the documentation Ouverte:watch: Not Triaged dotnet-fsharp/svc
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
Client customer-reported needs-team-attention question Service Attention WebPubSub
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Azure/azure-sdk-for-net#63292 · 3 commentaires · 1 réaction ·