Cadeia de suprimento dos binários
Como conferir o checksum e a assinatura de um release da codafort, e o que cada canal de instalação verifica antes de instalar.
Cada release publica SHA256SUMS, assinado com minisign a partir da v0.1.0, e cada canal confere o hash antes de instalar. A assinatura é conferida pelo instalador por script quando o minisign está instalado (tabela abaixo).
O que cada release publica
Em github.com/codafort/releases, por produto e versão (a tag leva o produto: codafort-v0.1.0, codacrash-v0.1.0…):
| Arquivo | Conteúdo |
|---|---|
<produto>-<versão>-<plataforma>.tar.gz / .zip | o binário, LICENSE (EULA) e THIRD-PARTY-NOTICES.md; no codafort, também skills/ (as Agent Skills) |
SHA256SUMS | o hash de cada arquivo do release |
SHA256SUMS.minisig | a assinatura minisign do arquivo de hashes |
codafort.pub | a chave pública minisign, em cada release do codafort e em codafort.dev/codafort.pub, de onde os instaladores a buscam |
codafort-<versão>-sbom.cdx.json | o SBOM CycloneDX do release do codafort (o binário e o dashboard que ele embarca) |
codaprobe.rb · codatrace.rb | fórmulas Homebrew desses dois produtos, como assets do release (o tap só carrega o codafort) |
Plataformas do codafort: macOS arm64 e x64, Linux x64 e arm64, Windows x64. codacrash: macOS arm64 e x64, Linux x64, Windows x64 e x86. codaprobe: macOS arm64 e x64, Linux x64, Windows x64. codatrace: macOS e Linux x64; em outras plataformas, o agente JVM vem em código-fonte no pacote e codatrace install jvm imprime a linha de cc para compilá-lo. Os binários Linux exigem glibc 2.28 ou mais nova (Ubuntu 20.04+, Debian 11+, RHEL/Rocky 8+, Amazon Linux 2023); Alpine/musl não é suportado.
Verificar à mão
# 1. checksum (só dos arquivos que você baixou)
sha256sum -c --ignore-missing SHA256SUMS # macOS: shasum -a 256 -c --ignore-missing SHA256SUMS
# 2. assinatura do arquivo de checksums
minisign -Vm SHA256SUMS -p codafort.pub
No Windows, o passo 1 é (Get-FileHash .\codafort-<versão>-win32-x64.zip -Algorithm SHA256).Hash, comparado com a linha do SHA256SUMS.
Se o passo 2 passa, cada hash em SHA256SUMS é o que a codafort publicou. Se o passo 1 passa, o arquivo que você baixou é o que o hash descreve.
Os canais e o que cada um confere
Pré-lançamento: a codafort ainda não está disponível para instalar. Entre na lista de espera →
| Canal | Comando | Verificação | |
|---|---|---|---|
| Script (macOS · Linux) | `curl --proto '=https' --tlsv1.2 -fsSL https://codafort.dev/install.sh \ | sh` | SHA-256 sempre: sem SHA256SUMS ou sem sha256sum/shasum, não instala; minisign se o minisign estiver instalado (senão avisa e segue). Instala em ~/.local/bin; CODAFORT_VERSION fixa a versão, CODAFORT_INSTALL muda o diretório, CODAFORT_NO_MODIFY_PATH=1 não sugere PATH |
| PowerShell (Windows) | `irm https://codafort.dev/install.ps1 \ | iex` | SHA-256 sempre; minisign se o minisign estiver no PATH. Instala em %LOCALAPPDATA%\Programs\codafort e o acrescenta ao PATH do usuário (CODAFORT_NO_MODIFY_PATH=1 não acrescenta); as mesmas CODAFORT_VERSION e CODAFORT_INSTALL |
| npm | npm i -g codafort · npx codafort | o meta-pacote codafort resolve @codafort/cli-<plataforma> por optionalDependencies; o binário nativo vem dentro do pacote, e nada é baixado depois | |
| Homebrew | brew install codafort/tap/codafort | a fórmula traz o sha256 de cada tarball | |
| Manual | Download | você confere como acima |
O npm só distribui o codafort. Os agentes do codatrace (Python, Node, JVM) vêm no mesmo pacote do coletor, para que agente e coletor estejam sempre na mesma versão.
SBOM
O SBOM da própria codafort está em /sbom.json (CycloneDX 1.5), gerado pelo próprio produto. Cobre as dependências do binário e do dashboard web. Não cobre os agentes do codatrace, que não têm lockfile próprio e usam a biblioteca padrão do runtime da sua aplicação. Cada release do codafort traz também o SBOM do próprio release (codafort-<versão>-sbom.cdx.json), coberto pelo SHA256SUMS e, portanto, pela assinatura.
Trate os instaladores como release
O /install.sh é POSIX sh, sem bashisms; o /install.ps1 roda no Windows PowerShell 5.1 e no PowerShell 7. Para ler antes de rodar: curl -fsSL https://codafort.dev/install.sh | less · irm https://codafort.dev/install.ps1. Nenhum pede administrador. O sh não altera o PATH (só sugere); o do PowerShell altera só o PATH do usuário e avisa. Os dois param sem instalar se o checksum não bater, e um download interrompido no meio do curl | sh não executa nada.
Licença
Todo binário é distribuído sob a EULA da Orchestro Tecnologia (LICENSE no pacote): software licenciado, não vendido. A Segurança (detecção e conserto) é grátis para sempre; veja codafort.com/terms.