Bug: release tooling should quote remote command arguments
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 68/100
Direção de pesquisa
Comece com run_release.py e inspecione a construção dos comandos para o upload no python.org e os caminhos SSH do release-manager. Use clientes Paramiko simulados para capturar a saída de exec_command() com metacaracteres em credenciais, tokens, nomes de usuário e caminhos de staging; considera-se concluído quando esses valores estiverem devidamente delimitados, enquanto a expansão intencional de glob para as cópias de artefatos preparados permanece intacta.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
run_release.py builds remote shell command strings for release publication.
Several values are interpolated directly into those command strings, including
release credential environment values, the release tag, and remote staging paths
derived from release-manager state.
Those values are normally trusted release-process inputs, but quoting them
consistently makes the generated commands safer and more predictable when a
value contains whitespace or shell metacharacters.
Reproducer
Using mocked Paramiko clients:
- Set the python.org API credential value to contain shell metacharacters, such
asuser:key; echo unexpected. - Make the fake Sigstore issuer return a token containing shell metacharacters,
such astoken; touch /tmp/unexpected. - Run the python.org upload step and capture the command sent to
exec_command(). - The captured command includes those values unquoted in
AUTH_INFO=...and
SIGSTORE_IDENTITY_TOKEN=...assignments.
Similar mocked tests can set the release-manager SSH username to a value with a
metacharacter and observe that derived staging paths are inserted into cleanup,
copy, unzip, move, group, and permission commands without quoting.
Expected behavior
Release-tool commands should quote environment values, release arguments, and
remote filesystem paths before sending command strings to the remote shell,
while preserving intentional glob expansion for staged artifact copies.
- Linguagem predominante
- Python
- Estrelas
- 61
- Forks
- 48
- Merge médio
- 1h 22min
- PRs com merge (30d)
- 4
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
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 python/release-tools
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
python/release-tools#401 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
python/release-tools#434 ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
python/release-tools#417 ·
-
bug
python/release-tools#286 · 1 responsável ·
-
enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 52/100
python/release-tools#285 ·
Todas as issues de python/release-tools
Issues semelhantes
-
agent-ready documentation needs-triage
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
-
documentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 92/100
-
instance instance add
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
searxng/searx-instances#939 · 1 comentário ·
-
area-deployment area-integrations triage:bot-seen
Dificuldade 2/5 Meio dia Facilidade para iniciantes 86/100