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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Zerodapi — 0dAPI الوثائق الرسمية | Kitploit
أدوات/GitHubGitHub/0dai-ml/zerodapi
الاستخبارات مفتوحة المصدر (OSINT)ماسحات الثغرات الأمنيةأطر الاستغلالتوليد الحمولةأمن الويباختبار الاختراقالتعلم والتعليمأمن الذكاء الاصطناعي
GitHub0dai-ml/zerodapi

Zerodapi

0dAPI الوثائق الرسمية

عرض المستودع
1منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

وثائق Zerodai

ابدأ!

root@kitploit:~
pip install zerodai==0.0.0.20
root@kitploit:~
export zerodapi_key="TU_API_KEY"

احصل على مفتاح API الخاص بك https://zerodai.com محادثة بسيطة - بدون ذاكرة

root@kitploit:~

from zerodai import zerodai
import os
zerodai.api_auth(os.getenv("zerodapi_key"))
messages = []
while True:
    prompt = input("> ")
    if prompt == "exit":
        break
    messages.append({"role": "user", "content": prompt})

    messages.append({"role": "system", "content": "Eres 0dAI un asistente de ciberseguridad cuya unica función es..."})
    zerodai.inference(model="0dai70b", messages=messages, temperature=0.7, stream=True)

Zerodai هي مكتبة معالجة لغة طبيعية موجهة للأمن السيبراني تهدف إلى أتمتة جزئية للعمليات القائمة على المعالجة البشرية للمعلومات، والاستدلال، والتخطيط، والتنفيذ. نحن نسعى لإنشاء إطار عمل للوكلاء في الأمن السيبراني بالقدرات التالية:

القدرات

  • المرونة وقابلية التكيف: نريد أن تكون هذه المكتبة سهلة التنفيذ والتكامل مع قطع البرامج الأخرى.
  • التبسيط: نريد تبسيط جميع المعلومات التي يتلقاها المستخدم في نهاية العملية إلى صيغة أكثر إنسانية.

الاستدلالات (Inferencias)

إنها طريقة التفاعل الأساسية مع النموذج وتحتوي على المعلمات التالية. من المهم تعلم وفهم هذه المعلمات جيدًا، لأنها أساس المكتبة.

المعلمات

  • model: نموذج اللغة المراد استخدامه. النماذج المتاحة هي:

    • 0dai7b: نموذج أساسي مع استخدام غير محدود، سريع ومثالي للمحادثات البسيطة والمساعدة في البرمجة. يدافع جيدًا في الأمن السيبراني.

      • سياق 16 ألف
      • 16 بت
      • لا توجد استدعاءات دالة (Function calls)
    • 0dai8x7b: نموذج مرمع نافذة سياق كبيرة، بمستوى GPT-4 من حيث الكود، جيد للأسئلة والنصوص البرمجية المعقدة في الأمن السيبراني.

      • سياق 32 ألف
      • 8 بت
      • لا توجد استدعاءات دالة
    • 0daifn: النموذج الموصى به لاستدعاءات الدوال، الأفضل في استدعاءات الدوال مع سياق كبير، أخف من 0dai70b، بالإضافة إلى أنه على مستوى استدعاءات الدوال متعددة الخطوات فهو على مستوى أفضل GPT.

      • سياق 64 ألف
      • 16 بت
      • قدرة على استدعاءات الدوال (Function Calls)
    • 0dai70b (موصى به): حاليًا الأفضل (SOTA) في الأمن السيبراني، قادر على إجراء استدلالات منطقية معقدة بناءً على سياق كبير وحل اختبارات الاختراق بشكل شبه مستقل. يحتوي على استدعاءات دالة ويمكنه الرد برسائل منظمة. وهو الأبطأ ولكنه يوفر قفزة كبيرة في الجودة.

      • سياق 64 ألف
      • 16 بت
      • قدرة على استدعاءات الدالة
  • messages: الرسائل التي سيتم إرسالها إلى النموذج. هنا يجب أن نفهم 3 أدوار:

    • system: تعليمات (Prompt) يجب اتباعها.
    • user: مهمة أو سؤال.
    • assistant: رد المساعد.

    يجب أن تكون الرسائل بهذا التنسيق:

root@kitploit:~
  messages = [
{"role": "system", "content": """Eres 0dAI tu función es..."""},
{"role": "user", "content": "0dAI escribe un exploit en C"},
]
  • functions: الدوال التي يمكن استدعاؤها أثناء التفاعل. سنتعمق أكثر في الدوال في fn_c. في هذه الحالة، سيعطينا ببساطة JSON.

    يتم تعريف الدالة كالتالي:

root@kitploit:~
function_shodan = [ {
    "name": "shodan_dork",
    "description": "This tools is used to generate a shodan query",
    "parameter_definitions": {
      "dork": {
        "type": "string",
        "description": "The shodan dork",
        "required": True
      }
    }
  }, ]
  • temperature: يتحكم في عشوائية ردود النموذج. كلما زادت درجة الحرارة، زادت العشوائية؛ وكلما قلت، قلت العشوائية.

  • stream (bool): ما إذا كان يجب بث الرد في الوقت الفعلي.

الاستخدام:

root@kitploit:~
from zerodai import zerodai
messages = []
messages.append({"role": "user", "content": prompt})
messages.append({"role": "system", "content": "Eres 0dAI un asistente de ciberseguridad cuya unica función es..."})
zerodai.inference(model="0dai70b", messages=messages, temperature=0.7, stream=True)

استدعاءات الدوال (fn_c)

بناءً على دالة أو قائمة من الدوال في المعامل function، سيكون النموذج قادرًا على توليد رد منظم يمكن أن يقدم لنا ردًا منظمًا بعد استدلال: الدالة الأساسية

root@kitploit:~
function_shodan = [ {
    "name": "shodan_dork",
    "description": "This tools is used to generate a shodan query",
    "parameter_definitions": {
      "dork": {
        "type": "string",
        "description": "The shodan dork",
        "required": True
      }
    }
  }, ]

رد النموذج بناءً على هذه الدالة

root@kitploit:~
[
    {
        "tool_name": "shodan_dork",
        "parameters": {
            "dork": "hacked-router-help-sos"
        }
    }
]

يمكن أن تكون هذه الدوال متعددة الخطوات أو لا، وهذا يحدده عدد المواضع في JSON. الرد متعدد الخطوات يبدو هكذا

root@kitploit:~
[
    {
        "tool_name": "shodan_dork",
        "parameters": {
            "dork": "hacked-router-help-sos"
        }
    },
    {
        "tool_name": "shodan_dork",
        "parameters": {
            "dork": "\"smb\" \"authentication: disabled\""
        }
    },
      {
        "tool_name": "shodan_dork",
        "parameters": {
            "dork": ".docuword_exploited.txt"
        }
     }
   ]

يمكن أن يوجد أيضًا منطق تكراري بين الاستدلال والدالة يغذيان بعضهما البعض، تخيل هذه الحالة

دالة النطاقات الفرعية

root@kitploit:~
funcion_subdomains = [ {
    "name": "subdominios",
    "description": "This tools is used to collect domains to extract subdomains",
    "parameter_definitions": {
      "domain": {
        "type": "string",
        "description": "The domain",
        "required": True
      }
    }
  }, ]

دالة الزاحف

root@kitploit:~
crawler_endpoints = [ {
    "name": "crawler",
    "description": "This tools is used to crawle ndpoints for a host",
    "parameter_definitions": {
      "host": {
        "type": "string",
        "description": "The domain",
        "required": True
      }
    }
  }, ]

المدخل:

أحتاج الحصول على النطاقات الفرعية لـ openai.com و omegaai.io

المخرج 1. الدالة:

root@kitploit:~
[
    {
        "tool_name": "subdomains",
        "parameters": {
            "domain": "openai.com"
        }
    },
    {
        "tool_name": "subdomains",
        "parameters": {
            "domain": "omegaai.io"
        }
    },
]

بعد استخراج النطاقات الفرعية من المدخل، نطبق منطق التنفيذ الخاص بنا والذي سيكون الحصول على النطاقات الفرعية...

root@kitploit:~
subdomain1.openai.com
subdomain2.openai.com
subdomain3.openai.com
subdomain1.omegaai.io
subdomain2.omegaai.io
subdomain3.omegaai.io

بعد تمرير هذا إلى دالة الزاحف سيكون شيئًا مثل

المخرج 2. الدالة:

root@kitploit:~
[
    {
        "tool_name": "crawler",
        "parameters": {
            "domain": "subdominio1.openai.com"
        }
    },
    {
        "tool_name": "crawler",
        "parameters": {
            "domain": "subdominio1.omegaai.io"
        }
    },
   {
        "tool_name": "crawler",
        "parameters": {
            "domain": "subdominio2.openai.com"
        }
    },
    {
        "tool_name": "crawler",
        "parameters": {
            "domain": "subdominio2.omegaai.io"
        }
    },
   {
        "tool_name": "crawler",
        "parameters": {
            "domain": "subdominio3.openai.com"
        }
    },
    {
        "tool_name": "crawler",
        "parameters": {
            "domain": "subdominio3.omegaai.io"
        }
    },
]

fn_c ما تسمح لنا به هو جمع المعلمات واسم الأداة مباشرة دون الحاجة إلى المرور عبر هذا المنطق لتصفية JSON نفسه

###الاستخدام

root@kitploit:~
from zerodai import zerodai
zerodai.api_auth("TU_API_KEY")
tool_name, parameters = zerodai.fn_c(model_fn=model_fn_call, messages=messages, functions=subdomain_functions, stream=stream, multistep=False)
print(tool_name)
print(parameters)
print(parameters["domain"])

ملاحظة: عادة ما يكون معيار الدوال هو OpenAI، ولهذا صممنا دالة تقوم بتحويل دوال OpenAI إلى تنسيقنا الخاص، مثال:

root@kitploit:~
tool_name, parameters = cls.fn_c(model_fn=model_fn_call, messages=messages, functions=OpenAI2CommandR(osint_funcs), stream=stream, multistep=False)

الوكلاء (Agentes)

تتضمن Zerodai نظام وكلاء يمكن توسيعه من خلال الدوال ووحدة تنفيذ

root@kitploit:~
def exec_module(tool, arguments, multitool=True):
    output = ""
    if tool == "Shodan":
        process = subprocess.Popen(["nmap", "-Pn", next(iter(arguments.values()))], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
        for line in iter(process.stdout.readline, b''):
            output += line.decode('utf-8').strip()
            print(line.decode('utf-8').strip())
            
    elif tool == "XSS-Scanner" or tool == "nuclei-http":
      try:
        process = subprocess.Popen(["nuclei", "-t", "dns", next(iter(arguments.values()))], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd="/home/omegaleitatadmin/exllamav2/0dAPI/nuclei-templates/nuclei-templates-9.8.6/")
        for line in iter(process.stdout.readline, b''):
            output += line.decode('utf-8').strip()
            print(line.decode('utf-8').strip())
      except:
        pass
    elif tool == "WAF-tool":
        process = subprocess.Popen(["python3", "whatwaf", "-u", "https://" + next(iter(arguments.values()))], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd="/home/omegaleitatadmin/exllamav2/0dAPI/WhatWaf")
        for line in iter(process.stdout.readline, b''):
            output += line.decode('utf-8').strip()
            print(line.decode('utf-8').strip())
      
    elif tool == "Attack":
        process = subprocess.Popen(["nmap", "-Pn", next(iter(arguments.values()))], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
        for line in iter(process.stdout.readline, b''):
            output += line.decode('utf-8').strip()
            print(line.decode('utf-8').strip())
    elif tool == "OSINT":
        ZeroDAI.Osint(next(iter(arguments.values())))
        
    return output

يجب أن يكون هذا الكود مرفقًا مع الدوال المستخدمة

root@kitploit:~
python_functions = [ {
    "name": "Shodan",
    "description": "tool for shodan",
    "parameter_definitions": {
      "ip": {
        "type": "string",
        "description": "The ip",
        "required": True
      }
    }
  },
 {
    "name": "nuclei-http",
    "description": "This tools is use for nuclei",
    "parameter_definitions": {
      "target": {
        "type": "string",
        "description": "The domain",
        "required": True
      }
    }
  },
 {
    "name": "WAF-tool",
    "description": "This tools is used for waf",
    "parameter_definitions": {
      "webapp": {
        "type": "string",
        "description": "The webapp",
        "required": True
      }
    }
  },
 {
    "name": "Attack",
    "description": "This tools is used to attack a host",
    "parameter_definitions": {
      "host": {
        "type": "string",
        "description": "The domain",
        "required": True
      }
    }
  }, ]

هذا يسمح بإنشاء وكلاء ديناميكيين متعددي الخطوات ومتعددي الأدوات

###الاستخدام

root@kitploit:~
zerodai.agent(model="0dai70b", 
                  messages=messages, 
                  model_fn_call="0daifn", 
                  temperature=0.7,
                  functions=python_functions,
                  exec_module=exec_module,
                  exec_module_bool=True, 
                  multistep=True)

exec_module-bool للإشارة إلى ما إذا كنا نريد استخدام وحدة تنفيذ (إذا وضعنا True بدون وحدة تنفيذ فسيتم تشغيل وحدة افتراضية)

exec_module وحدة التنفيذ

functions الدوال المطابقة لوحدة التنفيذ

multistep إذا كنا نريد تنفيذ عدة خطوات في كل تكرار لنموذج استدعاءات الدوال

##إثباتات المفهوم

4. DATA LEAKS PoC

DarkGPT-Osint

5. MultiStep-Agent PoC

DarkGPT-Osint

تأتي هذه الـ API مع تكاملات لـ shodan والعديد من خدمات البيانات و censys وغيرها الكثير، هذه الخدمات تتطلب فقط API 0dAI:

تسريبات البيانات

zerodai.Osint(prompt)

prompt - رسالة بسيطة باللغة الطبيعية ليصدر LLM بحثًا في مصادر تسريبات البيانات الخاصة بنا ويعطيك تسريبات مستخدم

Shodan

zerodai.Osint(prompt)

prompt - رسالة بسيطة باللغة الطبيعية ليصدر LLM بحثًا في shodan ويعطيك النتائج مباشرة

Rubber ducky

zerodai.rubberducky_gen(prompt)

prompt - رسالة بسيطة باللغة الطبيعية ليصدر LLM حمولة صالحة لـ rubber ducky

تم تطوير هذه الـ API بالكامل بواسطة Luijait (Luis Javier Navarrete Lozano) تحت 0dAI، إذا تم استخدام المعرفة الموصوفة هنا في ورقة أخرى، فيجب إعطاء الفضل للمؤلف، باسم أول Luijait وثانيًا 0dAI

تنزيل الأداة