📦 bits ya está en disponibilidad general — cuatro agentes firmados que puede descargar y verificar
La familia bits — los agentes que se ejecutan en sus propias máquinas — ya se puede descargar desde la página de descargas. Cuatro binarios, todos firmados con la misma clave, todos verificables antes de ejecutarlos.
| Agente | Versión | Qué hace | Plataformas |
|---|---|---|---|
| bitcollector | v0.1.0-ga | Verdad sobre los activos con valor probatorio, desde un host: procesos, paquetes, puertos, cuentas, postura | Linux amd64/arm64, macOS amd64/arm64, Windows amd64 |
| bitscanner | v0.1.3-ga | Encuentra los dispositivos que su inventario no contiene | Linux amd64/arm64 |
| bitenforcer | v0.1.0-ga | Validación de la política de endurecimiento y comprobación previa | Linux amd64/arm64 |
| bitmapper | v0.1.0-ga | Captura de conexiones en vivo — extremos, puertos, protocolo, contadores, estado de la conexión. Sin atribución por proceso en esta versión | Linux amd64 |
v0.1.0-ga no atribuye los flujos a procesosLa fila de arriba decía en un principio «Captura de conexiones en vivo con atribución por proceso», y la entrada de bitmapper en Para qué sirve cada agente afirmaba que bitmapper informa de «qué procesos están hablando realmente con qué, atribuido conexión a conexión». Ambas afirmaciones eran falsas respecto al binario que anuncia esta entrada, y lo eran en la dirección que a usted le cuesta: la atribución por proceso es lo que distingue a bitmapper de un escáner externo al host, y es la razón misma para desplegarlo.
Medido contra el 0.1.0-ga publicado — commit 64ebc64, el artefacto que hoy está en la página
de descargas — 0 de 12 flujos capturados llevaban atribución de proceso alguna, incluido un
flujo de 60 segundos cuyo proceso propietario estuvo vivo y consultable de principio a fin.
destination_process nunca se rellenó fuera del código de prueba. En esa compilación la búsqueda
se intenta una sola vez, al crear la conexión, contra una instantánea de la tabla de sockets
que no puede contener el socket de una conexión saliente recién nacida; ningún paquete posterior
lo reintenta, y no hay ninguna inferencia a partir de los sockets en escucha a la que recurrir,
porque ese código sencillamente no está en 64ebc64.
Lo que v0.1.0-ga sí hace es captura pasiva de flujos, y esa parte es real. Cada conexión
seguida se exporta como un registro de flujo: extremos de origen y destino, puertos, protocolo,
estado de la conexión, sentido, interfaz, primera y última observación, duración y contadores de
bytes y paquetes — sin un solo byte de carga útil, nunca. Es una respuesta útil a «con qué está
hablando esta máquina». No es una respuesta a «qué proceso lo está haciendo».
La atribución por proceso está implementada y verificada — sencillamente no está en el binario que usted puede descargar. En el mismo banco de pruebas que midió 0 de 12, el reemplazo atribuye 12 de 12, anota la respuesta en el extremo que realmente posee el socket y separa una coincidencia directa de socket de una inferencia, negándose a nombrar a nadie cuando un puerto tiene varios procesos en escucha. Llegará en la próxima versión de bitmapper. Aquí no le ponemos fecha: ya le dijimos una vez que esta capacidad estaba entregada cuando no lo estaba.
Si descargó bitmapper fiándose de la frase original, el error es nuestro. Atribución de procesos expone exactamente qué resuelve el binario de hoy y qué lo reemplaza.
Por qué unos agentes listan menos plataformas que otros
Porque un binario que se instala, se declara sano y no recopila nada es peor que no tener binario.
Cada plataforma de esa tabla es una plataforma en la que el agente hace su trabajo. Donde no lo haría, no lo hemos publicado, y preferimos decirlo antes que dejar que usted lo descubra después de un despliegue:
- bitenforcer es solo para Linux. Toda su superficie es
iptables,sysctl,systemdy SELinux. En macOS esos elementos no existen, así que el agente no validaría nada y sus primitivas de reversión no tendrían nada que restaurar. - bitmapper es solo para Linux
amd64. Necesita una biblioteca real de captura de paquetes compilada dentro. Una compilación sin ella sigue produciendo un binario ejecutable — uno que no captura absolutamente nada — así que nuestra canalización de release se niega a firmar un artefacto que no pueda demostrar que captura. - bitscanner es solo para Linux por la misma clase de motivo: sus lectores de vecinos y de rutas están implementados para Linux.
Esperamos que estas listas crezcan. Cuando lo hagan, será porque el agente se ha ejercitado en esa plataforma, no porque haya compilado.
Verifique antes de ejecutar
Cada release incluye una firma separada, un SBOM y una atestación de compilación por binario,
más un SHA256SUMS firmado que cubre el conjunto completo. Las compilaciones son reproducibles:
la canalización compila dos veces desde cero y se niega a publicar salvo que ambas sean idénticas
byte a byte.
La clave de firma se publica en tres lugares independientes que deben coincidir: el sitio de
documentación, un registro DNS TXT que lleva su huella y un segundo registro TXT que lleva la
clave en sí. Contraste al menos dos. Una firma solo vale lo que valga el ancla de confianza que
hay detrás, y una sola fuente es un ritual, no una comprobación.
# Obtenga la clave por DNS — funciona dentro de CI, donde la protección antibots bloquea las descargas HTTPS simples
dig +short TXT _cosign-key.cert-ix.com | tr -d '"' | sed 's/.*key=//' \
| base64 -d | openssl pkey -pubin -inform DER -out cosign.pub
# Confirme que es NUESTRA clave, frente a la huella publicada en el sitio de documentación
openssl pkey -pubin -in cosign.pub -outform DER | sha256sum
# esperado: 552839f6b1b1eb0934557e1886326c7270584fa602fbf56f84754a98be3de822
# Después, verifique la release que ha descargado
cosign verify-blob --key cosign.pub --bundle SHA256SUMS.sig \
--insecure-ignore-tlog=true SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
cert-ix.com todavía no publica un registro DS, así que las respuestas DNS no están validadas
criptográficamente de extremo a extremo. Obtener la clave por DNS es cómodo y funciona donde
HTTPS está bloqueado, pero lo que establece la confianza es la comparación de la huella contra el
sitio de documentación — cargado por HTTPS, con un certificado validado. No se lo salte.
Las instrucciones completas, incluido para qué sirve cada fichero de una release y qué aspecto tiene una comprobación fallida, están en Verificación de sus descargas.
Para qué sirve cada agente
- bitcollector — qué hay en esta máquina, como evidencia y no como afirmación. Cada lote está atestado y la cadena se puede verificar sin conexión, sin ningún acceso a Cert-IX.
- bitscanner — los dispositivos que un inventario basado en agentes no puede ver por construcción, porque no hay nada instalado en ellos. Se distribuye inerte: no pone ningún paquete en su red hasta que usted lo arma explícitamente, y la autorización no puede venir de una variable de entorno.
- bitenforcer — qué cambiaría una política de endurecimiento, antes de que cambie nada. La v1 valida e informa; no aplica.
- bitmapper — con qué está hablando realmente
esta máquina, flujo a flujo: extremos, puertos, protocolo, contadores y estado de la conexión,
capturados en vivo desde sus propias interfaces. En
v0.1.0-gaesos flujos no llevan ninguna atribución por proceso — lea la corrección de arriba antes de planificar sobre ello.
Por dónde empezar
Descargue un agente, verifíquelo y lea la página del que haya elegido. Si no sabe cuál, ¿Qué es bits? explica cómo encajan los cuatro y, igual de importante, qué es lo que cada uno deliberadamente no hace.
