Aller au contenu principal

Menu de commandes

Accédez à une page ou recherchez dans le catalogue

Outils et scripts IA

Vérification des données personnelles (PII) dans les logs

Vérifiez les appels et les paramètres de journalisation avant la mise en production : mots de passe, jetons, chaînes de connexion, en-têtes Authorization et numéros de carte dans les logs, corps de connexion, e-mails et numéros d'identité, objets utilisateur entiers, DEBUG en production, PII dans Sentry.

$5.00

Ce que vous recevez : 1 fichier · 65.54 KB · ZIP

Voir les options d'achat

Description du produit

console.log("login", req.body) dans une route de connexion écrit le mot de passe de chaque utilisateur dans votre service de logs, et log.info("user={}", user) affiche tous les champs de l'objet utilisateur, hachage du mot de passe compris. Les logs sont copiés à plus d'endroits, et lus par plus de personnes, que la base de données d'où viennent les données. Cette skill détecte ces erreurs et onze autres erreurs de journalisation avant la mise en production, et vous indique comment corriger chacune d'elles.

Votre agent exécute un scanner sur du code Python, JavaScript et TypeScript, Java, Kotlin, Go, Ruby, PHP et C#, ainsi que sur les fichiers application.properties et application.yml de Spring Boot, appsettings.json d'ASP.NET Core, les fichiers logback et log4j, sentry.properties et .env.production. Il repère chaque appel de journalisation ou d'affichage (Python logging, structlog, print ; console, pino, winston, NestJS ; SLF4J, Log4j, Android Log, kotlin-logging ; Go log, slog, zap, logrus ; logger Rails ; Laravel Log, error_log ; ILogger, Serilog) et lit ce qu'il écrit : arguments, clés d'objets, f-strings et chaînes de modèle, ainsi que la valeur qui suit un libellé comme "password=%s" ou un emplacement {Password} dans un modèle. Il sait quand une valeur est seulement testée, mesurée, tronquée ou masquée (token is None, len(token), token[:6], mask(card)) et qu'une exception n'est pas un secret (logger.error("Failed to refresh token: %s", e)). Il respecte les chemins redact de pino pour les clés d'objets dans les appels pino, les types LogValuer de Go et les types déclarés dans le même fichier dont les champs secrets sont exclus des logs (SecretStr, field(repr=False), @ToString.Exclude, [NotLogged]). Il ignore uniquement les profils dev, development, local, test, ci et staging, et traite la sortie print des outils en ligne de commande comme une sortie, pas comme des logs, tandis que les handlers Lambda, les tâches Celery et les applications web comptent toujours comme des logs. Il n'exécute jamais votre code. Il renvoie BLOCK, REVIEW ou NOT FLAGGED, avec le fichier, la ligne, la raison et une approche plus sûre. Les secrets ne sont jamais affichés.

Ce qui est vérifié

BLOCK (à corriger avant la mise en production)

  • P01 : mots de passe, jetons, clés d'API, secrets client et clés d'accès secrètes AWS, clés privées, codes à usage unique, chaînes de connexion et URL de bases de données, ou l'environnement entier, écrits dans un log ou affichés
  • P02 : valeurs des en-têtes Authorization, Cookie ou de clé d'API (y compris via HttpHeaders.AUTHORIZATION et HeaderNames.Authorization), l'identifiant de session ou les cookies d'une requête, morgan :req[authorization], ou Authorization ajouté à la journalisation HTTP d'ASP.NET Core
  • P03 : numéros de carte et codes de sécurité CVV/CVC
  • P04 : le corps ou le formulaire entier d'une requête de connexion, d'inscription ou de mot de passe

REVIEW (à vérifier avant la publication)

  • P11 : adresses e-mail, numéros de téléphone, adresses postales et dates de naissance
  • P12 : numéros de sécurité sociale, de carte d'identité nationale, de passeport, fiscaux et de permis de conduire, IBAN, numéros de compte bancaire, codes d'acheminement bancaire et numéros de dossier médical
  • P13 : objets utilisateur, client, compte ou requête entiers, objets de requête de connexion ou d'inscription, ensembles d'en-têtes et sessions de requête
  • P14 : corps de requête, formulaires, chaînes de requête et collections de paramètres entiers
  • P15 : DEBUG ou TRACE comme niveau racine ou par défaut dans la configuration de production (Spring Boot, appsettings.json, logback, log4j, production.rb de Rails, .env.production, un logger racine Django en production)
  • P16 : journalisation du corps ou des en-têtes HTTP activée en dehors d'une vérification d'environnement de développement (HttpLoggingFields d'ASP.NET Core, log-request-details et filtres de journalisation des requêtes de Spring, HttpLoggingInterceptor d'OkHttp sans redactHeader, debuglevel de http.client en Python, httputil.DumpRequest en Go)
  • P17 : valeurs de paramètres SQL dans les logs (EnableSensitiveDataLogging d'EF Core en dehors d'une vérification de développement, logger de binding Hibernate au niveau TRACE)
  • P18 : send-default-PII de Sentry activé, ou un paramètre dataCollection / data_collection qui laisse activés les informations utilisateur, les cookies, les en-têtes ou les corps
  • P19 : une valeur au nom neutre journalisée juste après un libellé de message qui nomme un secret ("password: %s", value)

Ce qui est inclus

  • Le scanner (Python 3.9+, bibliothèque standard uniquement)
  • Un guide des règles avec la raison, une approche plus sûre et la source (OWASP, CWE, PCI SSC, Microsoft, Sentry) pour chaque règle
  • Un projet d'exemple risqué et un projet sûr en cinq langages, ainsi que le rapport réel produit par le scanner sur le projet risqué

Limites

Il décide d'après les noms : une valeur dans une variable nommée x ou result n'est signalée que si un libellé, une clé ou une affectation dans le même fichier indique ce qu'elle contient, et les valeurs transmises via d'autres fichiers ne sont pas suivies. Le masquage effectué dans des filtres de logs personnalisés ou des motifs de masquage n'est pas détecté. Les adresses IP et les noms d'utilisateur ne sont pas signalés, car l'OWASP Logging Cheat Sheet recommande de les enregistrer pour les événements de sécurité. Un Sentry.init du JavaScript SDK 11 sans dataCollection n'est pas signalé, car la version du SDK n'est pas lue. NOT FLAGGED n'est pas une garantie.

Contenu

Un fichier ZIP de 25 fichiers : SKILL.md, le scanner dans scripts/ (8 fichiers Python), references/rules.md (chaque règle avec sa raison et une approche plus sûre) et examples/ (14 fichiers d'exemple plus report.md, la sortie réelle du scanner sur l'exemple risqué).

Mode d'emploi : Il s'agit d'une skill pour agent : un dossier contenant un fichier SKILL.md et des scripts Python qu'un agent de codage IA comme Claude Code, Cursor ou Codex CLI peut exécuter. Décompressez-la dans le dossier des skills de votre agent (pour Claude Code : ~/.claude/skills/), puis demandez à votre agent de vérifier votre projet. Les scripts fonctionnent aussi seuls avec Python 3.9 ou une version plus récente, sans rien à installer. Ils se contentent de lire vos fichiers : aucun accès réseau, et rien n'est envoyé nulle part.

Ce que vous recevez

1 fichier · 65.54 KB

  • pii-in-logs-check-1.0.0.zipZIP · 65.54 KB
LicenceUsage commercial autorisé
Vérification du paquetRéussie

Getly a ouvert les fichiers envoyés et n'a rien trouvé qui empêche leur ouverture. Ce n'est ni une analyse antivirus ni une note de qualité.

Publié12 nov. 2026
Taille du fichier65.54 KB
Format du fichierZIP
Versionv1.0

Tags

loggingprivacypiisecuritygdprai agent skill
R
RR HH

Questions fréquentes

Ai-je accès au produit immédiatement ?

Oui. C'est un produit numérique : vous pouvez le télécharger juste après le paiement, directement depuis votre bibliothèque.

Puis-je l'utiliser pour des projets commerciaux ?

Oui. L'usage commercial est autorisé : utilisez-le dans votre propre activité et dans ce que vous vendez. Vous ne pouvez pas revendre ni redistribuer le fichier lui-même.

Quelle est votre politique de remboursement ?

Vous pouvez demander un remboursement dans un délai de 30 jours. Si quelque chose ne va pas, demandez-le depuis votre commande et l'équipe Getly l'examine.

Quels formats et quelles tailles de fichier vais-je recevoir ?

Vous téléchargerez 1 fichier - ZIP - 65.54 KB au total.

Ai-je droit aux mises à jour gratuites ?

Oui : quand le vendeur publie une nouvelle version, vous pouvez retélécharger les derniers fichiers depuis votre bibliothèque sans frais. Consultez le journal des modifications pour les dernières mises à jour.

Prix

$5.00