Cargo-Geiger: Auditoría de código unsafe en Rust 2026

¿Qué es cargo-geiger y por todo equipo Rust debería usarlo en 2026?

Cargo-geiger es una herramienta de línea de comandos que actúa como un «contador Geiger» para código unsafe en Rust, escaneando tu proyecto completo y todas sus dependencias para producir estadísticas precisas sobre dónde aparece código no verificado por el compilador. Para founders que construyen productos en Rust o evalúan tecnologías para sistemas críticos, esta herramienta representa la diferencia entre confiar ciegamente en dependencias externas y tener visibilidad real sobre la superficie de riesgo de tu código.

En un ecosistema donde la seguridad de memoria es la principal ventaja competitiva de Rust, cargo-geiger permite auditar qué crates de terceros introducen unsafe en tu build, priorizar revisiones de seguridad y establecer políticas internas de calidad de código. No elimina el riesgo, pero lo hace visible y accionable.

¿Cómo funciona cargo-geiger técnicamente?

Cargo-geiger se instala como un subcomando de Cargo (el gestor de paquetes oficial de Rust) mediante cargo install cargo-geiger. Una vez instalado, se ejecuta con cargo geiger desde la raíz de cualquier proyecto Rust.

👥 ¿Quieres ir más allá de la noticia?

En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.

👥 Unirme a la comunidad

La herramienta realiza tres operaciones fundamentales:

  • Construye la gráfica completa de dependencias del proyecto, incluyendo dependencias directas y transitivas
  • Escanea el código fuente de todos los crates involucrados buscando bloques, funciones y declaraciones unsafe
  • Genera un informe jerárquico que muestra el árbol de dependencias anotado con métricas de uso de unsafe, marcando además los crates que declaran #![forbid(unsafe_code)] (política que prohíbe completamente código unsafe)

El resultado es un reporte tipo «árbol genealógico» donde cada dependencia muestra cuántos bloques unsafe contiene y qué funciones los utilizan. Esto permite identificar rápidamente si un crate pequeño con pocas dependencias introduce más riesgo que una librería grande pero completamente safe.

La versión actual v0.13.0 está disponible en crates.io y el proyecto se mantiene activamente en el repositorio oficial de la organización geiger-rs en GitHub.

¿Por qué el código unsafe es relevante para la seguridad de tu startup?

Rust logra seguridad de memoria en tiempo de compilación mediante su sistema de propiedad (ownership), borrowing y el verificador del compilador. En código safe, muchas clases de errores —dangling pointers, data races, buffer overflows— se previenen antes de que el programa siquiera compile.

El bloque unsafe existe para casos legítimos: interoperabilidad con C (FFI), manipulación controlada de memoria, optimizaciones críticas o implementación de abstracciones de bajo nivel. Pero cuando usas unsafe, como desarrollador asumes la responsabilidad de garantizar invariantes que el compilador ya no puede verificar.

El problema para startups y equipos de ingeniería es doble:

  1. Tu código puede ser 100% safe, pero si una dependencia de tercer nivel introduce unsafe, tu aplicación hereda esa superficie de riesgo
  2. No todo unsafe es vulnerable, pero es el lugar donde es más probable que se escondan bugs de seguridad, undefined behavior o violaciones de encapsulación

Cargo-geiger no dice «esto es vulnerable». Dice «aquí hay código que el compilador no pudo verificar completamente, revísalo con prioridad». Esa distinción es crucial: es una herramienta de triage, no un scanner de vulnerabilidades.

¿Existen alternativas o herramientas complementarias?

El ecosistema Rust cuenta con varias herramientas de seguridad de supply chain, cada una con enfoque distinto:

| Herramienta | Propósito principal | Relación con cargo-geiger |
|—|—|—|
| cargo-audit | Revisa dependencias contra la base de advisories de RustSec (vulnerabilidades conocidas) | Complementaria: busca CVEs publicados, no uso de unsafe |
| cargo-crev | Sistema de confianza y reseñas distribuidas para crates | Complementaria: evalúa reputación de maintainers |
| cargo-geiger | Mide uso explícito de unsafe en código y dependencias | Especializada en métricas de unsafe |

Según análisis técnicos publicados en LogRocket, cargo-geiger es la herramienta más especializada en medir explícitamente el uso de unsafe. Las otras se centran en vulnerabilidades conocidas (cargo-audit) o en sistemas de confianza comunitaria (cargo-crev).

Un equipo serio de seguridad en Rust debería usar las tres de forma complementaria: cargo-geiger para visibilidad del código, cargo-audit para vulnerabilidades publicadas y cargo-crev para evaluar la confiabilidad de los maintainers de crates críticos.

¿Hay datos de adopción en la comunidad Rust?

Las estadísticas públicas de adopción son limitadas, pero existen señales claras de uso activo:

  • Cargo-geiger figura como paquete publicado en crates.io con versión v0.13.0, mantenido por la organización geiger-rs
  • El repositorio en GitHub muestra actividad de mantenimiento continuo con contribuciones de múltiples desarrolladores
  • En su lanzamiento inicial en la comunidad Rust (2018), la herramienta recibió 115 votos en Reddit, señal de interés temprano significativo
  • Artículos técnicos de 2022-2025 lo mencionan como herramienta estándar en workflows de seguridad Rust

No existen métricas oficiales de descargas o porcentaje de adopción comunitaria, pero la presencia sostenida en crates.io y la mención en documentación técnica sugieren uso activo en proyectos production.

¿Qué significa esto para tu startup?

Si tu startup desarrolla software en Rust o evalúa Rust para sistemas donde la seguridad es crítica (fintech, infraestructura, blockchain, sistemas embebidos), cargo-geiger ofrece ventajas concretas:

Para CTOs y tech leads:

  • Due diligence de dependencias: Antes de integrar una librería crítica, ejecuta cargo-geiger para ver cuánta superficie unsafe introduce. Un crate con 50 bloques unsafe merece más revisión que uno con 2.
  • Políticas internas de calidad: Establece thresholds máximos de unsafe code por componente. Si un PR aumenta significativamente el contador, requiere revisión de seguridad adicional.
  • Comunicación con inversores y clientes: En sectores regulados (salud, finanzas), poder demostrar que auditas sistemáticamente el código unsafe es un diferenciador de seguridad.

Para founders no técnicos:

  • Evaluación de stack tecnológico: Si un equipo candidato dice «usamos Rust por seguridad», pregunta si usan cargo-geiger o herramientas similares. La respuesta revela si la seguridad es práctica o solo marketing.
  • Riesgo de supply chain: El 70-80% del código en una aplicación moderna viene de dependencias externas. Sin visibilidad sobre qué hace ese código, estás confiando ciegamente en maintainers anónimos.

Acciones concretas para implementar esta semana:

  • Si ya usas Rust: Instala cargo-geiger (cargo install cargo-geiger) y ejecútalo en tu proyecto principal. Documenta el baseline actual y establece un proceso de revisión para cambios significativos.
  • Si evalúas Rust para un nuevo producto: Incluye en tu criterio de selección de librerías el uso de cargo-geiger como parte del due diligence técnico. Prioriza crates que declaren #![forbid(unsafe_code)] para componentes no críticos.
  • Si contratas desarrolladores Rust: Agrega preguntas sobre seguridad de supply chain y herramientas como cargo-geiger en tu proceso técnico. Un candidato que conoce estas herramientas entiende la realidad de construir software production en Rust.

Conclusión

Cargo-geiger no es una bala de plata para seguridad, pero resuelve un problema específico y crítico: hacer visible lo invisible. En un lenguaje donde la seguridad es la propuesta de valor principal, no tener visibilidad sobre dónde se rompe el modelo de seguridad es un riesgo operacional.

Para startups hispanohablantes que compiten en mercados globales con estándares de seguridad elevados, adoptar herramientas como cargo-geiger no es opcional —es parte de la higiene básica de ingeniería de software en 2026. La pregunta no es si puedes permitirte usarla, sino si puedes permitirte no saber qué código unsafe está corriendo en tu producción.

Fuentes

¿te gustó o sirvió lo que leíste?, Por favor, comparte.

👥 ¿Quieres ir más allá de la noticia?

En nuestra comunidad discutimos las tendencias, compartimos oportunidades y nos ayudamos entre emprendedores. Sin humo, solo acción.

👥 Unirme a la comunidad

Daily Shot: Tu ventaja táctica

Lo que pasó en las últimas 24 horas, resumido para que tú no tengas que filtrarlo.

Suscríbete para recibir cada mañana la curaduría definitiva del ecosistema startup e inversionista. Sin ruido ni rodeos, solo la información estratégica que necesitas para avanzar:

  • Venture Capital & Inversiones: Rondas, fondos y movimientos de capital.
  • IA & Tecnología: Tendencias, Web3 y herramientas de automatización.
  • Modelos de Negocio: Actualidad en SaaS, Fintech y Cripto.
  • Propósito: Erradicar el estancamiento informativo dándote claridad desde tu primer café.

📡 El Daily Shot Startupero

Noticias del ecosistema startup en 2 minutos. Gratis, cada día hábil.

Share to...