security: _validate_import_line_or_throw logs credential fields at DEBUG level
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
Rechercherichtung
Beginne bei UserItem.CSVImport._validate_import_line_or_throw und prüfe jedes DEBUG-Log des vom Aufrufer bereitgestellten Loggers, einschließlich der Aufrufe, die über validate_file_for_import erreicht werden. Als erledigt gilt die Aufgabe, wenn Passwortwerte aus importierten CSV-Zeilen in protokollierten Darstellungen maskiert oder weggelassen werden, während das Validierungsverhalten unverändert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 716
- Forks
- 446
- Ø Merge
- 8 T. 8 Std.
- Gemergte PRs (30 T.)
- 2
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus tableau/server-client-python
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
tableau/server-client-python#1865 ·
-
enhancement gap needs investigation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
tableau/server-client-python#1322 · 1 Kommentar ·
-
[Type2] Allow Incremental Refresh type schedules to be added via `server.schedules.add_to_schedule` Offenhelp wanted Server-Side Enhancement ui-exists
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
tableau/server-client-python#1101 · 3 Kommentare ·
-
enhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
tableau/server-client-python#783 · 5 Kommentare ·
-
enhancement needs investigation
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
tableau/server-client-python#1879 ·
Alle Issues in tableau/server-client-python
Ähnliche Issues
-
documentation help wanted
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 90/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 90/100
simonw/sqlite-utils#872 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100