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
HATCHA — CAPTCHA demuestra que eres humano. HATCHA demuestra que no. | Kitploit
Herramientas/GitHubGitHub/mondaycom/hatcha
Herramientas de SuplantaciónSeguridad WebAutenticaciónAnti-BotBypass de CAPTCHASeguridad de IA
GitHubmondaycom/hatcha

HATCHA

CAPTCHA demuestra que eres humano. HATCHA demuestra que no.

Ver Repositorio
992hace 5 mesesRevisado por Kitploit

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 →
Compartir
Sitio web

HATCHA

CAPTCHA demuestra que eres humano. HATCHA demuestra que no lo eres.

npm License CI


Modal de HATCHA en acción

HATCHA (Hyperfast Agent Test for Computational Heuristic Assessment) es un CAPTCHA inverso que restringe el acceso mediante desafíos triviales para agentes de IA pero tediosos para humanos: multiplicación de números grandes, inversión de cadenas, decodificación binaria y más.

  • Verificación del lado del servidor — las respuestas nunca llegan al cliente. Tokens firmados con HMAC, sin estado, no requiere base de datos.
  • 5 tipos de desafíos integrados — matemáticas, inversión de cadenas, conteo de caracteres, ordenamiento, decodificación binaria.
  • Extensible — registra generadores de desafíos personalizados en tiempo de ejecución.
  • Personalizable con temas — modo oscuro, claro o automático mediante propiedades personalizadas CSS.
  • Adaptadores de framework — Next.js App Router y middleware de Express listos para usar.

Inicio rápido (Next.js)

1. Instalar

root@kitploit:~
npm install @mondaycom/hatcha-react @mondaycom/hatcha-server

2. Añadir la ruta de la API

root@kitploit:~
// app/api/hatcha/[...hatcha]/route.ts
import { createHatchaHandler } from "@mondaycom/hatcha-server/nextjs";

const handler = createHatchaHandler({
  secret: process.env.HATCHA_SECRET!,
});

export const GET = handler;
export const POST = handler;

3. Envolver tu layout

root@kitploit:~
// app/layout.tsx
import { HatchaProvider } from "@mondaycom/hatcha-react";
import "@mondaycom/hatcha-react/styles.css";

export default function RootLayout({ children }) {
  return (
    <html lang="en">
      <body>
        <HatchaProvider>{children}</HatchaProvider>
      </body>
    </html>
  );
}

4. Activar la verificación

root@kitploit:~
"use client";
import { useHatcha } from "@mondaycom/hatcha-react";

function AgentModeButton() {
  const { requestVerification } = useHatcha();

  return (
    <button
      onClick={() =>
        requestVerification((token) => {
          console.log("Agent verified!", token);
        })
      }
    >
      Enter Agent Mode
    </button>
  );
}

5. Establecer tu secreto

root@kitploit:~
# .env.local
HATCHA_SECRET=your-random-secret-here

Cómo funciona

root@kitploit:~
Client                            Server
  │                                 │
  │  GET /api/hatcha/challenge      │
  │────────────────────────────────►│
  │                                 │  Generate challenge
  │                                 │  Hash answer
  │                                 │  HMAC-sign { hash, expiry }
  │  { challenge (no answer), token }
  │◄────────────────────────────────│
  │                                 │
  │  Agent solves the challenge     │
  │                                 │
  │  POST /api/hatcha/verify        │
  │  { answer, token }              │
  │────────────────────────────────►│
  │                                 │  Verify HMAC signature
  │                                 │  Check expiry
  │                                 │  Compare answer hash
  │  { success, verificationToken } │
  │◄────────────────────────────────│

La respuesta nunca llega al cliente. El token firmado es opaco y contiene solo una respuesta hash + fecha de expiración. La verificación no tiene estado — no necesita base de datos.

Tipos de desafío

Desafíos personalizados

root@kitploit:~
import { registerChallenge } from "@mondaycom/hatcha-server";

registerChallenge({
  type: "hex",
  generate() {
    const n = Math.floor(Math.random() * 0xffffff);
    return {
      display: {
        type: "hex",
        icon: "0x",
        title: "Hex Decode",
        description: "Convert this hex number to decimal.",
        prompt: `0x${n.toString(16).toUpperCase()}`,
        timeLimit: 30,
        answer: String(n),
      },
      answer: String(n),
    };
  },
});

Temas

HATCHA utiliza propiedades personalizadas CSS con ámbito bajo --hatcha-*. Sobrescríbelas en cualquier elemento padre:

root@kitploit:~
[data-hatcha-theme] {
  --hatcha-accent: #3b82f6;
  --hatcha-accent-light: #60a5fa;
  --hatcha-bg: #060b18;
  --hatcha-fg: #e4eaf6;
  --hatcha-success: #22c55e;
  --hatcha-danger: #ef4444;
}

Pasa theme="dark", theme="light" o theme="auto" a <HatchaProvider> o <Hatcha>.

Express

root@kitploit:~
import express from "express";
import { hatchaRouter } from "@mondaycom/hatcha-server/express";

const app = express();
app.use(express.json());
app.use("/api/hatcha", hatchaRouter({ secret: process.env.HATCHA_SECRET! }));

app.listen(3000);

Paquetes

PaqueteDescripción

Desarrollo

root@kitploit:~
git clone https://github.com/mondaycom/HATCHA.git
cd HATCHA
pnpm install
pnpm build
cd examples/nextjs-app
pnpm dev

Contribuciones

¡Las contribuciones son bienvenidas! Consulta CONTRIBUTING.md para instrucciones de configuración y pautas.

Licencia

MIT

Descargar herramienta
TipoIconoQué haceLímite de tiempo
math×Multiplicación de 5 dígitos × 5 dígitos30 s
string↔Invertir una cadena aleatoria de 60–80 caracteres30 s
count#Contar un carácter específico en ~250 caracteres30 s
sort⇅Ordenar 15 números, devolver el k-ésimo más pequeño30 s
binary01Decodificar octetos binarios a ASCII30 s
@mondaycom/hatcha-core
Generación de desafíos y verificación criptográfica
@mondaycom/hatcha-reactComponente React, proveedor y estilos
@mondaycom/hatcha-serverManejadores de servidor para Next.js y Express