Voltar ao catalogoINFRA-26
Workflows sem declaracao de permissions (GITHUB_TOKEN com escopo completo)
HighAchado ConfirmadoInfraestruturaRodada 4
Evidencia
`.github/workflows/Production.yaml`, `Homolog.yaml`, `Develop.yaml` — nenhum bloco `permissions:` declarado.
Impacto Tecnico
Se uma action de terceiros for comprometida (ver INFRA-25), o GITHUB_TOKEN com escopo completo permite ao atacante modificar o repositorio, criar releases, ou acessar secrets.
Impacto de Negocio
Amplifica o impacto de qualquer comprometimento de action de terceiros.
Recomendacao
Adicionar permissions: contents: read como default no topo de cada workflow. Adicionar permissoes especificas apenas nos jobs que necessitam.
Arquivos Afetados
.github/workflows/Production.yaml.github/workflows/Homolog.yaml.github/workflows/Develop.yaml
Achados Relacionados
Acoes Relacionadas
{
"id": "INFRA-26",
"title": "Workflows sem declaracao de permissions (GITHUB_TOKEN com escopo completo)",
"severity": "High",
"type": "achado confirmado",
"category": "infrastructure",
"description": "Nenhum dos 3 workflows declara bloco `permissions:`. O `GITHUB_TOKEN` default tem permissoes de escrita em repositorio, packages, issues, pull-requests.",
"evidence": "`.github/workflows/Production.yaml`, `Homolog.yaml`, `Develop.yaml` — nenhum bloco `permissions:` declarado.",
"technicalImpact": "Se uma action de terceiros for comprometida (ver INFRA-25), o GITHUB_TOKEN com escopo completo permite ao atacante modificar o repositorio, criar releases, ou acessar secrets.",
"businessImpact": "Amplifica o impacto de qualquer comprometimento de action de terceiros.",
"recommendation": "Adicionar `permissions: contents: read` como default no topo de cada workflow. Adicionar permissoes especificas apenas nos jobs que necessitam.",
"files": [
".github/workflows/Production.yaml",
".github/workflows/Homolog.yaml",
".github/workflows/Develop.yaml"
],
"pass": 4,
"relatedActions": [
"ACT-7.2.7"
],
"relatedFindings": [
"INFRA-25"
]
}
Descricao
Nenhum dos 3 workflows declara bloco
permissions:. OGITHUB_TOKENdefault tem permissoes de escrita em repositorio, packages, issues, pull-requests.