Cadena de suministro de los binarios
Cómo verificar el checksum y la firma de un release de codafort, y qué verifica cada canal de instalación antes de instalar.
Cada release publica SHA256SUMS, firmado con minisign desde la v0.1.0, y cada canal verifica el hash antes de instalar. La firma la verifica el instalador por script cuando minisign está instalado (tabla abajo).
Qué publica cada release
En github.com/codafort/releases, por producto y versión (el tag lleva el producto: codafort-v0.1.0, codacrash-v0.1.0…):
| Archivo | Contenido |
|---|---|
<producto>-<versión>-<plataforma>.tar.gz / .zip | el binario, LICENSE (EULA) y THIRD-PARTY-NOTICES.md; en codafort, también skills/ (las Agent Skills) |
SHA256SUMS | el hash de cada archivo del release |
SHA256SUMS.minisig | la firma minisign del archivo de hashes |
codafort.pub | la clave pública minisign, en cada release de codafort y en codafort.dev/codafort.pub, de donde la toman los instaladores |
codafort-<versión>-sbom.cdx.json | el SBOM CycloneDX del release de codafort (el binario y el dashboard que embebe) |
codaprobe.rb · codatrace.rb | fórmulas Homebrew de esos dos productos, como assets del release (el tap solo lleva codafort) |
Plataformas de codafort: macOS arm64 y x64, Linux x64 y arm64, Windows x64. codacrash: macOS arm64 y x64, Linux x64, Windows x64 y x86. codaprobe: macOS arm64 y x64, Linux x64, Windows x64. codatrace: macOS y Linux x64; en otras plataformas, el agente JVM viene en código fuente en el paquete y codatrace install jvm imprime la línea de cc para compilarlo. Los binarios Linux requieren glibc 2.28 o más nueva (Ubuntu 20.04+, Debian 11+, RHEL/Rocky 8+, Amazon Linux 2023); Alpine/musl no está soportado.
Verificar a mano
# 1. checksum (solo de los archivos que descargaste)
sha256sum -c --ignore-missing SHA256SUMS # macOS: shasum -a 256 -c --ignore-missing SHA256SUMS
# 2. firma del archivo de checksums
minisign -Vm SHA256SUMS -p codafort.pub
En Windows, el paso 1 es (Get-FileHash .\codafort-<versión>-win32-x64.zip -Algorithm SHA256).Hash, comparado con la línea del SHA256SUMS.
Si el paso 2 pasa, cada hash en SHA256SUMS es lo que codafort publicó. Si el paso 1 pasa, el archivo que descargaste es el que describe el hash.
Los canales y qué verifica cada uno
Prelanzamiento: codafort aún no está disponible para instalar. Únete a la lista de espera →
| Canal | Comando | Verificación | |
|---|---|---|---|
| Script (macOS · Linux) | `curl --proto '=https' --tlsv1.2 -fsSL https://codafort.dev/install.sh \ | sh` | SHA-256 siempre: sin SHA256SUMS o sin sha256sum/shasum, no instala; minisign si minisign está instalado (si no, avisa y sigue). Instala en ~/.local/bin; CODAFORT_VERSION fija la versión, CODAFORT_INSTALL cambia el directorio, CODAFORT_NO_MODIFY_PATH=1 no sugiere PATH |
| PowerShell (Windows) | `irm https://codafort.dev/install.ps1 \ | iex` | SHA-256 siempre; minisign si minisign está en el PATH. Instala en %LOCALAPPDATA%\Programs\codafort y lo agrega al PATH del usuario (CODAFORT_NO_MODIFY_PATH=1 no lo agrega); las mismas CODAFORT_VERSION y CODAFORT_INSTALL |
| npm | npm i -g codafort · npx codafort | el metapaquete codafort resuelve @codafort/cli-<plataforma> por optionalDependencies; el binario nativo viene dentro del paquete, y nada se descarga después | |
| Homebrew | brew install codafort/tap/codafort | la fórmula trae el sha256 de cada tarball | |
| Manual | Descargar | verificas como arriba |
npm solo distribuye codafort. Los agentes de codatrace (Python, Node, JVM) vienen en el mismo paquete que el colector, para que agente y colector estén siempre en la misma versión.
SBOM
El SBOM de la propia codafort está en /sbom.json (CycloneDX 1.5), generado por el propio producto. Cubre las dependencias del binario y del dashboard web. No cubre los agentes de codatrace, que no tienen lockfile propio y usan la biblioteca estándar del runtime de tu aplicación. Cada release de codafort trae además el SBOM del propio release (codafort-<versión>-sbom.cdx.json), cubierto por SHA256SUMS y, por lo tanto, por la firma.
Trata los instaladores como un release
/install.sh es POSIX sh, sin bashisms; /install.ps1 corre en Windows PowerShell 5.1 y en PowerShell 7. Para leerlos antes de ejecutarlos: curl -fsSL https://codafort.dev/install.sh | less · irm https://codafort.dev/install.ps1. Ninguno pide administrador. El de sh no cambia el PATH (solo lo sugiere); el de PowerShell cambia solo el PATH del usuario y avisa. Los dos se detienen sin instalar si el checksum no coincide, y una descarga cortada a mitad de curl | sh no ejecuta nada.
Licencia
Todo binario se distribuye bajo la EULA de Orchestro Tecnologia (LICENSE en el paquete): software licenciado, no vendido. La Seguridad (detección y corrección) es gratis para siempre; ver codafort.com/terms.