Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Zerodapi — 0dAPI 공식 문서 | Kitploit
도구/GitHubGitHub/0dai-ml/zerodapi
OSINT (Open Source Intelligence)Vulnerability ScannersExploit FrameworksPayload GenerationWeb SecurityPenetration TestingLearning & EducationAI Security
GitHub0dai-ml/zerodapi

Zerodapi

0dAPI 공식 문서

저장소 보기
11212년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Zerodai 문서

시작하세요!

pip install zerodai==0.0.0.20
export zerodapi_key="TU_API_KEY"

API 키 가져오기 https://zerodai.com 대화형 단순 채팅 - 메모리 없음


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는 사이버 보안을 위한 자연어 처리 라이브러리로, 인간의 정보 처리, 추론, 계획 및 실행에 기반한 프로세스를 부분적으로 자동화하는 것을 목표로 합니다. 우리는 다음과 같은 기능을 가진 사이버 보안 에이전트 프레임워크를 만들고자 합니다:

기능

  • 모듈성 및 적응성: 이 라이브러리를 쉽게 구현하고 다른 소프트웨어와 통합할 수 있도록 하고자 합니다.
  • 단순화: 프로세스가 끝날 때 사용자가 받는 모든 정보를 더 인간 친화적인 형식으로 단순화하고자 합니다.

추론(Inferences)

모델과 상호작용하는 기본 메서드이며 다음과 같은 매개변수를 가지고 있습니다. 이 매개변수들을 잘 배우고 이해하는 것이 중요합니다. 라이브러리의 기초이기 때문입니다.

매개변수

  • model: 사용할 언어 모델. 사용 가능한 모델은 다음과 같습니다:

    • 0dai7b: 기본 모델, 무제한 사용 가능, 빠르며 간단한 대화 및 프로그래밍 지원에 적합합니다. 사이버 보안에서 잘 방어합니다.

      • 16k 컨텍스트
      • 16비트
      • 함수 호출 없음
    • 0dai8x7b: 큰 컨텍스트 창을 가진 유연한 모델, 코드 측면에서 GPT-4 수준이며 복잡한 질문 및 사이버 보안 스크립트에 좋습니다.

      • 32k 컨텍스트
      • 8비트
      • 함수 호출 없음
    • 0daifn: 함수 호출에 권장되는 모델, 함수 호출에 가장 뛰어나며 많은 컨텍스트를 처리하고 0dai70b보다 가볍습니다. 또한 다단계 함수 호출 수준에서 최고의 GPT와 동등합니다.

      • 64k 컨텍스트
      • 16비트
      • 함수 호출 기능
    • 0dai70b (권장): 현재 사이버 보안 분야에서 SOTA이며, 많은 컨텍스트를 기반으로 복잡한 논리적 추론을 수행하고 반자율적으로 침투 테스트를 해결할 수 있습니다. 함수 호출 기능이 있으며 구조화된 메시지로 응답할 수 있습니다. 가장 느리지만 품질이 크게 향상됩니다.

      • 64k 컨텍스트
      • 16비트
      • 함수 호출 기능
  • messages: 모델로 전송될 메시지. 여기서 세 가지 역할을 이해해야 합니다:

    • system: 따라야 할 지침이 포함된 프롬프트.
    • user: 작업 또는 질문.
    • assistant: 어시스턴트의 응답.

    메시지는 다음 형식이어야 합니다:

  messages = [
{"role": "system", "content": """Eres 0dAI tu función es..."""},
{"role": "user", "content": "0dAI escribe un exploit en C"},
]
  • functions: 상호작용 중에 호출할 수 있는 함수. 함수에 대한 자세한 내용은 fn_c에서 다루겠습니다. 이 경우 단순히 JSON을 제공합니다.

    함수는 다음과 같이 선언됩니다:

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): 실시간으로 응답을 스트리밍할지 여부입니다.

사용법:

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 매개변수에 함수 목록을 기반으로 모델은 구조화된 응답을 생성할 수 있으며, 추론 후에 구조화된 응답을 제공할 수 있습니다: 기본 함수

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
      }
    }
  }, ]

이 함수를 기반으로 한 모델 응답

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

이러한 함수는 다단계일 수도 있고 아닐 수도 있으며, 이는 JSON의 위치 수에 따라 정의됩니다. 다단계 응답은 다음과 같습니다:

[
    {
        "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"
        }
     }
   ]

또한 추론-함수 간에 재귀적인 논리가 존재할 수 있으며, 서로 피드백하는 경우를 상상해 봅시다:

서브도메인 함수

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
      }
    }
  }, ]

크롤러 함수

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. 함수:

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

입력에서 서브도메인을 추출한 후 실행 로직을 적용하여 서브도메인을 얻습니다...

subdomain1.openai.com
subdomain2.openai.com
subdomain3.openai.com
subdomain1.omegaai.io
subdomain2.omegaai.io
subdomain3.omegaai.io

이것을 크롤러 함수에 전달하면 다음과 같습니다:

출력 2. 함수:

[
    {
        "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 자체를 필터링하는 논리를 거치지 않고 매개변수와 도구 이름을 직접 수집할 수 있게 해줍니다.

###사용법

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 함수를 우리 고유 형식으로 변환하는 함수를 설계했습니다. 예시:

tool_name, parameters = cls.fn_c(model_fn=model_fn_call, messages=messages, functions=OpenAI2CommandR(osint_funcs), stream=stream, multistep=False)

에이전트

도구 다운로드