Saltar al contenido principal

Menú de comandos

Ve a una página o busca en el catálogo

Herramientas y scripts de IA

Comprobación de datos personales (PII) en logs

Revisa las llamadas y la configuración de logging antes de publicar: contraseñas, tokens, cadenas de conexión, cabeceras Authorization y números de tarjeta en logs, cuerpos de inicio de sesión, correos y números de identificación, objetos de usuario completos, DEBUG en producción, PII en Sentry.

$5.00

Qué recibes: 1 archivo · 65.54 KB · ZIP

Ver opciones de compra

Descripción del producto

console.log("login", req.body) en una ruta de inicio de sesión escribe la contraseña de cada usuario en tu servicio de logs, y log.info("user={}", user) imprime todos los campos del objeto de usuario, incluido el hash de la contraseña. Los logs se copian a más lugares, y los leen más personas, que la base de datos de la que proceden los datos. Esta skill detecta esos errores y otros once errores de logging antes de publicar, y te explica cómo corregir cada uno.

Tu agente ejecuta un escáner sobre código Python, JavaScript y TypeScript, Java, Kotlin, Go, Ruby, PHP y C#, y sobre application.properties y application.yml de Spring Boot, appsettings.json de ASP.NET Core, archivos de logback y log4j, sentry.properties y .env.production. Encuentra cada llamada de logging o de impresión (Python logging, structlog, print; console, pino, winston, NestJS; SLF4J, Log4j, Android Log, kotlin-logging; Go log, slog, zap, logrus; logger de Rails; Laravel Log, error_log; ILogger, Serilog) y lee lo que escribe: argumentos, claves de objetos, f-strings y template strings, y el valor tras una etiqueta como "password=%s" o un hueco {Password} de una plantilla. Sabe cuándo un valor solo se comprueba, se mide, se recorta o se enmascara (token is None, len(token), token[:6], mask(card)) y que una excepción no es un secreto (logger.error("Failed to refresh token: %s", e)). Respeta las rutas redact de pino para claves de objetos en llamadas a pino, los tipos LogValuer de Go y los tipos declarados en el mismo archivo cuyos campos secretos se mantienen fuera de los logs (SecretStr, field(repr=False), @ToString.Exclude, [NotLogged]). Solo omite los perfiles dev, development, local, test, ci y staging, y trata la salida de print de herramientas de línea de comandos como salida, no como logs, mientras que los handlers de Lambda, las tareas de Celery y las aplicaciones web siguen contando como logs. Nunca ejecuta tu código. Devuelve BLOCK, REVIEW o NOT FLAGGED, con el archivo, la línea, el motivo y un enfoque más seguro. Los secretos nunca se muestran.

Qué comprueba

BLOCK (corregir antes de publicar)

  • P01: contraseñas, tokens, claves de API, secretos de cliente y claves de acceso secretas de AWS, claves privadas, códigos de un solo uso, cadenas de conexión y URL de bases de datos, o el entorno completo escritos en un log o impresos
  • P02: valores de las cabeceras Authorization, Cookie o de clave de API (también mediante HttpHeaders.AUTHORIZATION y HeaderNames.Authorization), el id de sesión o las cookies de una petición, morgan :req[authorization], o Authorization añadido al logging HTTP de ASP.NET Core
  • P03: números de tarjeta y códigos de seguridad CVV/CVC
  • P04: el cuerpo o formulario completo de una petición de inicio de sesión, registro o contraseña

REVIEW (revisar antes del lanzamiento)

  • P11: direcciones de correo electrónico, números de teléfono, direcciones postales y fechas de nacimiento
  • P12: números de la seguridad social, de documento nacional de identidad, de pasaporte, fiscales y de permiso de conducir, IBAN, números de cuenta bancaria, códigos de ruta bancaria y números de historia clínica
  • P13: objetos completos de usuario, cliente, cuenta o petición, objetos de petición de inicio de sesión o registro, conjuntos de cabeceras y sesiones de petición
  • P14: cuerpos de petición completos, formularios, query strings y colecciones de parámetros
  • P15: DEBUG o TRACE como nivel raíz o predeterminado en la configuración de producción (Spring Boot, appsettings.json, logback, log4j, production.rb de Rails, .env.production, un logger raíz de Django en producción)
  • P16: logging del cuerpo o las cabeceras HTTP activado fuera de una comprobación de entorno de desarrollo (HttpLoggingFields de ASP.NET Core, log-request-details y filtros de logging de peticiones de Spring, HttpLoggingInterceptor de OkHttp sin redactHeader, debuglevel de http.client en Python, httputil.DumpRequest en Go)
  • P17: valores de parámetros SQL en logs (EnableSensitiveDataLogging de EF Core fuera de una comprobación de desarrollo, logger de bind de Hibernate en TRACE)
  • P18: send-default-PII de Sentry activado, o un ajuste dataCollection / data_collection que deja activados la información del usuario, las cookies, las cabeceras o los cuerpos
  • P19: un valor con nombre neutro registrado justo después de una etiqueta de mensaje que nombra un secreto ("password: %s", value)

Qué incluye

  • El escáner (Python 3.9+, solo biblioteca estándar)
  • Una guía de reglas con el motivo, un enfoque más seguro y la fuente (OWASP, CWE, PCI SSC, Microsoft, Sentry) de cada regla
  • Un proyecto de ejemplo arriesgado y otro seguro en cinco lenguajes, y el informe real que genera el escáner sobre el arriesgado

Limitaciones

Decide por nombres: un valor en una variable llamada x o result solo se informa cuando una etiqueta, una clave o una asignación en el mismo archivo indica lo que contiene, y no se siguen los valores que pasan por otros archivos. No se detecta el ocultamiento hecho en filtros de log personalizados o patrones de enmascarado. No se informa de direcciones IP ni de nombres de usuario, porque la OWASP Logging Cheat Sheet recomienda registrarlos en los eventos de seguridad. No se informa de un Sentry.init del JavaScript SDK 11 sin dataCollection, porque no se lee la versión del SDK. NOT FLAGGED no es una garantía.

Contenido

Un archivo ZIP con 25 archivos: SKILL.md, el escáner en scripts/ (8 archivos de Python), references/rules.md (cada regla con su motivo y un enfoque más seguro) y examples/ (14 archivos de ejemplo más report.md, la salida real del escáner sobre el ejemplo arriesgado).

Cómo usarlo: Esto es una skill para agentes: una carpeta con un archivo SKILL.md y scripts de Python que puede ejecutar un agente de programación con IA como Claude Code, Cursor o Codex CLI. Descomprímela en la carpeta de skills de tu agente (para Claude Code: ~/.claude/skills/) y luego pide a tu agente que revise tu proyecto. Los scripts también funcionan por sí solos con Python 3.9 o posterior, sin necesidad de instalar nada. Solo leen tus archivos: sin acceso a la red y sin enviar nada a ningún sitio.

Qué recibes

1 archivo · 65.54 KB

  • pii-in-logs-check-1.0.0.zipZIP · 65.54 KB
LicenciaUso comercial permitido
Revisión del paqueteSuperada

Getly abrió los archivos subidos y no encontró nada que impida abrirlos. No es un análisis antivirus ni una valoración de calidad.

Publicado12 nov 2026
Tamaño del archivo65.54 KB
Formato de archivoZIP
Versiónv1.0

Etiquetas

loggingprivacypiisecuritygdprai agent skill
R
RR HH

Preguntas frecuentes

¿Tengo acceso al instante?

Sí. Es un producto digital: puedes descargarlo justo después del pago, directamente desde tu biblioteca.

¿Puedo usarlo en proyectos comerciales?

Sí. Se permite el uso comercial: úsalo en tu propio negocio y en cosas que vendas. No puedes revender ni redistribuir el archivo en sí.

¿Cuál es vuestra política de reembolso?

Puedes pedir un reembolso dentro de 30 días. Si algo no va bien, solicítalo desde tu pedido y el equipo de Getly lo revisa.

¿Qué formatos y tamaños de archivo recibiré?

Descargarás 1 archivo - ZIP - 65.54 KB en total.

¿Recibo actualizaciones gratis?

Sí: cuando el vendedor publica una versión nueva, puedes volver a descargar los archivos más recientes desde tu biblioteca sin coste extra. Mira el registro de cambios para ver las últimas actualizaciones.

Precio

$5.00