The pickle module documentation makes confusing statements about secure alternatives
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 36k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
Documentation
The pickle module states that the xmlrpc marshaling API should be used if the users desire a safe alternative to unpickling untrusted data:
https://docs.python.org/3.14/library/pickle.html:
As our examples shows, you have to be careful with what you allow to be unpickled. Therefore if security is a concern, you may want to consider alternatives such as the marshalling API in xmlrpc.client or third-party solutions.
However, the xmlrpc module has right at the top a warning that says the following:
https://docs.python.org/3.14/library/xmlrpc.client.html#module-xmlrpc.client:
The xmlrpc.client module is not secure against maliciously constructed data. If you need to parse untrusted or unauthenticated data see XML vulnerabilities.
These two statements contradict each other and could lead users to falsely believe that they are using a safe alternative.
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.
Direção de pesquisa
Comece pela afirmação na documentação do módulo pickle sobre xmlrpc.client e compare-a com o aviso de segurança no início da documentação de xmlrpc.client. Revise as orientações conflitantes para que os usuários não sejam levados a considerar xmlrpc.client seguro para dados não confiáveis; o trabalho estará concluído quando as duas páginas apresentarem orientações de segurança consistentes.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- documentation, security
- Tipo de issue
- Documentação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 38/100