GitHub
TMA-GITHUB-1.3.8
Ensure strict base permissions are set for repositories
Descrição
Base permissions define the permission level automatically granted to all organization members. Define strict base access permissions for all of the repositories in the organization, including new ones. Defining strict base permissions is the best practice in every role-based access control (RBAC) system. If the base permission is high - for example, "write" permission -every member of the organization will have ... default_repository_permission must be read or none. Uses the GitHub REST/GraphQL API through gh api (read-only). The repository comes from GH_REPO or the current git checkout (gh's {owner}/{repo} resolution, GH_HOST for GitHub Enterprise Server); the organization comes from GH_ORG (default: the repository owner). Fails when gh is missing or unauthenticated (gh auth login or GH_TOKEN); organization settings and branch protection need an owner/admin token.
Como é verificado
Método de auditoria: Comando shell
command -v gh >/dev/null 2>&1 || exit 1
gh auth status >/dev/null 2>&1 || exit 1
O=${GH_ORG:-$(gh api 'repos/{owner}/{repo}' --jq .owner.login 2>/dev/null)}
[ -n "$O" ] || exit 1
v=$(gh api "orgs/$O" --jq '.default_repository_permission == "read" or .default_repository_permission == "none"' 2>/dev/null) || exit 1
[ "$v" = true ] && echo compliant- Saída esperada
compliant
Como é corrigido
Método de correção: Orientação ou patch de infraestrutura
Organization Settings > Member privileges > Base permissions: Read or No permission; grant write via teams.
Propriedades
- Sistemas operacionais
- Qualquer
- Tags
- githubsource-code
- Referência
- CIS GitHub Benchmark v1.2.0 - 1.3.8 Ensure strict base permissions are set for repositories
Verificar este host
Execute isto em uma máquina que você tenha permissão para auditar. A varredura é somente leitura.
tmaegis scan --target github