security: _validate_import_line_or_throw logs credential fields at DEBUG level

Aberta Para iniciantes
#1,829 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Pouca atividade
Stack de tecnologia
python
Domínio
security

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

in-progress

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

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de tableau/server-client-python

Todas as issues de tableau/server-client-python

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.