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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
tls — تنفيذ Zig لبروتوكول TLS 1.3 لـ QUIC، متوافق مع RFC 8446/9001 بدون أي تبعيات خارجية، مع ميزات حماية AEAD والتحقق من X.509 وأكثر من 1000 اختبار. | Kitploit
أدوات/GitLabGitLab/devnw/zig/tls
أمن الشبكاتالتشفير
GitLabdevnw/zig/tls

tls

تنفيذ Zig لبروتوكول TLS 1.3 لـ QUIC، متوافق مع RFC 8446/9001 بدون أي تبعيات خارجية، مع ميزات حماية AEAD والتحقق من X.509 وأكثر من 1000 اختبار.

عرض المستودع
منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

ztls

تنفيذ TLS 1.3 لـ QUIC مكتوب بلغة Zig، يلتزم بدقة بـ RFC 8446 (TLS 1.3) و RFC 9001 (QUIC-TLS).

الحالة

الجانبالمعلومات
استقرار واجهة APIإنتاجي
إصدار Zig0.16.0
المنصاتLinux, macOS, Windows

ملاحظة حول الأداء

هدف المصافحة الذي يقل عن 2 مللي ثانية تم التحقق منه على تكوينات شهادات Ed25519 و RSA-2048. حاليًا، تستغرق مهام secp256r1 (P-256) ما بين 2–3 مللي ثانية لكل مصافحة بسبب قيود في مكتبة Zig القياسية (PERF-229). راجع ADR-0002 لسجل القرار الكامل.

الميزات

✅ متوافق مع RFC - ينفذ TLS 1.3 (RFC 8446) و QUIC-TLS (RFC 9001) ✅ بدون تبعيات خارجية - يستخدم مكتبة Zig القياسية فقط ✅ تم اختبار التوافق البيني - اختبارات توافق ضد BoringSSL و OpenSSL ✅ مصمم لـ QUIC - مصمم للتكامل مع QUIC، بدون طبقة سجلات تقليدية ✅ مختبر جيدًا - 551 اختبار وحدة + متجهات اختبار RFC + 449 اختبار توافق

بداية سريعة

root@kitploit:~
# بناء واختبار كل شيء
make

# أو يدويًا
zig build
zig build test

المتطلبات

  • Zig 0.16.0 أو متوافق
  • مكتبات تطوير OpenSSL (اختيارية، لاختبارات التوافق)

البناء

يستخدم المشروع كلاً من Makefile و build.zig للمرونة:

باستخدام Make (موصى به)

root@kitploit:~
# بناء وتشغيل جميع الاختبارات (الافتراضي)
make

# بناء فقط
make build

# تشغيل مجموعات اختبار محددة
make test-unit           # اختبارات الوحدة
make test-vectors        # متجهات اختبار RFC 8446/9001
make test-conformance    # توافق BoringSSL/OpenSSL (يتطلب libssl-dev)

# سير عمل التطوير
make dev                 # تنسيق + فحص + اختبارات الوحدة
make clean               # تنظيف نواتج البناء
make help                # عرض جميع الأهداف المتاحة

باستخدام zig build

root@kitploit:~
# بناء المكتبة
zig build

# تشغيل جميع الاختبارات
zig build test

# تشغيل مجموعات اختبار محددة
zig build test-vectors
zig build test-conformance  # يتطلب مكتبات تطوير OpenSSL

# مع تحسينات
zig build -Doptimize=ReleaseFast

نتائج الاختبارات

root@kitploit:~
Build Summary: All steps succeeded; 1000 tests passed ✅

تغطية اختبارات شاملة:

  • 551 اختبار وحدة - اختبارات لكل وحدة مع إشارات إلى فقرات RFC (553 إجمالي، 2 تم تخطيهما)
  • 449 اختبار توافق - اختبار تماثل مع BoringSSL و OpenSSL
    • العمليات التشفيرية (HKDF, AEAD, التوقيعات)
    • التحقق من صحة شهادات X.509 وبناء السلسلة
    • إضافات X.509 المتقدمة (OCSP, CRL, AIA, قيود الاسم, السياسات)
    • التوافق مع بروتوكول TLS 1.3 (الإضافات, تدفقات المصافحة)
    • معايير الأداء (زمن استجابة <2ms, ذاكرة <100KB)
    • اختبارات الأمان (fuzzing, التحقق من صحة المدخلات)
    • جاهزية خوارزميات ما بعد الكم (تحليل فقط)

الإجمالي: 1000 اختبار لضمان التوافق مع RFC، التماثل التشفيري، والجاهزية الإنتاجية

هيكل المشروع

root@kitploit:~
src/
├── lib.zig               # نقطة الدخول الرئيسية للمكتبة
├── tls13/                # آلة الحالة لمصافحة TLS 1.3 (معيارية)
├── tls13_full.zig        # تحليل كامل لرسائل TLS 1.3
├── key_schedule.zig      # اشتقاق المفاتيح المستندة إلى HKDF
├── record.zig            # طبقة السجلات وعمليات AEAD
├── x509.zig              # تحليل الشهادات والتحقق منها
├── sig.zig               # التحقق من التوقيعات
├── asn1.zig              # مفكك ASN.1 DER
├── alert.zig             # بروتوكول تنبيه TLS
├── entropy.zig           # مساعد RNG للإغلاق الآمن (SEC-074)
├── zero_rtt.zig          # دعم 0-RTT
└── quic_*.zig            # واجهات تكامل QUIC

tests/
├── rfc8446_vectors.zig        # متجهات اختبار RFC
├── boringssl_conformance.zig  # اختبارات تماثل BoringSSL
└── openssl_conformance.zig    # اختبارات توافق OpenSSL

مثال استخدام

root@kitploit:~
const std = @import("std");
const tls = @import("ztls");

pub fn main() !void {
    var gpa = std.heap.GeneralPurposeAllocator(.{}){};
    defer _ = gpa.deinit();

    // تكوين سياق TLS
    const config = tls.Config{
        .allocator = gpa.allocator(),
        .role = .client,
        .supported_cipher_suites = &.{.TLS_AES_128_GCM_SHA256},
        .supported_groups = &.{.x25519},
        .alpn_protocols = &.{"h3"},
    };

    // إعداد الاستدعاءات
    const callbacks = tls.Callbacks{
        .on_secret_available = mySecretCallback,
        .on_handshake_complete = myHandshakeCallback,
    };

    // تهيئة سياق TLS
    var ctx = try tls.Context.init(config, callbacks);
    defer ctx.deinit();

    // معالجة إطارات CRYPTO الواردة من QUIC
    try ctx.processCrypto(crypto_data);
}

الهندسة

مبادئ التصميم

  1. التوافق أولاً - يكتشف ويدعم تلقائيًا تنسيقات TLS 1.3 القياسية للتوافق مع تطبيقات QUIC الواقعية (quic-go, quinn, msquic)
  2. التطوير الموجه بـ RFC - كل كتلة تنفيذية تستشهد بالقسم ذي الصلة من RFC
  3. بدون تبعيات خارجية - يستخدم فقط بدائيات مكتبة Zig القياسية

المكونات الرئيسية

  • جدول المفاتيح - اشتقاق المفاتيح المستند إلى HKDF باستخدام std.crypto.kdf.hkdf
  • حماية AEAD - AES-128-GCM, AES-256-GCM, ChaCha20-Poly1305
  • التحقق من الشهادات - تحليل X.509 مع مطابقة SNI وفحوصات الصلاحية
  • التحقق من التوقيعات - ECDSA (P-256, P-384), RSA-PSS, Ed25519

اختبارات التوافق

يتضمن المشروع اختبارات توافق شاملة لضمان التوافق مع تطبيقات TLS القياسية الصناعية:

توافق BoringSSL

  • تماثل HKDF-Extract و HKDF-Expand
  • اشتقاق المفتاح السري الأولي لـ QUIC (RFC 9001)
  • توافق تشفير AEAD
  • تعيين رموز التنبيهات

توافق OpenSSL 3.x

  • توافق واجهة EVP API
  • توفر مجموعات التشفير
  • تماثل دوال التجزئة
  • إجراءات تحديث المفاتيح

لتشغيل اختبارات التوافق:

root@kitploit:~
# قم أولاً بتثبيت مكتبات تطوير OpenSSL
make install-deps  # يكتشف نظام التشغيل الخاص بك تلقائيًا

# تشغيل اختبارات التوافق
make test-conformance

قابلية الملاحظة

يأتي ztls مع خياطة اختيارية لـ OpenTelemetry. عند تعيين علامة البناء -Dwith_otel=true، تصدر المكتبة فترة واحدة بالضبط لكل مصافحة TLS (اسم الفترة: "TLS handshake") مع السمات الدلالية التالية المرفقة عند الاكتمال:

  • tls.role -- "client" أو "server"
  • tls.protocol.version -- "1.3" (دائمًا لـ ztls)
  • tls.cipher_suite -- التشفير المتفاوض عليه (مثل TLS_AES_128_GCM_SHA256)
  • network.protocol.name -- "tls"
root@kitploit:~
# البناء الافتراضي: بدون رموز otel، تكلفة صفرية.
zig build test

# البناء مع التمكين: فترة واحدة لكل مصافحة، يتم تصديرها عبر إعدادات OTLP
# الافتراضية (http://localhost:4318) أو أي متغيرات بيئة OTEL_*
# محددة.
zig build test -Dwith_otel=true

الخياطة محصورة خلف تبعية كسولة، لذا يتم جلب حزمة otel فقط عند تشغيل العلامة. يجب على كود نقطة الدخول للتطبيق الذي يرغب في تثبيت TracerProvider استدعاء ztls.observability_init.Otel.init ثم installGlobals()؛ راجع وصفة تكامل otel الأعلى (otel/docs/integration/RECIPE.md) لمعرفة إجراء التمهيد الكامل للتطبيق المضيف.

التوثيق

  • BUILD_SYSTEM.md - توثيق مفصل لنظام البناء
  • CONFORMANCE_TESTS.md - توثيق اختبارات التوافق مع BoringSSL/OpenSSL
  • CLAUDE.md - نظرة عامة على المشروع وسياق المساعدة بالذكاء الاصطناعي
  • مراجع RFC - جميع الأكواد تتضمن استشهادات بأقسام RFC

التطوير

root@kitploit:~
# دورة التطوير السريعة
make dev

# تنسيق الكود
make fmt
# أو
zig fmt src/ tests/

# فحص الصياغة
make check

# بناء نظيف
make clean build

حالة التنفيذ

✅ تم الإنجاز

  • آلة الحالة لمصافحة TLS 1.3
  • جدول المفاتيح HKDF (RFC 8446 §7, RFC 9001 §5.1)
  • حماية سجلات AEAD (AES-GCM, ChaCha20-Poly1305)
  • تحليل شهادات X.509 والتحقق منها
  • التحقق من التوقيعات (ECDSA, RSA-PSS, Ed25519)
  • بروتوكول التنبيهات
  • مكافحة إعادة التشغيل 0-RTT
  • واجهات تكامل QUIC

🚧 العمل المستقبلي

  • غلاف HKDF-Expand-Label (مُتتبع في متجهات الاختبار)
  • دعم تدعيم OCSP و SCT
  • التحقق الكامل من سلسلة الشهادات
  • مجموعات تشفير إضافية (AES-256-GCM-SHA384, AES-CCM)
  • المصادقة بعد المصافحة
  • الترحيل إلى X.509 القياسي عند الاستقرار

المساهمة

عند إضافة ميزات:

  1. تضمين اختبارات الوحدة في ملفات المصدر
  2. إضافة استشهادات بأقسام RFC لكل منطق بروتوكول
  3. تحديث اختبارات التكامل إذا تأثر التوافق مع RFC
  4. إضافة اختبارات توافق للعمليات التشفيرية
  5. تحديث التوثيق

الترخيص

ترخيص Apache-2.0 - راجع LICENSE للتفاصيل.

المراجع

  • RFC 8446 - TLS 1.3
  • RFC 9001 - QUIC Transport TLS
  • RFC 9369 - QUIC Version 2
  • RFC 5280 - X.509 Certificates
  • RFC 7301 - ALPN

بُني باستخدام Zig 0.16.0 | TLS 1.3 | أصلي لـ QUIC | متوافق مع RFC

تنزيل الأداة