-
Notifications
You must be signed in to change notification settings - Fork 0
Retrieve Folders #16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Retrieve Folders #16
Conversation
…passe et des métriques associées - Intégration d'une nouvelle fonctionnalité pour analyser les mots de passe et calculer un score de sécurité. - Ajout d'un hook personnalisé `useCredentials` pour gérer les credentials. - Création d'une API pour analyser les mots de passe et récupérer les métriques de sécurité. - Mise à jour de l'interface utilisateur pour afficher les résultats de l'analyse et les mots de passe compromis, faibles, réutilisés et anciens. - Utilisation de données mockées en développement pour simuler les credentials.
… sécurité - Ajout de la récupération des métriques de sécurité et de la date du dernier scan depuis le localStorage lors du chargement initial. - Sauvegarde des métriques et du timestamp dans le localStorage après l'analyse des mots de passe. - Mise à jour de l'état pour refléter les résultats de l'analyse et la date du dernier scan.
…asse - Intégration d'un nouvel état pour suivre les usages des mots de passe. - Mise à jour de la fonction `getPasswordUsage` pour récupérer les métriques d'utilisation via une requête POST. - Affichage des usages de mots de passe dans l'interface utilisateur avec gestion de l'état de chargement.
components/security-dashboard.tsx
Dismissed
| setLastScan(scanTime) | ||
|
|
||
| // Sauvegarder les métriques et le timestamp dans le localStorage | ||
| localStorage.setItem('securityMetrics', JSON.stringify(result)) |
Check failure
Code scanning / CodeQL
Clear text storage of sensitive information High
a call to analyzePasswords
Show autofix suggestion
Hide autofix suggestion
Copilot Autofix
AI 7 months ago
To fix the issue, sensitive data should be encrypted before being stored in localStorage. The Node.js crypto module can be used to encrypt the data. A secure encryption key should be used, and the encrypted data can be stored safely. When retrieving the data, it should be decrypted before use.
Steps to implement the fix:
- Import the
cryptomodule. - Define encryption and decryption functions using a secure algorithm (e.g., AES-256).
- Encrypt the
resultobject before storing it inlocalStorage. - Decrypt the data when retrieving it from
localStorage.
-
Copy modified lines R13-R26 -
Copy modified lines R38-R39 -
Copy modified lines R67-R68
| @@ -12,2 +12,16 @@ | ||
| import { toast } from "sonner" | ||
| import crypto from "crypto" | ||
|
|
||
| const ENCRYPTION_KEY = crypto.randomBytes(32).toString("hex") // Replace with a securely stored key | ||
| const ENCRYPTION_ALGORITHM = "aes-256-ctr" | ||
|
|
||
| function encrypt(text: string): string { | ||
| const cipher = crypto.createCipher(ENCRYPTION_ALGORITHM, ENCRYPTION_KEY) | ||
| return cipher.update(text, "utf8", "hex") + cipher.final("hex") | ||
| } | ||
|
|
||
| function decrypt(text: string): string { | ||
| const decipher = crypto.createDecipher(ENCRYPTION_ALGORITHM, ENCRYPTION_KEY) | ||
| return decipher.update(text, "hex", "utf8") + decipher.final("utf8") | ||
| } | ||
|
|
||
| @@ -23,4 +37,4 @@ | ||
| if (savedMetrics && savedLastScan) { | ||
| setLastScan(savedLastScan) | ||
| return JSON.parse(savedMetrics) | ||
| setLastScan(decrypt(savedLastScan)) | ||
| return JSON.parse(decrypt(savedMetrics)) | ||
| } | ||
| @@ -52,4 +66,4 @@ | ||
| // Sauvegarder les métriques et le timestamp dans le localStorage | ||
| localStorage.setItem('securityMetrics', JSON.stringify(result)) | ||
| localStorage.setItem('lastSecurityScan', scanTime) | ||
| localStorage.setItem('securityMetrics', encrypt(JSON.stringify(result))) | ||
| localStorage.setItem('lastSecurityScan', encrypt(scanTime)) | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This logic is handled by another team. @thomas-brn you know about this?
3798891 to
de4dc2f
Compare
No description provided.