Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
HATCHA — تُثبت CAPTCHA أنّك إنسان. وتُثبت HATCHA أنّك لست كذلك. | Kitploit
أدوات/GitHubGitHub/mondaycom/hatcha
أدوات انتحال الشخصيةأمن الويبالمصادقةمكافحة الروبوتاتتجاوز كابتشاأمن الذكاء الاصطناعي
GitHubmondaycom/hatcha

HATCHA

تُثبت CAPTCHA أنّك إنسان. وتُثبت HATCHA أنّك لست كذلك.

عرض المستودع
992منذ 5 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

HATCHA

CAPTCHA تثبت أنك إنسان. HATCHA تثبت أنك لست كذلك.

npm License CI


نافذة HATCHA أثناء العمل

HATCHA (Hyperfast Agent Test for Computational Heuristic Assessment) هي CAPTCHA معكوسة تجعل الوصول مشروطًا بتحديات تافهة للوكلاء الاصطناعيين ولكنها مرهقة للبشر — ضرب أعداد كبيرة، عكس سلاسل نصية، فك ترميز ثنائي، والمزيد.

  • تحقق من جهة الخادم — الإجابات لا تصل أبدًا إلى العميل. رموز موقّعة بـ HMAC، بلا حالة، ولا حاجة إلى قاعدة بيانات.
  • 5 أنواع تحديات مدمجة — رياضيات، عكس سلاسل نصية، عدّ الأحرف، فرز، فك ترميز ثنائي.
  • قابل للتوسعة — سجّل مولّدات تحديات مخصصة في وقت التشغيل.
  • قابل لتخصيص المظهر — وضع داكن أو فاتح أو تلقائي عبر خصائص CSS المخصصة.
  • محولات أُطر العمل — Next.js App Router ووسيط Express جاهزان دون أي إعداد إضافي.

بدء سريع (Next.js)

1. التثبيت

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

2. أضف مسار 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. لفّ التخطيط الخاص بك

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. تشغيل التحقق

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. عيّن المفتاح السري

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

كيف يعمل

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 } │
  │◄────────────────────────────────│

الإجابة لا تصل أبدًا إلى العميل. الرمز الموقّع معتم ولا يحتوي إلا على إجابة مجزّأة (hash) وتاريخ انتهاء. التحقق بلا حالة — لا حاجة إلى قاعدة بيانات.

أنواع التحديات

تحديات مخصصة

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),
    };
  },
});

تخصيص المظهر

تستخدم HATCHA خصائص CSS مخصصة بنطاق --hatcha-*. يمكنك تجاوزها على أي عنصر أب:

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

مرّر theme="dark" أو theme="light" أو theme="auto" إلى <HatchaProvider> أو <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);

الحزم

الحزمةالوصف
@mondaycom/hatcha-core

التطوير

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

المساهمة

المساهمات مرحّب بها! راجع CONTRIBUTING.md لمعرفة تعليمات الإعداد والإرشادات.

الترخيص

MIT

تنزيل الأداة
النوعالأيقونةما يفعلهالحد الزمني
math×ضرب عددين من 5 أرقام30 ثانية
string↔عكس سلسلة نصية عشوائية من 60–80 حرفًا30 ثانية
count#عدّ حرفًا معيّنًا في ~250 حرفًا30 ثانية
sort⇅فرز 15 رقمًا وإرجاع أصغر رقم في المرتبة k30 ثانية
binary01فك ترميز الثُمانيات الثنائية إلى ASCII30 ثانية
توليد التحديات والتحقق التشفيري
@mondaycom/hatcha-reactمكوّن React والمزوّد والأنماط
@mondaycom/hatcha-serverمعالجات خادم Next.js وExpress