Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
roninforge-hono — Plugin do Cursor para Hono v4 (framework web edge em TypeScript). 59 regressões de LLM com pares RUIM/CORRETO. Fixado em hono ^4.12.19 (>= 4.9.7 para CVE-2025-59139). Abrange vazamento de middleware do Express, APIs removidas da era v3, armadilhas de inferência RPC, pegadinhas do Cloudflare Workers, padrões de segurança e endurecimento de SSR com JSX. | Kitploit
Ferramentas/GitHubGitHub/roninforge/roninforge-hono
Análise Estática de Código (SAST)Análise de VulnerabilidadesAnálise de CódigoSegurança ServerlessSegurança WebSegurança na NuvemDetecção de SegredosConfiguração IncorretaAprendizado e Educação

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

Plugin do Cursor para Hono v4 (framework web edge em TypeScript). 59 regressões de LLM com pares RUIM/CORRETO. Fixado em hono ^4.12.19 (>= 4.9.7 para CVE-2025-59139). Abrange vazamento de middleware do Express, APIs removidas da era v3, armadilhas de inferência RPC, pegadinhas do Cloudflare Workers, padrões de segurança e endurecimento de SSR com JSX.

Segurança de API
Trilhas e Cursos
GitHubroninforge/roninforge-hono

roninforge-hono

Ver RepositórioSite
8há 3 mesesAinda não revisado
Compartilhar

roninforge-hono

License: MIT

Plugin para o Cursor do Hono v4 (framework web TypeScript edge) + TypeScript. Fixado em 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+). Ensina as APIs v4 que LLMs treinados em dados anteriores a 2024 não conhecem (c.json() sempre tipado, validador lança HTTPException, getCookie/setCookie de hono/cookie, c.env como propriedade, streamText de hono/streaming, showRoutes de hono/dev, getRuntimeKey de hono/adapter, fire(app) de hono/service-worker, binding de Static Assets do Workers em vez do obsoleto serveStatic, JSR @hono/hono para Deno). Captura 50+ regressões de LLM com pares RUIM / CORRETO em TypeScript.

Não existe Hono v5. A estável mais recente é v4.12.19. Qualquer "v5" no código gerado é alucinação.

O Problema

Os próprios mantenedores do Hono abriram a Issue #3906 ("llm.txt file") e a Issue #4812 ("Official AI Agent Skill for Hono") explicitamente porque "LLMs praticamente não têm conhecimento de como o Hono mais recente funciona." Dados de treinamento anteriores a 2025 são da era v3. LLMs emitem:

APIs removidas v3 -> v4

  • c.jsonT() em vez de c.json() (sempre tipado desde v4.0.0)
  • c.stream() / c.streamText() como métodos de Context (movido para hono/streaming no v4)
  • c.env() forma de função (agora propriedade; detecção de runtime via getRuntimeKey() de hono/adapter)
  • c.req.cookie() (removido; use getCookie(c) de hono/cookie)
  • app.showRoutes(), app.routerName (movido para hono/dev)

Vazamento de Express / Koa / Fastify (a maior classe)

  • return ausente em c.json() (resolve para undefined; v4 lança "Context is not finalized")
  • res.json() / res.send() em vez de c.json() (não existe res no Hono)
  • Assinatura de middleware (req, res, next) (use (c, next))
  • Middleware de erro (err, req, res, next) (use app.onError + HTTPException)
  • app.use(express.json()) parser de body (Hono faz parsing sob demanda via c.req.json())

Erros de inferência TypeScript / RPC

  • new Hono() sem genéricos Bindings / Variables (c.env é {})
  • Rotas definidas como declarações (app.get(...) depois app.post(...)) - perde tipos RPC
  • Chamadas de sub-app app.route() como declarações - mesma regra
  • Controladores estilo Rails passando Context por aí (perde inferência de parâmetros de caminho, conforme Best Practices do Hono)
  • app.use('/path', zValidator(...)) em vez de como argumento de rota (Erro TS: 'json' not assignable to 'never')
  • c.notFound() em rotas consumidas por RPC (não pode tipar no cliente)

Pegadinhas do Cloudflare Workers

  • process.env.X em código Workers (undefined; use c.env.X com Bindings tipado)
  • Imports fs / path no Workers (não há sistema de arquivos)
  • Flag legado compatibility_flags: ["node_compat"] (use nodejs_compat)
  • serveStatic obsoleto de hono/cloudflare-workers (desde v4.3.0; use asset binding)
  • c.executionCtx.waitUntil() ausente para fire-and-forget
  • Verificação de verdade if (c.executionCtx) (getter lança erro no Bun e no Next.js App Router)
  • Chamadas D1 não aguardadas .run() / / (insert cancelado quando worker termina)

Lacunas de segurança / produção

  • Sem middleware secureHeaders()
  • Sem csrf() em mutações autenticadas por cookie
  • cors({ origin: '*', credentials: true }) (navegadores silenciosamente descartam; AJAX falha)
  • bodyLimit() ausente em rotas POST / PUT e fixar hono >= 4.9.7 para CVE-2025-59139
  • Cookies sem httpOnly / secure / sameSite / path
  • sameSite: 'None' sem secure: true (silenciosamente descartado)
  • Middleware de registro de body sem redação (vazamento de senhas / tokens / PII)
  • Sem etag() / em GETs estáticos

Bugs de roteamento / estrutura

  • Handler notFound de sub-app (código morto; apenas o nível superior dispara)
  • Inconsistência de barra final (/users vs /users/ são rotas diferentes por padrão)
  • await next() mais de uma vez (duplica trabalho a jusante)
  • app.use(prefix, mw) + app.route(prefix, subApp) sobreposição (middleware dispara duas vezes)
  • app.basePath('/api') como declaração (prefixo é descartado do tipo)

Runtime silenciosamente errado

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

Problemas reais menores

  • c.req.query() sem argumento quando espera valor único
  • c.req.param('id') em middleware global (undefined onde :id não está no caminho)
  • OpenAPI feito à mão sem @hono/zod-openapi
  • cors() montado APÓS as rotas (nunca corresponde)

Por que este plugin (em vez das regras existentes da comunidade Hono)

Algumas regras Hono já existem em cursor.directory e em awesome-cursorrules (PR #152): cobrem retornos de c.json(), zValidator + Zod, c.env para Workers, rotas encadeadas para RPC e export Workers app.fetch. Elas têm três problemas estruturais que este plugin resolve:

  1. Elas NÃO cobrem as APIs removidas v3 -> v4. LLMs continuam emitindo c.jsonT, c.stream, c.env(), c.req.cookie, app.showRoutes, o barril hono/middleware e app.handleEvent - todos removidos no v4.0.0 (fev/2024). Regras existentes permitem silenciosamente.
  2. Elas omitem a classe de vazamento Express. (req, res, next), (err, req, res, next), cors do npm, app.use(express.json()), supertest, falta de return em c.json - tudo acontece constantemente em código Hono gerado por LLM. Regras existentes tratam como casos isolados.

Este plugin fornece:

  • 10 regras MDC com globs apropriadas para que as verificações de rotas / RPC disparem em src/routes/**, verificações Workers em wrangler.{toml,jsonc} + entrada Worker, verificações de segurança em arquivos de middleware, etc.
  • 59 antipadrões documentados com pares RUIM / CORRETO em TypeScript
  • 5 habilidades: /hono-new-route, /hono-rpc-setup, /hono-cloudflare-workers-setup, /hono-migrate-to-v4, /hono-validate
  • 1 agente revisor com agrupamento por severidade (CRITICAL / ERROR / WARN / NIT) e verificações por arquivo
  • 2 projetos de fixture: correct-sample (padrão ouro Hono 4.12.19 + Workers + D1 + Drizzle + Zod) e anti-pattern-sample (herança Hono v3 com 25+ violações rastreadas)

Instalação

Copie as regras, habilidades e agente para a configuração do Cursor do seu projeto. Faça backup dos arquivos existentes primeiro; cp -r sobrescreverá regras de mesmo nome.

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

# Use -n para evitar sobrescrever uma regra personalizada existente de mesmo nome.
cp -rn roninforge-hono/rules/*  seu-projeto/.cursor/rules/
cp -rn roninforge-hono/skills/* seu-projeto/.cursor/skills/
cp -rn roninforge-hono/agents/* seu-projeto/.cursor/agents/

Ou forneça o repositório inteiro como um submódulo git em seu-projeto/.cursor/plugins/. Consulte a documentação de plugins do Cursor para o caminho atual de instalação global na sua versão do Cursor.

O que está incluído

Regras (10 arquivos)

Habilidades (5 comandos)

Agente (1 subagente)

Fixtures

tests/fixtures/correct-sample/ é um projeto enxuto Hono 4.12.19 + Cloudflare Workers + D1 + Drizzle + Zod demonstrando a forma padrão ouro: rotas encadeadas, RPC tipado, zValidator como argumento de rota, c.json({ ... } as const, status) respostas tipadas, pilha secureHeaders + cors + csrf + bodyLimit, app.onError + app.notFound no nível superior, export default { fetch: app.fetch } satisfies ExportedHandler<Env>.

tests/fixtures/anti-pattern-sample/ é o inverso. Cada arquivo viola um antipadrão numerado. package.json fixa hono ^3.12.0 + cors ^2.8.5 + supertest ^6.3.0 + @hono/sentry ^1.0.0 + lucia ^3.2.0 de propósito - a era v3 é a linha de base dos dados de treinamento de LLM para a maioria dos modelos pré-2025, além de dependências obsoletas que LLMs ainda recomendam. Violações rastreadas incluem: falta de return em c.json (#1), forma de handler Express (req, res) (#2), middleware (req, res, next) (#3), (err, req, res, next) (#4), cors npm (#6), supertest (#12), c.jsonT (#13), addEventListener('fetch') + app.handleEvent (#15), (#16), chamada de função (#17), barril (#20), (#23), sem Bindings/Variables (#24), em rota RPC (#29), no Workers (#34), flag (#36), de (#37), D1 não aguardado (#40), cors + credentials (#43), cookie sem (#45), sem (#46), segredo JWT codificado (#48), de sub-app (#50), como declaração (#53), no Workers (#55), referências a + obsoletos.

Versionamento

Regras visam hono ^4.12.19 com Node 20+ (quando no Node), Bun mais recente, Deno mais recente, Wrangler ^4.0.0. A maioria dos padrões funciona desde Hono 4.0.0 (fev/2024) com as diferenças indicadas inline. Pisos de versão:

  • hono >= 4.9.7 obrigatório - CVE-2025-59139 / GHSA-92vj-g62v-jqhh correção de bypass de bodyLimit
  • hono >= 4.12.18 obrigatório se renderizando JSX SSR - endurecimento de nome de tag, nome de atributo, injeção CSS
  • @hono/node-server >= 2.0.0 requer Node 20+
  • @hono/zod-openapi >= 1.0.0 requer zod ^4.0.0 (peer é APENAS ^4.0.0, não ^3.x)
  • compatibility_date >= "2024-09-23" necessário para nodejs_compat implicar nodejs_compat_v2

Onde a regra cita uma versão (c.json() sempre 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 em hc desde v4.11.0, método $path() desde v4.12.0), verifique no changelog a versão que você tem instalada antes de adotar.

Licença

MIT - veja LICENSE

Links

  • Documentação oficial do Hono
  • GitHub do Hono
  • Guia de Migração do Hono (v3 -> v4)
  • Melhores Práticas do Hono
  • RPC do Hono
  • Guia de framework Cloudflare Workers para Hono
  • Documentação de Plugins do Cursor
  • RoninForge

Mais da RoninForge

RoninForge constrói ferramentas gratuitas para desenvolvedores que trabalham com assistentes de codificação IA:

  • Comparação de preços de API LLM - preços de token de Claude, GPT, Gemini, DeepSeek, Mistral e Grok lado a lado, verificados nas páginas oficiais de preços
  • Calculadora de Créditos IA do GitHub Copilot - estime seu consumo mensal de créditos sob faturamento baseado em uso
  • Todos os plugins do Cursor
Baixar ferramenta
  • addEventListener('fetch') + app.handleEvent() (sintaxe Service Worker; use export default { fetch: app.fetch })
  • Rotas app.head(...) (HEAD derivado automaticamente de GET no v4)
  • Import hono/nextjs (use hono/vercel)
  • Import de barril hono/middleware (use subcaminho por middleware)
  • Métodos acessores c.req.headers() / c.req.body() / c.req.signal() (use c.req.raw.*)
  • FC com children implícito (use PropsWithChildren<P>)
  • app.fire() (obsoleto desde v4.8.0; use fire(app) de hono/service-worker)
  • import { Hono } from 'https://deno.land/x/hono/mod.ts' no Deno (desatualizado desde v4.4.0; use jsr:@hono/hono)
  • import cors from 'cors' do npm (use hono/cors)
  • supertest para testes (use app.request() / testClient(app))
  • c.req.body como já parseado (é um ReadableStream)
  • c.req.parseBody() para JSON (apenas formulário / multipart)
  • c.req.text() seguido de c.req.json() (body consumido duas vezes)
  • Atribuição inline c.userId = ... (use c.set('userId', ...) com Variables tipadas)
  • new Response(JSON.stringify(...)) em rotas RPC (cliente vê unknown)
  • URL relativa hc<AppType>('/') (lança erro em $url())
  • Import de valor do app servidor no bundle do cliente (arrasta drizzle-orm, fs, dependências nativas - a armadilha #1 de inchaço de bundle RPC)
  • Middleware sem createMiddleware<Env> (tipos de Variables não propagam)
  • .first()
    .all()
  • Atualização WebSocket sem encaminhamento Durable Object (estado desaparece)
  • cache()
  • Segredo JWT codificado (vaza pelo bundle)
  • Construir JSON grande em memória em vez de streamText (limite de 128MB do Workers)
  • Elas perdem padrões de segurança e a fixação do CVE. Nenhuma impõe secureHeaders() / csrf(); nenhuma menciona bodyLimit CVE-2025-59139 (correção no v4.9.7); nenhuma aborda as armadilhas do cliente RPC (URL relativa, vazamento de import de valor, tipagem c.notFound).
  • RegraEscopo (globs)O que faz
    hono-anti-patterns**/*.ts,**/*.js,**/*.tsx,**/*.jsx,wrangler.{toml,jsonc,json}59 regressões de LLM com pares RUIM / CORRETO, organizados A-H por categoria (vazamento Express, APIs da era v3, TypeScript / RPC, CF Workers, segurança, roteamento, runtime, problemas menores)
    hono-core**/*.ts,**/*.tsx,**/*.js,**/*.jsx (alwaysApply)Inicialização do App com Bindings + Variables tipados, API de Context, acessadores de request, assinatura de middleware, lista de middlewares embutidos, helpers de cookie, detecção de runtime
    hono-routing-and-rpcsrc/**/*.ts,src/routes/**/*,src/api/**/*,src/server/**/*,src/client/**/*,routes/**/*Rotas encadeadas, composição de sub-app, imutabilidade do basePath, correção de sobreposição de dupla execução, código morto de notFound em sub-app, configuração hc<AppType>, regra import type, URL base tipada, $path(), integração TanStack Query / SWR, factory.createHandlers, mitigação de lentidão do IDE para 30+ rotas
    hono-validatorssrc/**/*.ts,routes/**/*.ts,api/**/*.ts,handlers/**/*.tsPosicionamento de @hono/zod-validator, acessador c.req.valid(), validador lança erro na falha, @hono/zod-openapi (pegadinha peer zod ^4), @hono/standard-validator, @hono/valibot-validator, hono/validator embutido, árvore de decisão
    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, regras de compatibilidade flag, wrangler types, Bindings tipados, c.env vs process.env, c.executionCtx.waitUntil + portabilidade, binding de Static Assets, aguardar D1, pilha Drizzle + D1, pegadinha adaptador Hyperdrive + Prisma, Durable Objects para WebSockets, regra de domínio personalizado hono/cache, export ES Module Worker
    hono-securitysrc/**/*.ts,src/**/*.tsx,src/middleware/**/*.ts,src/auth/**/*.ts,src/index.ts,src/app.tssecureHeaders(), csrf(), lista de permissões CORS, bodyLimit() + fixação piso CVE-2025-59139 4.9.7, padrões de cookie, segredo JWT de c.env, registro sem vazamento de PII, etag() + cache(), restrição de IP, timeouts, ID de request, decisão de biblioteca de auth (Lucia obsoleto; Better Auth / Clerk recomendados), @sentry/hono em vez de @hono/sentry
    hono-error-handlingsrc/**/*.ts,routes/**/*.ts,api/**/*.ts,middleware/**/*.ts,src/index.ts,src/app.tsLançamento canônico de HTTPException, handler global app.onError, app.notFound apenas no nível superior, erros RPC tipados via uniões discriminadas, validador lança erro, Sentry via @sentry/hono, registro estruturado com redação pino, convenção de formato de resposta de erro
    hono-jsx**/*.tsx,**/*.jsx,**/jsx-runtime.ts,src/components/**/*,src/views/**/*,src/islands/**/*,app/islands/**/*hono/jsx server-side, configuração tsconfig, FC NÃO inclui children, middleware jsxRenderer para layouts, hono/jsx/streaming com Suspense, hono/jsx/dom componentes cliente, ilhas HonoX, integração htmx, fixação de segurança SSR JSX piso 4.12.18
    hono-testing**/*.test.ts,**/*.test.tsx,**/*.spec.ts,**/*.spec.tsx,vitest.config.{ts,js},**/test/**/*.ts,**/tests/**/*.ts,**/__tests__/**/*.tsPadrão universal app.request(), testClient(app) testes RPC tipados, Vitest + @cloudflare/vitest-pool-workers para D1 runtime real, fixture applyD1Migrations, Bun + bun:test, testes de snapshot, testes 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 + flags de compatibilidade), Bun.serve, Deno + JSR, @hono/node-server v2 (Node 20+), AWS Lambda + Lambda@Edge, Vercel Edge, Netlify, pipelines de build, pisos de versão, erros comuns de deploy
    HabilidadeComandoO que faz
    Nova rota/hono-new-routeEsboça um sub-app encadeado com zValidator como argumento de rota, acesso tipado c.req.valid(), c.json({ ... } as const, status) para respostas RPC tipadas, genéricos Bindings + Variables, sub-app exportado como typeof users, conectado ao pai com .route() encadeado. Recusa controladores estilo Rails, c.notFound() em rotas RPC, new Response() bruto.
    Configuração RPC/hono-rpc-setupEsboça o cliente hc<AppType> com import type (a regra crítica), URL base absoluta, módulo api compartilhado tipado, integração TanStack Query / SWR via InferRequestType / InferResponseType, utilitário parseResponse, método $path(), mitigação de lentidão do IDE para 30+ rotas.
    Configuração Workers/hono-cloudflare-workers-setupEsboça um projeto Hono + Workers novo com wrangler.jsonc (NÃO .toml), nodejs_compat, Bindings tipados gerados de wrangler types, padrão de middleware D1 + Drizzle, pilha secureHeaders + cors + csrf + bodyLimit, configuração Vitest para @cloudflare/vitest-pool-workers.
    Migrar para v4/hono-migrate-to-v4Migração v3 -> v4 em etapas: atualizar pisos (CVE-2025-59139), substituir c.jsonT / c.stream / c.env() / c.req.cookie / app.showRoutes / app.handleEvent, remover barril hono/middleware, trocar Deno para JSR, @hono/node-server v2 + Node 20+, registrar app.onError para lançamentos de validador.
    Validar/hono-validateExecuta validate-plugin.sh + tsc --noEmit + testes + auditoria grep para antipadrões sintáticos que o verificador de tipos não captura (c.jsonT, c.req.cookie, process.env, node_compat, serveStatic de hono/cloudflare-workers, segredo JWT codificado, sameSite:'None' sem secure, bodyLimit ausente, import de valor no cliente hc).
    AgenteO que faz
    hono-reviewerRevisa código Hono v4 + TypeScript por severidade. CRITICAL: hono < 4.9.7 (CVE), referências a v5 (alucinação), cors curinga + credentials, sameSite:'None' sem secure, segredo JWT codificado, process.env no Workers, bodyLimit ausente, sem csrf em auth por cookie, serveStatic obsoleto, JSX SSR em < 4.12.18. ERROR: falta de return em c.json, formas de middleware Express, todas as APIs removidas da era v3, rotas / sub-apps não encadeados, controladores Rails, posicionamento zValidator, c.notFound/Response bruto em RPC, URL relativa hc(), import de valor do app servidor, D1 não aguardado, formas de export runtime. WARN: padrões de cookie, secureHeaders, registro de body sem redação, app.onError, notFound de sub-app, verificação de verdade em c.executionCtx, sem genérico Bindings, cors após rotas, sobreposição de middleware, declaração basePath, barras finais, barril hono/middleware, wrangler.toml em projeto novo, Lucia, @hono/sentry. NIT: satisfies ExportedHandler<Env> ausente, OpenAPI feito à mão, observability.enabled ausente.
    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