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…):

ArchivoContenido
<producto>-<versión>-<plataforma>.tar.gz / .zipel binario, LICENSE (EULA) y THIRD-PARTY-NOTICES.md; en codafort, también skills/ (las Agent Skills)
SHA256SUMSel hash de cada archivo del release
SHA256SUMS.minisigla firma minisign del archivo de hashes
codafort.publa 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.jsonel SBOM CycloneDX del release de codafort (el binario y el dashboard que embebe)
codaprobe.rb · codatrace.rbfó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 →

CanalComandoVerificació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
npmnpm i -g codafort · npx codafortel metapaquete codafort resuelve @codafort/cli-<plataforma> por optionalDependencies; el binario nativo viene dentro del paquete, y nada se descarga después
Homebrewbrew install codafort/tap/codafortla fórmula trae el sha256 de cada tarball
ManualDescargarverificas 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.