Skip to content
Apothem
Segurança

Postura do OpenSSF Scorecard

A meta de OpenSSF Scorecard do Apothem e as superfícies de evidência usadas para manter a pontuação em melhoria.

O Apothem mira a pontuação máxima do OpenSSF Scorecard mantendo a fachada pública honesta sobre o que o Scorecard pode e não pode inferir de um repositório novo com um único mantenedor. Este documento enumera cada verificação, a superfície de evidência que a respalda e o controle que mantém a postura atual.

A pontuação ao vivo está no visualizador do Scorecard; o selo está no cabeçalho do README.

Matriz de evidência por verificação

VerificaçãoSuperfície de evidênciaNotas
Binary-Artifactsbinary-artifacts-sweep.mdNenhum binário executável é rastreado no código-fonte; os arquivos de distribuição gerados permanecem em dist/.
Branch-Protectionbranch-protection-ruleset.mdmain é protegido antes da promoção para uma versão pública; force-pushes e exclusões são bloqueados depois que o commit da versão nova aterrissa.
CI-Tests.github/workflows/ci.ymlMatriz de Pytest, ruff, mypy, CodeQL, Trivy, build da documentação e verificações de fumaça do empacotamento.
CII-Best-PracticesRegistro no OpenSSF Best PracticesExige registro pelo mantenedor no site do OpenSSF Best Practices; isso não pode ser concluído apenas com arquivos do repositório.
Code-ReviewProteção de branch + CODEOWNERSAplicado para futuras pull requests; o histórico do Scorecard permanece limitado até que existam PRs revisadas.
ContributorsAUTHORSUm projeto novo com mantenedor solo não pode fabricar um histórico de contribuições de múltiplas organizações; isso melhora naturalmente conforme colaboradores aparecem.
Dangerous-WorkflowAuditoria de workflowsSem pull_request_target; as Actions são fixadas por SHA e escopadas com permissões explícitas.
Dependency-Update-Toolrenovate.jsonO Renovate cobre GitHub Actions, manifestos Python, requisitos de versão com hash travado e superfícies npm, mantendo disponíveis PRs de dependências agrupadas.
Fuzzingtests/property/Testes de propriedade do Hypothesis exercitam as invariantes do parser e do frontmatter; o Scorecard upstream pode não creditar o Hypothesis como uma integração de fuzzing.
LicenseLICENSELicença MIT na raiz do repositório.
MaintainedHistórico do GitO commit da versão atual e a cadência ativa de workflows demonstram manutenção; repositórios muito novos podem receber um aviso de idade.
Packaging.github/workflows/Workflows de Release, Pages e npmjs.com que produzem o sdist, o wheel, o SBOM, a proveniência SLSA e as assinaturas Sigstore.
Pinned-DependenciesAuditoria de workflows + requisitos com hash travadoAs Actions são fixadas por SHA; as instalações das ferramentas de release usam --require-hashes; as ferramentas pip exclusivas dos workflows usam fixações exatas.
SAST.github/workflows/codeql.ymlConsultas security-extended do CodeQL em Python e Actions.
Security-PolicySECURITY.mdPolítica de divulgação coordenada, matriz de versões suportadas e cronograma de resposta.
Signed-Releases.github/workflows/release.ymlAssinaturas keyless do Sigstore, proveniência SLSA, SBOM, somas de verificação e artefatos da versão.
Token-PermissionsAuditoria de workflowsOs workflows usam permissões somente-leitura por padrão; os escopos de escrita são locais ao job e atrelados a operações de implantação/empacotamento.
Vulnerabilities.github/workflows/pip-audit.yml + .github/workflows/dependency-review.ymlVarredura semanal de vulnerabilidades e varredura de CI com upload de SARIF; o gate de dependency-review bloqueia pull requests que introduzem dependências vulneráveis ou com licenças não permitidas.

Interpretação da pontuação

O Scorecard pontua cada verificação numa escala de 0 a 10 e a pontuação geral é uma média ponderada. Os controles que dependem do histórico do repositório, de registro de terceiros ou da diversidade de colaboradores são rastreados explicitamente em vez de superafirmados. A deriva em qualquer verificação controlada por arquivos dispara remediação imediata.

Cadência de atualização

  • A cada push: o workflow do Scorecard é reexecutado a cada push para main.
  • Semanal: segundas-feiras às 02:30 UTC — capta mudanças na metodologia de pontuação upstream + novas vulnerabilidades divulgadas contra dependências fixadas existentes.
  • A cada versão: antes da promoção pública, o mantenedor verifica a superfície do visualizador do Scorecard ao vivo e registra quaisquer limites do estado da plataforma.

Referências

On this page