security: _validate_import_line_or_throw logs credential fields at DEBUG level
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
Direção de pesquisa
Comece em UserItem.CSVImport._validate_import_line_or_throw e inspecione cada log DEBUG do logger fornecido pelo chamador, incluindo as chamadas alcançadas por meio de validate_file_for_import. Considera-se concluído quando os valores de senha das linhas CSV importadas estiverem mascarados ou omitidos nas representações registradas, enquanto o comportamento de validação permanece inalterado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 716
- Forks
- 446
- Merge médio
- 8d 8h
- PRs com merge (30d)
- 2
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de tableau/server-client-python
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
tableau/server-client-python#1865 ·
-
enhancement gap needs investigation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
tableau/server-client-python#1322 · 1 comentário ·
-
[Type2] Allow Incremental Refresh type schedules to be added via `server.schedules.add_to_schedule` Abertahelp wanted Server-Side Enhancement ui-exists
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
tableau/server-client-python#1101 · 3 comentários ·
-
enhancement good first issue
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
tableau/server-client-python#783 · 5 comentários ·
-
enhancement needs investigation
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
tableau/server-client-python#1879 ·
Todas as issues de tableau/server-client-python
Issues semelhantes
-
documentation help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
simonw/sqlite-utils#872 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100