Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
roninforge-hono — Cursor plugin for Hono v4 (TypeScript edge web framework). 59 LLM regressions with BAD/CORRECT pairs. Pinned to hono ^4.12.19 (>= 4.9.7 for CVE-2025-59139). Covers Express middleware leakage, v3-era removed APIs, RPC inference traps, Cloudflare Workers gotchas, security defaults, JSX SSR hardening. | Kitploit
Herramientas/GitHubGitHub/roninforge/roninforge-hono
Static Code Analysis (SAST)Vulnerability AnalysisCode AnalysisServerless SecurityWeb SecurityCloud SecuritySecret DetectionMisconfigurationLearning & Education

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Cursor plugin for Hono v4 (TypeScript edge web framework). 59 LLM regressions with BAD/CORRECT pairs. Pinned to hono ^4.12.19 (>= 4.9.7 for CVE-2025-59139). Covers Express middleware leakage, v3-era removed APIs, RPC inference traps, Cloudflare Workers gotchas, security defaults, JSX SSR hardening.

API Security
Learning Paths & Courses
GitHubroninforge/roninforge-hono

roninforge-hono

Ver RepositorioSitio web
hace 2 mesesAún no revisado
Compartir

roninforge-hono

Licencia: MIT

Plugin para Cursor de Hono v4 (framework web edge TypeScript) + TypeScript. Fijado en hono ^4.12.19, @hono/zod-validator ^0.8.0, @hono/zod-openapi ^1.4.0 (peer zod ^4.x), @hono/node-server ^2.0.3 (Node 20+). Enseña las APIs v4 que los LLMs entrenados con datos anteriores a 2024 no conocen (c.json() siempre tipado, el validador lanza HTTPException, getCookie/setCookie de hono/cookie, c.env como propiedad, streamText de hono/streaming, showRoutes de hono/dev, getRuntimeKey de hono/adapter, fire(app) de hono/service-worker, enlace de Static Assets de Workers en lugar del obsoleto serveStatic, JSR @hono/hono para Deno). Detecta más de 50 regresiones de LLM con pares MAL / CORRECTO en TypeScript.

No existe Hono v5. La última estable es v4.12.19. Cualquier "v5" en código generado es alucinación.

El problema

Los propios mantenedores de Hono presentaron el Issue #3906 ("archivo llm.txt") y el Issue #4812 ("Habilidad oficial de AI Agent para Hono") explícitamente porque "los LLMs básicamente no tienen conocimiento de cómo funciona el Hono más reciente." Los datos de entrenamiento anteriores a 2025 son de la era v3. Los LLMs emiten:

APIs eliminadas v3 -> v4

  • c.jsonT() en lugar de c.json() (siempre tipado desde v4.0.0)
  • c.stream() / c.streamText() como métodos de Contexto (movidos a hono/streaming en v4)
  • c.env() forma de función (ahora propiedad; detección de tiempo de ejecución mediante getRuntimeKey() de hono/adapter)
  • c.req.cookie() (eliminado; use getCookie(c) de hono/cookie)
  • app.showRoutes(), app.routerName (movidos a )

Filtraciones de Express / Koa / Fastify (la clase más grande)

  • Falta return en c.json() (resuelve a undefined; v4 lanza "Context is not finalized")
  • res.json() / res.send() en lugar de c.json() (no hay res en Hono)
  • Firma de middleware (req, res, next) (use (c, next))
  • Middleware de error (err, req, res, next) (use app.onError + HTTPException)
  • app.use(express.json()) analizador de cuerpo (Hono analiza bajo demanda mediante c.req.json())

Errores de inferencia TypeScript / RPC

  • new Hono() sin genéricos Bindings / Variables (c.env es {})
  • Rutas definidas como sentencias (app.get(...) luego app.post(...)) - pierde tipos RPC
  • Llamadas a sub-app app.route() como sentencias - misma regla
  • Controladores estilo Rails pasando Context (pierde inferencia de parámetros de ruta, según Mejores Prácticas de Hono)
  • app.use('/path', zValidator(...)) en lugar de como argumento de ruta (error TS: 'json' no asignable a 'never')
  • c.notFound() en rutas consumidas por RPC (no se puede tipar en el cliente)

Errores de Cloudflare Workers

  • process.env.X en código de Workers (undefined; use c.env.X con Bindings tipados)
  • Importaciones fs / path en Workers (no hay sistema de archivos)
  • Indicador legacy compatibility_flags: ["node_compat"] (use nodejs_compat)
  • serveStatic obsoleto de hono/cloudflare-workers (desde v4.3.0; use enlace de assets)
  • Falta c.executionCtx.waitUntil() para operaciones fire-and-forget
  • Comprobación de verdad if (c.executionCtx) (getter lanza error en Bun y Next.js App Router)
  • D1 .run() / / sin await (inserción cancelada cuando el worker termina)

Brechas de seguridad / producción

  • Sin middleware secureHeaders()
  • Sin csrf() en mutaciones autenticadas con cookies
  • cors({ origin: '*', credentials: true }) (los navegadores lo ignoran silenciosamente; AJAX falla)
  • Falta bodyLimit() en rutas POST / PUT y fijar hono >= 4.9.7 por CVE-2025-59139
  • Cookies sin httpOnly / secure / sameSite / path
  • sameSite: 'None' sin secure: true (ignorado silenciosamente)
  • Middleware de registro de cuerpo sin redacción (fuga de contraseñas / tokens / PII)
  • Sin etag() / en GETs estáticos

Errores de enrutamiento / estructurales

  • Manejador notFound de sub-app (código muerto; solo se activa el de nivel superior)
  • Inconsistencia de barra final (/users vs /users/ son rutas diferentes por defecto)
  • await next() más de una vez (duplica el trabajo aguas abajo)
  • Superposición app.use(prefix, mw) + app.route(prefix, subApp) (el middleware se ejecuta dos veces)
  • app.basePath('/api') como sentencia (el prefijo se pierde del tipo)

Tiempo de ejecución incorrecto silenciosamente

  • serve(app) en @hono/node-server (use serve({ fetch: app.fetch }))
  • export default app en Workers (use export default { fetch: app.fetch })
  • Bun.serve({ fetch: app }) (use app.fetch)

Problemas reales más pequeños

  • c.req.query() sin argumento cuando se espera un solo valor
  • c.req.param('id') en middleware global (indefinido donde :id no está en la ruta)
  • OpenAPI hecho a mano sin @hono/zod-openapi
  • cors() montado DESPUÉS de las rutas (nunca coincide)

Por qué este plugin (frente a las reglas comunitarias existentes de Hono)

Un puñado de reglas de Hono ya existen en cursor.directory y en awesome-cursorrules (PR #152): cubren los retornos de c.json(), zValidator + Zod, c.env para Workers, rutas encadenadas para RPC y exportación app.fetch de Workers. Tienen tres problemas estructurales que este plugin soluciona:

  1. NO cubren las APIs eliminadas v3 -> v4. Los LLMs continúan emitiendo c.jsonT, c.stream, c.env(), c.req.cookie, app.showRoutes, el barrel hono/middleware y app.handleEvent - todos eliminados en v4.0.0 (febrero 2024). Las reglas existentes los permiten silenciosamente.
  2. Omiten la clase de filtración de Express. (req, res, next), (err, req, res, next), cors de npm, app.use(express.json()), supertest, falta de return en c.json - todo ocurre constantemente en código Hono generado por LLM. Las reglas existentes los tratan como casos aislados.

Este plugin incluye:

  • 10 reglas MDC con globs apropiados para que las comprobaciones de rutas / RPC se activen en src/routes/**, las comprobaciones de Workers en wrangler.{toml,jsonc} + entrada de Worker, las comprobaciones de seguridad en archivos de middleware, etc.
  • 59 antipatrones documentados con pares MAL / CORRECTO en TypeScript
  • 5 habilidades: /hono-new-route, /hono-rpc-setup, /hono-cloudflare-workers-setup, /hono-migrate-to-v4, /hono-validate
  • 1 agente revisor con agrupación por severidad (CRÍTICO / ERROR / ADVERTENCIA / NIT) y comprobaciones por archivo
  • 2 proyectos de ejemplo: correct-sample (estándar de oro Hono 4.12.19 + Workers + D1 + Drizzle + Zod) y anti-pattern-sample (resaca de Hono v3 con más de 25 violaciones rastreadas)

Instalación

Copia las reglas, habilidades y agente en la configuración de Cursor de tu proyecto. Haz una copia de seguridad de tus archivos existentes primero; cp -r sobrescribirá las reglas con el mismo nombre.

root@kitploit:~
git clone https://github.com/RoninForge/roninforge-hono.git

# Usa -n para evitar sobrescribir una regla personalizada existente con el mismo nombre.
cp -rn roninforge-hono/rules/*  tu-proyecto/.cursor/rules/
cp -rn roninforge-hono/skills/* tu-proyecto/.cursor/skills/
cp -rn roninforge-hono/agents/* tu-proyecto/.cursor/agents/

O incluye todo el repositorio como un submódulo de git en tu-proyecto/.cursor/plugins/. Consulta la documentación de plugins de Cursor para la ruta de instalación global actual en tu versión de Cursor.

Qué está incluido

Reglas (10 archivos)

Habilidades (5 comandos)

Agente (1 subagente)

Ejemplos

tests/fixtures/correct-sample/ es un proyecto slim Hono 4.12.19 + Cloudflare Workers + D1 + Drizzle + Zod que demuestra la forma estándar de oro: rutas encadenadas, RPC tipado, zValidator como argumento de ruta, c.json({ ... } as const, status) respuestas tipadas, pila secureHeaders + cors + csrf + bodyLimit, app.onError + app.notFound a nivel superior, export default { fetch: app.fetch } satisfies ExportedHandler<Env>.

tests/fixtures/anti-pattern-sample/ es el inverso. Cada archivo viola un antipatrón numerado. package.json fija hono ^3.12.0 + cors ^2.8.5 + supertest ^6.3.0 + @hono/sentry ^1.0.0 + lucia ^3.2.0 a propósito - la era v3 es la línea base de datos de entrenamiento de LLM para la mayoría de modelos anteriores a 2025, además de acompañantes obsoletos que los LLM aún recomiendan. Las violaciones rastreadas incluyen: falta return en c.json (#1), forma de manejador Express (req, res) (#2), middleware (req, res, next) (#3), (err, req, res, next) (#4), cors de npm (#6), supertest (#12), c.jsonT (#13), addEventListener('fetch') + app.handleEvent (#15), (#16), llamada de función (#17), barrel (#20), (#23), sin Bindings/Variables (#24), en ruta RPC (#29), en Workers (#34), indicador (#36), de (#37), D1 sin await (#40), cors + credenciales (#43), cookie sin (#45), sin (#46), clave JWT escrita en el código (#48), de sub-app (#50), como sentencia (#53), en Workers (#55), referencias a + obsoletos.

Versiones

Las reglas apuntan a hono ^4.12.19 con Node 20+ (cuando se está en Node), Bun latest, Deno latest, Wrangler ^4.0.0. La mayoría de los patrones funcionan desde Hono 4.0.0 (febrero 2024) con los deltas indicados en línea. Pines mínimos:

  • hono >= 4.9.7 obligatorio - corrección de CVE-2025-59139 / GHSA-92vj-g62v-jqhh omisión de bodyLimit
  • hono >= 4.12.18 obligatorio si se renderiza JSX SSR - endurecimiento de nombres de etiquetas, nombres de atributos, inyección CSS
  • @hono/node-server >= 2.0.0 requiere Node 20+
  • @hono/zod-openapi >= 1.0.0 requiere zod ^4.0.0 (peer es SOLO ^4.0.0, no ^3.x)
  • compatibility_date >= "2024-09-23" requerido para que nodejs_compat implique nodejs_compat_v2

Donde la regla cita una versión (c.json() siempre tipado desde v4.0.0, c.text() tipado desde v4.3.0, JSR para Deno desde v4.4.0, secureHeaders Permissions-Policy desde v4.6.0, validador Standard Schema desde v4.7.0, fire(app) desde v4.8.0, JSR parseResponse desde v4.9.0, URL base tipada en hc desde v4.11.0, método $path() desde v4.12.0), verifica con el registro de cambios la versión que tienes instalada antes de adoptar.

Licencia

MIT - ver LICENSE

Enlaces

  • Documentación oficial de Hono
  • GitHub de Hono
  • Guía de Migración de Hono (v3 -> v4)
  • Mejores Prácticas de Hono
  • RPC de Hono
  • Guía de framework de Cloudflare Workers para Hono
  • Documentación de Plugins de Cursor
  • RoninForge

Más de RoninForge

RoninForge construye herramientas gratuitas para desarrolladores que trabajan con asistentes de codificación de IA:

  • Comparativa de precios de APIs LLM - Precios de tokens de Claude, GPT, Gemini, DeepSeek, Mistral y Grok lado a lado, verificados con las páginas oficiales de precios
  • Calculadora de créditos AI de GitHub Copilot - Estima tu consumo mensual de créditos bajo facturación basada en uso
  • Todos los plugins de Cursor
Descargar herramienta
hono/dev
  • addEventListener('fetch') + app.handleEvent() (sintaxis de Service Worker; use export default { fetch: app.fetch })
  • Rutas app.head(...) (HEAD derivado automáticamente de GET en v4)
  • Importación hono/nextjs (use hono/vercel)
  • Importación global hono/middleware (use subruta por middleware)
  • Métodos de acceso c.req.headers() / c.req.body() / c.req.signal() (use c.req.raw.*)
  • FC con hijos implícitos (use PropsWithChildren<P>)
  • app.fire() (obsoleto en v4.8.0; use fire(app) de hono/service-worker)
  • import { Hono } from 'https://deno.land/x/hono/mod.ts' en Deno (obsoleto desde v4.4.0; use jsr:@hono/hono)
  • import cors from 'cors' desde npm (use hono/cors)
  • supertest para pruebas (use app.request() / testClient(app))
  • c.req.body como ya analizado (es un ReadableStream)
  • c.req.parseBody() para JSON (solo formulario / multipart)
  • c.req.text() luego c.req.json() (cuerpo consumido dos veces)
  • Asignación en línea c.userId = ... (use c.set('userId', ...) con Variables tipadas)
  • new Response(JSON.stringify(...)) en rutas RPC (el cliente ve unknown)
  • URL relativa hc<AppType>('/') (lanza error en $url())
  • Importación por valor de la app del servidor en el bundle del cliente (arrastra drizzle-orm, fs, dependencias nativas - el peligro #1 de hinchazón del bundle RPC)
  • Middleware sin createMiddleware<Env> (los tipos de Variables no se propagan)
  • .first()
    .all()
  • Actualización WebSocket sin reenvío de Durable Object (el estado desaparece)
  • cache()
  • Clave JWT escrita en el código (se filtra a través del bundle)
  • Construir JSON grande en memoria en lugar de streamText (límite de 128MB en Workers)
  • Omiten los valores predeterminados de seguridad y el pin de CVE. Ninguna exige secureHeaders() / csrf(); ninguna menciona bodyLimit CVE-2025-59139 (corregido en v4.9.7); ninguna aborda las trampas del cliente RPC (URL relativa, fuga de importación por valor, tipado c.notFound).
  • ReglaÁmbito (globs)Qué hace
    hono-anti-patterns**/*.ts,**/*.js,**/*.tsx,**/*.jsx,wrangler.{toml,jsonc,json}59 regresiones de LLM con pares MAL / CORRECTO, organizadas A-H por categoría (filtración de Express, APIs de era v3, TypeScript / RPC, CF Workers, seguridad, enrutamiento, tiempo de ejecución, problemas más pequeños)
    hono-core**/*.ts,**/*.tsx,**/*.js,**/*.jsx (alwaysApply)Inicialización de app con Bindings + Variables tipados, API de Contexto, accesores de solicitud, firma de middleware, lista de middleware incorporado, ayudantes de cookies, detección de tiempo de ejecución
    hono-routing-and-rpcsrc/**/*.ts,src/routes/**/*,src/api/**/*,src/server/**/*,src/client/**/*,routes/**/*Rutas encadenadas, composición de sub-apps, inmutabilidad de basePath, corrección de superposición de doble ejecución, código muerto de sub-app notFound, configuración de hc<AppType>, regla import type, URL base tipada, $path(), integración con TanStack Query / SWR, factory.createHandlers, mitigación de RPC en más de 30 rutas
    hono-validatorssrc/**/*.ts,routes/**/*.ts,api/**/*.ts,handlers/**/*.tsColocación de @hono/zod-validator, acceso a c.req.valid(), validador lanza error en fallo, @hono/zod-openapi (trampa de peer zod ^4), @hono/standard-validator, @hono/valibot-validator, hono/validator incorporado, árbol de decisión
    hono-cloudflare-workerssrc/**/*.ts,worker/**/*.ts,workers/**/*.ts,wrangler.{toml,jsonc,json},**/cloudflare-env.d.ts,**/worker-configuration.d.tsForma canónica de wrangler.jsonc, reglas de indicadores de compatibilidad, wrangler types, Bindings tipados, c.env vs process.env, c.executionCtx.waitUntil + portabilidad, enlace de Static Assets, awaits de D1, pila Drizzle + D1, trampa del adaptador Hyperdrive + Prisma, Durable Objects para WebSockets, regla de dominio personalizado hono/cache, exportación de Worker ES Module
    hono-securitysrc/**/*.ts,src/**/*.tsx,src/middleware/**/*.ts,src/auth/**/*.ts,src/index.ts,src/app.tssecureHeaders(), csrf(), lista blanca de CORS, bodyLimit() + pin mínimo CVE-2025-59139 4.9.7, valores predeterminados de cookies, JWT secreto desde c.env, registro sin fugas de PII, etag() + cache(), restricción de IP, tiempos de espera, ID de solicitud, decisión de librería de autenticación (Lucia obsoleto; Better Auth / Clerk recomendado), @sentry/hono sobre @hono/sentry
    hono-error-handlingsrc/**/*.ts,routes/**/*.ts,api/**/*.ts,middleware/**/*.ts,src/index.ts,src/app.tsLanzamiento canónico de HTTPException, manejador global app.onError, app.notFound solo de nivel superior, errores RPC tipados mediante uniones discriminadas, lanzamientos del validador, Sentry mediante @sentry/hono, registro estructurado con redacción de pino, convención de forma de respuesta de error
    hono-jsx**/*.tsx,**/*.jsx,**/jsx-runtime.ts,src/components/**/*,src/views/**/*,src/islands/**/*,app/islands/**/*hono/jsx del lado del servidor, configuración de tsconfig, FC NO incluye children, middleware jsxRenderer para diseños, hono/jsx/streaming con Suspense, hono/jsx/dom componentes cliente, islas HonoX, integración con htmx, JSX SSR pin mínimo de seguridad 4.12.18
    hono-testing**/*.test.ts,**/*.test.tsx,**/*.spec.ts,**/*.spec.tsx,vitest.config.{ts,js},**/test/**/*.ts,**/tests/**/*.ts,**/__tests__/**/*.tsPatrón universal app.request(), pruebas RPC tipadas con testClient(app), Vitest + @cloudflare/vitest-pool-workers para D1 en tiempo de ejecución real, fixture applyD1Migrations, Bun + bun:test, pruebas de instantáneas, pruebas de middleware / validador / waitUntil, NUNCA supertest
    hono-deploymentwrangler.{toml,jsonc,json},deno.json,deno.jsonc,package.json,Dockerfile,fly.toml,vercel.json,netlify.toml,**/serverless.yml,**/template.yamlCloudflare Workers (wrangler.jsonc + indicadores de compatibilidad), Bun.serve, Deno + JSR, @hono/node-server v2 (Node 20+), AWS Lambda + Lambda@Edge, Vercel Edge, Netlify, tuberías de construcción, pines mínimos, errores comunes de despliegue
    HabilidadComandoQué hace
    Nueva ruta/hono-new-routeCrear una sub-app encadenada con zValidator como argumento de ruta, acceso tipado c.req.valid(), c.json({ ... } as const, status) para respuestas RPC tipadas, genéricos Bindings + Variables, sub-app exportada como typeof users, conectada al padre con .route() encadenado. Rechaza controladores estilo Rails, c.notFound() en rutas RPC, new Response() sin formato.
    Configuración RPC/hono-rpc-setupCrear el cliente hc<AppType> con import type (la regla crucial), URL base absoluta, módulo api compartido tipado, integración con TanStack Query / SWR mediante InferRequestType / InferResponseType, utilidad parseResponse, método $path(), mitigaciones de ralentización del IDE para más de 30 rutas.
    Configuración Workers/hono-cloudflare-workers-setupCrear un proyecto nuevo Hono + Workers con wrangler.jsonc (NO .toml), nodejs_compat, Bindings tipados generados desde wrangler types, patrón de middleware D1 + Drizzle, pila secureHeaders + cors + csrf + bodyLimit, configuración de Vitest para @cloudflare/vitest-pool-workers.
    Migrar a v4/hono-migrate-to-v4Migración paso a paso v3 -> v4: subir pines mínimos (CVE-2025-59139), reemplazar c.jsonT / c.stream / c.env() / c.req.cookie / app.showRoutes / app.handleEvent, eliminar barrel hono/middleware, cambiar Deno a JSR, @hono/node-server v2 + Node 20+, registrar app.onError para lanzamientos del validador.
    Validar/hono-validateEjecutar validate-plugin.sh + tsc --noEmit + pruebas + auditoría grep de antipatrones sintácticos que el verificador de tipos no detecta (c.jsonT, c.req.cookie, process.env, node_compat, serveStatic de hono/cloudflare-workers, clave JWT escrita en el código, sameSite:'None' sin secure, falta bodyLimit, importación por valor en cliente hc).
    AgenteQué hace
    hono-reviewerRevisa código Hono v4 + TypeScript por severidad. CRÍTICO: hono < 4.9.7 (CVE), referencias a v5 (alucinación), comodín cors + credenciales, sameSite:'None' sin secure, clave JWT escrita en el código, process.env en Workers, falta bodyLimit, sin csrf en autenticación por cookie, serveStatic obsoleto, JSX SSR en < 4.12.18. ERROR: falta return en c.json, formas de middleware de Express, todas las APIs eliminadas de era v3, rutas / sub-apps no encadenadas, controladores Rails, colocación de zValidator, c.notFound/Response sin formato en RPC, URL relativa hc(), importación por valor de app del servidor, D1 sin await, formas de exportación en tiempo de ejecución. ADVERTENCIA: valores predeterminados de cookies, secureHeaders, registro de cuerpo sin redacción, app.onError, notFound de sub-app, comprobación de verdad c.executionCtx, sin genérico Bindings, cors después de rutas, superposición de middleware, basePath como sentencia, barras finales, barrel hono/middleware, wrangler.toml en nuevo proyecto, Lucia, @hono/sentry. NIT: falta satisfies ExportedHandler<Env>, OpenAPI hecho a mano, falta observability.enabled.
    c.req.cookie
    c.env()
    hono/middleware
    app.head()
    c.notFound
    process.env
    node_compat
    serveStatic
    hono/cloudflare-workers
    *
    httpOnly/secure/sameSite/path
    sameSite:'None'
    secure:true
    notFound
    basePath
    export default app
    @hono/sentry
    lucia