CLI de código abierto para pruebas de seguridad y regresión de servidores MCP, integrado con CI y con detección de cambios en esquemas, simulación segura de ataques y salida SARIF.
N4darae/shrt
Un sistema de pruebas de regresión que reproduce cadenas de llamadas a API registradas en un backend y usa líneas base aprobadas por personas para detectar cambios entre versiones.
- Estrellas
- 2,388
- Forks
- 164
- Issues abiertos
- 6
- Último commit
- hace 12 días
¿Qué es?
shrt prueba un backend mediante cadenas de llamadas a API definidas en YAML, como iniciar sesión, crear un elemento, añadir existencias y volver a consultarlo. Una persona aprueba una ejecución correcta como línea base, y las versiones posteriores se reproducen frente a ella. Si cambia un campo, shrt indica el paso, el campo y la escritura que considera responsable.
Un archivo de contrato describe qué debe cumplir cada RPC, de dónde proceden los valores, cómo rechaza las entradas incorrectas y cómo las escrituras modifican los campos numéricos. shrt puede generar cadenas a partir de ese contrato y probar valores límite, tokens ausentes o no válidos, IDs desconocidos y duplicados. Usa el protocolo Connect sobre HTTP POST, por lo que funciona con servidores creados con connect-go; no admite servidores que solo usen gRPC estándar. Gestiona RPCs unarios y de streaming del servidor, y lee los streams hasta el primer mensaje.
La herramienta está escrita en Go y necesita buf para compilar archivos .proto. Las credenciales se leen de variables de entorno y se redactan en los registros de ejecución. Solo envía solicitudes a localhost, salvo que el host de destino esté incluido en la configuración. Está diseñada para que la gestione un agente de programación, aunque todos los comandos también se pueden ejecutar manualmente.
Funciones clave
- 01Las cadenas de llamadas a API se definen en archivos YAML y se reproducen con cada versión.
- 02Las líneas base aprobadas por personas registran los campos de respuesta, incluidos aquellos que no comprueba ninguna aserción.
- 03Un archivo de contrato puede generar cadenas de prueba que cubren valores límite, errores de autenticación y duplicados.
- 04Los errores indican el paso, el campo modificado y la escritura que se considera responsable.
- 05Las solicitudes se limitan a localhost o a hosts autorizados explícitamente para proteger los datos de producción.
- 06Un comando de CI bloquea la integración si falla y devuelve un código de salida distinto de cero.
Casos de uso
- Detectar regresiones en un backend de connect-go entre versiones.
- Ejecutar comprobaciones de regresión de API en CI con cada nueva compilación.
- Permitir que un agente de programación escriba y mantenga contratos de prueba de API bajo revisión humana.
Inicio rápido
- 1
Instala buf (la herramienta de compilación de Protocol Buffers que shrt necesita en PATH)
- 2
Instala shrt con Go 1.26 o posterior
go install github.com/N4darae/shrt/cmd/shrt@latest - 3
Comprueba la versión instalada
shrt version - 4
Configura shrt en tu proyecto de backend y compruébalo
shrt init
Antes de usarlo
- Requiere Go 1.26 o posterior y buf en PATH.
- Solo funciona con servidores que usan el protocolo Connect, no con servidores que solo usan gRPC.
- En las RPC de streaming, solo lee hasta el primer mensaje.
- shrt init deduce qué RPC corresponde al inicio de sesión, por lo que debes comprobar el resultado.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es shrt?
- Un sistema de pruebas de regresión que reproduce cadenas de llamadas a API registradas en un backend y usa líneas base aprobadas por personas para detectar cambios entre versiones. shrt prueba un backend mediante cadenas de llamadas a API definidas en YAML, como iniciar sesión, crear un elemento, añadir existencias y volver a consultarlo. Una persona aprueba una ejecución correcta como línea base, y las versiones posteriores se reproducen frente a ella. Si cambia un campo, shrt indica el paso, el campo y la escritura que considera responsable.
- ¿shrt es gratuito? ¿Qué licencia tiene?
- shrt es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿shrt sigue mantenido?
- Mantenimiento activo. El último commit de shrt fue el 26 oct 2026.
- ¿Para qué puedo usar shrt?
- Detectar regresiones en un backend de connect-go entre versiones. Ejecutar comprobaciones de regresión de API en CI con cada nueva compilación. Permitir que un agente de programación escriba y mantenga contratos de prueba de API bajo revisión humana.
- ¿Cómo se instala shrt?
- Instala buf (la herramienta de compilación de Protocol Buffers que shrt necesita en PATH) Instala shrt con Go 1.26 o posterior: go install github.com/N4darae/shrt/cmd/shrt@latest Comprueba la versión instalada: shrt version Configura shrt en tu proyecto de backend y compruébalo: shrt init
- ¿Dónde consigo shrt?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/N4darae/shrt
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Herramienta de línea de comandos para llamar a servidores gRPC, como curl pero con entradas JSON sobre gRPC y detección de esquemas mediante reflexión del servidor o archivos proto.
Herramienta de línea de comandos que inicia una interfaz web para enviar solicitudes interactivamente a servidores gRPC, similar a Postman para REST.
Cliente de API para terminal que guarda solicitudes HTTP, GraphQL, gRPC, WebSocket y SSE en archivos .http de texto plano que puedes versionar con git.
Cliente de API nativo y local-first para REST, gRPC, GraphQL y WebSocket, escrito en Go y con un proxy de tráfico integrado.
Herramienta open source de pruebas de carga: los tests de rendimiento se escriben en JavaScript y se ejecutan desde un binario de Go.