Code Maps

Pega un repositorio y se convierte en una ciudad que puedes recorrer: cada carpeta es un edificio, la altura es complejidad y el color es lo que necesites mirar.

O inspecciona uno de estos: react/react langchain-ai/langchain expressjs/express

Abrir el panel Repositorios públicos, gratis. Los escáneres corren en tu máquina.

Nota de inspecciónTodo repositorio se lleva una, de la A a la E.

Recorre la ciudad

Los mismos edificios, seis preguntas. Baja y el mapa las responde una por una.

  1. 01

    Riesgo

    Vulnerabilidades, configuración insegura, secretos y zonas calientes, ponderados en un solo color. Un barrio se lleva casi todo.

  2. 02

    Deuda

    La misma ciudad medida en horas de limpieza. El perfil se reordena: las torres más altas no siempre son las más caras.

  3. 03

    Pulso

    Hace cuánto que alguien tocó cada módulo. Pálido es dormido, y dormido al lado de rojo es la combinación que hay que mirar.

  4. 04

    Tráfico

    Cuántos commits pasan por ahí. Estos son los pasillos por los que camina todo el equipo cada semana.

  5. 05

    El mapa de calor

    La cámara se va directo arriba y el perfil desaparece. Lo que queda es un mapa térmico de dónde se concentra el riesgo.

  6. 06

    Pregúntale a la IA

    Lee el código real, responde con archivo y línea, e ilumina cada edificio que nombra mientras lo lees.

Generamos código más rápido de lo que alguien puede leerlo

Un modelo escribe un servicio en una tarde. Revisarlo le sigue tomando una semana a una persona. La distancia entre lo que un equipo publica y lo que un equipo realmente leyó nunca fue tan grande, y crece en cada sprint.

La respuesta de siempre es otro informe: mil hallazgos ordenados por severidad, sin ninguna idea de en qué parte del sistema viven. Lo cierras y nada cambia, porque una lista no tiene geografía.

Los informes dicen cuánto. Un mapa te dice dónde.

Cómo funciona

Tres pasos, sin cuenta y sin subir nada.

  1. Pega un repositorio

    Una URL de GitHub o una ruta local. Los repos públicos se clonan en superficie dentro de .repos/ y se cachean, así que la segunda visita es instantánea.

  2. La ciudad crece

    Las carpetas se vuelven edificios y barrios mientras Trivy, gitleaks y las heurísticas de deuda corren en local, en segundo plano. El acta de inspección llega sola cuando terminan.

  3. Inspecciona, pregunta, arregla

    Haz clic en un edificio para leer sus hallazgos con archivo y línea. Pregúntale a la IA qué arreglar primero: lee el código real e ilumina los edificios que nombra.

Qué ves

Cada forma del mapa significa algo medible. Nada es decoración.

Ciudad isométrica del repositorio react/react: cientos de edificios sobre cinco placas de barrio de colores, las torres más altas en rojo y una mancha de calor extendiéndose por el suelo.
react/react: 416 edificios, 444.162 líneas, nota D. El barrio fixtures concentra las vulnerabilidades que vienen de lockfiles viejos.

Cuatro lentes sobre la misma ciudad

El color de la fachada es la lente que elijas. Los edificios nunca se mueven, así que cambiar de lente te muestra el mismo lugar respondiendo otra pregunta.

  • RiesgoVulnerabilidades, configuración insegura, secretos y zonas calientes, con pesos.Decidir qué arreglar primero.
  • DeudaHoras estimadas de limpieza: TODOs, archivos enormes, lógica muy ramificada, zonas calientes.Planificar refactors y ver qué barrio se está pudriendo.
  • PulsoCuánto hace que alguien tocó el módulo, según el historial de git.Distinguir código vivo de código dormido. Dormido y con riesgo es lo más peligroso.
  • TráficoCuántos commits pasan por el módulo.Encontrar los corredores por donde pasa todo el equipo.

Zonas calientes: donde viven los bugs

Un mástil rojo marca el código que cambia mucho y además es complejo: el 5 % superior de commits por complejidad. Esa combinación es el mejor indicador de dónde va a aparecer el próximo defecto.

Explora una capa a la vez

Haz clic en un barrio para entrar; doble clic en un edificio con subcarpetas para explorarlo solo. El acta se recalcula para lo que estás viendo y las migas te devuelven.

packages/react-reconciler/src: 47.019 líneas, complejidad 7.473, zona caliente, con cada hallazgo enlazado a su archivo y su línea.

El acta de inspección

Una nota de la A a la E y un puntaje sobre 100, conteos por severidad, horas estimadas de deuda, los barrios y las zonas calientes. Pulsa una fila de severidad para aislar esos edificios y volver traslúcido el resto de la ciudad.

Cómo medimos →

El acta de inspección de react/react: 47 sobre 100, nota D, por 215 vulnerabilidades críticas sin parchear.

Vista Constelación: módulos como puntos agrupados en regiones por barrio, conectados por aristas de importación con dirección.
langchain-ai/langchain como constelación: al pasar el mouse sobre runnables se ven en naranja los 13 módulos que importa y en azul los 99 que lo usan.

Trae los hallazgos que ya tienes

Code Maps no compite con tus escáneres: les da un mapa. Además de lo que corre por su cuenta, lee los informes de las herramientas que ya usas y pone cada hallazgo sobre su edificio.

Incluido

Corre solo, en local, sin configurar nada.

  • Trivygratis
  • gitleaksgratis
  • gitgratis

Por informe SARIF

Disponible hoy. Deja el .sarif de tu herramienta en .codemap/ y vuelve a analizar. Con security-severity cuenta como seguridad; sin él, como deuda.

  • Snykgratis y de pago
  • Semgrepgratis y de pago
  • CodeQLgratis y de pago
  • ESLintgratis
  • Checkovgratis
  • Banditgratis
  • gosecgratis
  • SARIF 2.1.0gratis
snyk code test --sarif-file-output=.codemap/snyk.sarif
semgrep scan --sarif -o .codemap/semgrep.sarif

En la hoja de ruta

Conexión directa, sin archivos de por medio. Todavía no existe.

  • API de SonarQube y SonarCloud
  • Resultados de pentest de Strix
  • GitHub App: en cada push y comentarios en PR
  • Slack, Jira y Linear: alertas y tickets

Probado de punta a punta con un informe SARIF 2.1.0 de prueba. Los valores de secretos nunca se leen: de un escáner de secretos solo pasan la regla y archivo:línea.

Reglas: las que ya existen, las de tu equipo y las tuyas

Disponible hoy

Reglas que ya conoces

Las de Trivy y gitleaks tal como vienen, más las heurísticas de deuda. Y las de cualquier otra herramienta, a través de su informe SARIF.

Próximamente

Importa las de tu equipo*

Tu .gitleaks.toml, tus paquetes de reglas de Semgrep y tus supresiones, aplicados a todos tus repositorios desde un solo sitio.

Próximamente

Escribe las tuyas*

Reglas propias sobre lo que el mapa ya mide: «ningún edificio de más de 40 de complejidad sin tests», «nada en billing/ importa de web/».

* Requiere un plan de pago de Code Maps Cloud, que todavía no existe. Precios →

Pregúntale a la IA y mírala señalar

El chat no es un resumen de un informe. La IA tiene herramientas que leen el repositorio: puede listar hallazgos, abrir un módulo, leer un archivo, buscar en el código e iluminar edificios en la ciudad.

Por eso la respuesta a «¿qué arreglo primero?» llega con archivo y número de línea, y los edificios de los que habla se encienden mientras lees.

  • Cita archivo:línea de verdad, porque abrió el archivo.
  • Ilumina en la ciudad cada módulo que menciona.
  • Nunca recibe el valor de un secreto: solo la regla que coincidió y dónde.

A dónde va tu código

Respuesta corta: a ninguna parte, salvo que uses el chat.

  • El análisis corre en tu máquina

    Clonar, parsear, leer el historial de git, Trivy y gitleaks: todo son procesos locales. No hay un servidor de Code Maps en el medio y no se sube nada.

  • El valor de un secreto nunca sale del escáner

    gitleaks reporta la regla que coincidió y el archivo y la línea. Code Maps guarda y muestra solo eso. La cadena encontrada no se escribe en disco, no se dibuja en pantalla y no se envía al chat.

  • Código abierto, MIT

    Cada heurística, peso y umbral está en el repositorio. Léelo, discútelo, cámbialo: github.com/juanarangot/code-map

  • La nota es una fórmula publicada

    El puntaje resta penalizaciones con tope por hallazgos críticos, altos y medios, por secretos y por horas de deuda cada mil líneas. Es una heurística para comparar de un vistazo, no un estándar, y está escrita.

Cómo medimos →

Para quién es

Monolito, monorepo o microservicio

Para cualquiera que esté creando software

No hace falta un equipo de seguridad ni una empresa: un repositorio basta. Funciona con la mayoría de lenguajes y tecnologías —JavaScript y TypeScript, Python, Java y Kotlin, Go, Rust, Ruby, PHP, C#, Swift, C y C++, Vue, Svelte…— y con cualquier estructura de carpetas: monolito, monorepo o un microservicio de 80 archivos.

CTOs y líderes de ingeniería
Una sola imagen que le muestra al board, o al equipo, qué parte del sistema está cargando realmente con el riesgo, y cómo eso cambia entre releases.
Líderes de seguridad
Vulnerabilidades y secretos filtrados puestos sobre la arquitectura en vez de en una planilla, para que el triage empiece por el radio de impacto y no por el orden del CVSS.
Due diligence técnico
Recorre una base de código desconocida en una hora, con una nota defendible, la lista de zonas calientes y la estimación de deuda que puedes poner en el informe.
Cualquiera que está entrando
¿Nuevo en un repositorio de 400.000 líneas? Empieza por su forma: qué barrios existen, qué torres sostienen el edificio y qué rincones nadie tocó en dos años.

Cuánto cuesta

La edición de código abierto es el producto completo —repositorios públicos, el visor, los escáneres y la IA como guía— gratis, hoy, en tu propia máquina. Code Maps Cloud, con repos privados alojados, historia, alertas y equipos, todavía no existe, y la página de precios dice exactamente qué es qué y con qué cuotas.

Ver los planes

Preguntas que la gente hace de verdad

¿Por qué hay tantos secretos?

gitleaks marca cualquier cadena con forma de clave, incluidos ejemplos de documentación y fixtures de tests. Abre el edificio: si los archivos están en docs/, *.test.* o un README, casi seguro son falsos positivos. Los reales suelen estar en .env, application.yml o scripts.

¿Por qué todas las vulnerabilidades caen en un solo edificio?

Vienen de librerías declaradas en el manifiesto de la raíz del repositorio, no de un archivo de código concreto, así que se asignan a la carpeta que tiene el manifiesto: normalmente el edificio «Dependencias y configuración».

Tengo cero vulnerabilidades, ¿es real?

Probablemente no. Trivy necesita un lockfile o artefactos compilados. Sin package-lock.json, yarn.lock, gradle.lockfile o jars en build/libs no puede evaluar dependencias.

¿Qué significa «repo truncado»?

El análisis se detiene en 10 mil archivos de código. Apúntalo a una subcarpeta, por ejemplo .repos/owner__repo/packages.

¿Qué sale de mi máquina?

Solo el chat habla con una API. Envía la lista de módulos con sus métricas, los hallazgos sin valores de secretos y los archivos que la IA decida leer. Los escáneres, el análisis y la ciudad son todos locales.

¿Por qué ese edificio es tan alto si tiene pocas líneas?

La altura es complejidad, no tamaño. Un archivo lleno de condiciones anidadas sube más que uno largo y plano.

¿Necesito tener Trivy y gitleaks instalados?

No. Sin ellos la ciudad funciona igual, solo que sin vulnerabilidades ni secretos. En macOS, brew install trivy gitleaks los activa.

Levanta el mapa de un repositorio que conozcas

Elige uno que creas entender. Toma alrededor de un minuto, y la primera sorpresa suele llegar antes de que terminen los escáneres.

Abrir el mapa Leer el código

Buscamos design partners e inversionistas. Si diriges ingeniería en una empresa con una base de código que nadie puede sostener en la cabeza, o inviertes en herramientas para desarrolladores, escribe a hello@codemaps.co