security: _validate_import_line_or_throw logs credential fields at DEBUG level
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
Piste de recherche
Commencez par UserItem.CSVImport._validate_import_line_or_throw et inspectez chaque journal DEBUG du logger fourni par l’appelant, y compris les appels atteints via validate_file_for_import. Le travail est terminé lorsque les valeurs de mot de passe des lignes CSV importées sont masquées ou omises dans les représentations journalisées, tandis que le comportement de validation reste inchangé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
UserItem.CSVImport._validate_import_line_or_throw (and by extension validate_file_for_import) accepts a caller-supplied logger and logs validation details at DEBUG level. The raw CSV values passed in include the password column (column index 1) from user-import files.
If a caller passes a logger with DEBUG enabled — common in development or verbose CI environments — passwords from the import CSV are written to the log output.
Proposed fix
Before any logging in _validate_import_line_or_throw, mask or omit the password field. For example, replace it with "***" in any debug-logged representation of the line:
def _safe_log_line(values):
masked = list(values)
if len(masked) > UserItem.CSVImport.ColumnType.PASSWORD:
masked[UserItem.CSVImport.ColumnType.PASSWORD] = "***"
return masked
This is a narrow fix — it does not change validation logic, only what gets emitted to the log.
- Langage dominant
- Python
- Étoiles
- 716
- Forks
- 446
- Merge moyen
- 8 j 8 h
- 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 tableau/server-client-python
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
tableau/server-client-python#1865 ·
-
enhancement gap needs investigation
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
tableau/server-client-python#1322 · 1 commentaire ·
-
[Type2] Allow Incremental Refresh type schedules to be added via `server.schedules.add_to_schedule` Ouvertehelp wanted Server-Side Enhancement ui-exists
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
tableau/server-client-python#1101 · 3 commentaires ·
-
enhancement good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
tableau/server-client-python#783 · 5 commentaires ·
-
enhancement needs investigation
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
tableau/server-client-python#1879 ·
Toutes les issues de tableau/server-client-python
Issues similaires
-
documentation help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
simonw/sqlite-utils#872 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100