
OpenAnt — Actualizado!
OpenAnt de Knostic es el producto líder de código abierto de descubrimiento de vulnerabilidades basado en LLM, que ayuda a los defensores a encontrar de forma proactiva fallos de seguridad verificados mientras minimiza tanto los falsos positivos como los falsos negativos. La Etapa 1 detecta. La Etapa 2 ataca. Lo que sobrevive es real.
OpenAnt
OpenAnt de Knostic es el primer producto de descubrimiento de vulnerabilidades basado en LLM de código abierto (ahora llamado harness) que ayuda a los defensores a encontrar proactivamente fallos de seguridad verificados mientras minimiza tanto los falsos positivos como los falsos negativos. La etapa 1 detecta. La etapa 2 ataca. Lo que sobrevive es real.
Ten en cuenta que esto comenzó como un proyecto de investigación, y a medida que desarrollamos nuevas capacidades, a menudo las publicamos como beta. Agradecemos las contribuciones.
Artículo
Puedes encontrar nuestro artículo de investigación sobre la construcción de OpenAnt en arXiv: OpenAnt: LLM-Powered Vulnerability Discovery Through Code Decomposition, Adversarial Verification, and Dynamic Testing, por Nahum Korda y Gadi Evron.
¿Por qué código abierto?
Esta fue una pregunta relevante en el readme cuando lanzamos OpenAnt por primera vez, ya que se han publicado muchos otros harnesses. Todavía esperamos que, con la explosión de vulnerabilidades descubiertas por IA, OpenAnt ayude a los mantenedores de código abierto a mantenerse por delante de los atacantes, donde puedan usarlo ellos mismos. O enviar su repositorio para escanearlo sin coste.
También está el hecho de que el enfoque de Knostic está en proteger agentes y asistentes de programación y no en la investigación de vulnerabilidades o la seguridad de aplicaciones, y nos gusta el código abierto, así que decidimos publicar OpenAnt bajo la licencia Apache 2. Además, es posible que hayas oído hablar de Aardvark de OpenAI (ahora Codex Security) y Claude Code Security de Anthropic, y no tenemos ninguna intención de competir con ellos.
Detalles técnicos y escaneo gratuito para proyectos de código abierto
Para detalles técnicos, limitaciones y costes de tokens, consulta esta entrada de blog: https://knostic.ai/blog/openant
Para enviar tu repositorio para escanear: https://knostic.ai/blog/oss-scan
Lenguajes soportados
- Go
- Python
- C/C++
- JavaScript/TypeScript (beta)
- PHP (beta)
- Ruby (beta)
- Zig (beta)
- Swift (beta)
- Rust (beta)
Créditos
Mantenedor e investigación: Gadi Evron
Investigación original, ideación y prototipo original: Nahum Korda. Productización original: Alex Raihelgaus, Daniel Geyshis.
Con agradecimiento a: Michal Kamensky, Imri Goldberg, Daniel Cuthbert. Josh Grossman, y Avi Douglen.
Echa un vistazo a Knostic
Si te gusta nuestro trabajo, echa un vistazo a lo que hacemos en Knostic para defender tus agentes y asistentes de programación, evitar que borren tu disco duro y tu código, y controlar los riesgos asociados de la cadena de suministro como servidores MCP, extensiones y skills.
Configuración local
Compila el binario de la CLI (requiere Go 1.25+):
cd apps/openant-cli && make build
Esto compila el código fuente de Go y genera el binario en apps/openant-cli/bin/openant.
Enlázalo simbólicamente en tu PATH para poder ejecutar openant desde cualquier lugar:
ln -sf "$(pwd)/apps/openant-cli/bin/openant" /usr/local/bin/openant
Nota: ejecuta esto desde la raíz del repositorio para que $(pwd) se resuelva a la ruta absoluta correcta.
Configurar un LLM
OpenAnt enruta cada fase del pipeline a través de un par configurable (proveedor, modelo). La ruta más rápida es el asistente interactivo:
openant setup llm
Nombra la configuración (p. ej. my-llm), elige un proveedor por fase del pipeline (cualquiera de los adaptadores incluidos a continuación), introduce su clave de API una vez por proveedor (Bedrock usa la cadena de credenciales de AWS en su lugar — deja la clave en blanco), y el asistente prueba cada par único proveedor+modelo con una solicitud de 1 token antes de escribir ~/.config/openant/config.json. Ejecuta un escaneo contra ella con --llm-config:
openant scan /path/to/repo --llm-config my-llm
Los valores predeterminados del asistente reflejan las recomendaciones por fase del proyecto (modelos de razonamiento más potentes para detección / verificación / revisión de alcanzabilidad; modelos más ligeros para contexto, informe y generación de pruebas) — sobrescribe cualquier respuesta a tu gusto.
Adaptadores incluidos
| Tipo de proveedor | Clave de API de | Notas |
|---|---|---|
anthropic | console.anthropic.com | Adaptador de referencia. NO incluido en las suscripciones Claude Pro / Max — facturación separada. |
openai | platform.openai.com | NO incluido en las suscripciones ChatGPT / Codex — facturación separada. |
google | aistudio.google.com | NO incluido en Gemini Advanced — facturación separada. |
bedrock | — (cadena de credenciales de AWS) | Claude en AWS Bedrock. Sin api_key: las credenciales provienen de las variables de entorno AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY o de un perfil en ~/.aws, la región de AWS_REGION. Los IDs de modelo son perfiles de inferencia (us.anthropic.claude-sonnet-4-6, global.anthropic.claude-haiku-4-5-20251001-v1:0, ...) — habilítalos en "Model access" en la consola de Bedrock y lístalos con aws bedrock list-inference-profiles. Ofrecido por openant setup llm (deja la clave de API en blanco — cadena de credenciales de AWS, sonda omitida) — guía completa: utilities/llm/providers/BEDROCK.md. |
openrouter | openrouter.ai | Puerta de enlace a muchos proveedores con una sola clave y un solo saldo prepago (también lee OPENROUTER_API_KEY). Los IDs de modelo son slugs vendor/model (anthropic/claude-sonnet-4.6, openai/gpt-4o-mini, ...) — explóralos en openrouter.ai/models. Ofrecido por openant setup llm (deja la URL base en blanco para el valor predeterminado de OpenRouter) — guía completa: utilities/llm/providers/OPENROUTER.md. |
ollama | — (servidor local) | Modelos locales vía Ollama. Sin api_key: déjala en blanco (se envía un marcador de posición automáticamente); la URL base predeterminada es http://localhost:11434/v1. Los modelos deben descargarse primero (ollama pull <model>); los IDs de modelo son exactamente lo que muestra ollama list. La inferencia local es gratuita — informe de coste de $0. Ofrecido por openant setup llm — guía completa: utilities/llm/providers/OLLAMA.md. |
Todos ellos soportan tool calling, por lo que cualquiera de ellos puede impulsar las fases enhance y verify que usan el bucle agéntico de uso de herramientas. Para Ollama, elige un modelo compatible con herramientas para esas fases — los modelos locales muy pequeños pueden no manejar las llamadas a herramientas de forma fiable.
Ruta rápida para configuraciones solo con Anthropic
Si quieres los valores predeterminados actuales de Claude por fase y nada más, omite el asistente:
openant set-api-key sk-ant-...
openant scan /path/to/repo