Accuracy improvements for py/clear-text-logging-sensitive-data
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
Línea de trabajo
Comienza con la consulta py/clear-text-logging-sensitive-data y su configuración de taint-tracking; después, rastrea cómo se definen los sanitizers y propagators. Confirma, usando los ejemplos del issue como casos de regresión, que registrar SecretStr no se marca y que registrar una excepción que contiene un secret sí se marca.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description of the issue
Hey, I found two common cases where the rule doesn't match in my codebase. One creates noise, the other misses a real leak.
First, SecretStr masks text automatically (e.g., prints '**********'). Logging these objects is safe, but the rule flags them.
from pydantic import SecretStr
password = SecretStr("super_secret")
logging.info("Login: %s", password) # Flagged, but actually safe
- Logging an exception object leaks its message (via str), but the rule misses this if the secret is inside the exception.
secret_token = "secret_123"
# logging.error("Auth failed: %s", secret_token) # Detected ✅
try:
raise ValueError("Auth failed: {}".format(secret_token))
except ValueError as e:
# Currently NOT flagged, but leaks 'secret_123' via __str__ ❌
logging.error("Auth failed: %s", e)
Maybe we should add the first pattern to the sanitizers and add the second one as a propagator in the taint tracking config.
- Lenguaje dominante
- CodeQL
- Estrellas
- 10.1k
- Forks
- 2.1k
- Merge medio
- 2 d 16 h
- PR fusionados (30 d)
- 143
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de github/codeql
-
agentic-workflows
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
false-positive javascript
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
C#: cs/simplifiable-boolean-expression false positive on Nullable<bool> compared with a literal Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
false-positive
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Todos los issues de github/codeql
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
canonical/paas-charm#368 · 1 comentario ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
palladius/rails8-app-on-gcp#142 ·
-
addition to tracking list Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
StevenBlack/hosts#3256 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
corsairdev/corsair#1764 ·
-
oblt-aw/detector/security
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100