Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Zerodapi — Documentação Oficial da 0dAPI | Kitploit
Ferramentas/GitHubGitHub/0dai-ml/zerodapi
OSINT (Inteligência de Fontes Abertas)Scanners de VulnerabilidadesFrameworks de ExploraçãoGeração de PayloadsSegurança WebTestes de PenetraçãoAprendizado e EducaçãoSegurança de IA
GitHub0dai-ml/zerodapi

Zerodapi

Documentação Oficial da 0dAPI

Ver Repositório
1124há 2 anosAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Documentação do Zerodai

Comece!

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

Obtenha sua api key https://zerodai.com Chat Conversacional Simples - Sem memória


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 um assistente de cibersegurança cuja única função é..."})
    zerodai.inference(model="0dai70b", messages=messages, temperature=0.7, stream=True)

Zerodai é uma biblioteca de processamento de linguagem natural orientada à cibersegurança que busca automatizar parcialmente processos baseados no processamento humano de informações, raciocínio, planejamento e execução. Buscamos criar um framework de agentes para cibersegurança com as seguintes capacidades:

Capacidades

  • Modularidade e adaptabilidade: Queremos que esta biblioteca seja fácil de implementar e de integrar com outras peças de software.
  • Simplificação: Queremos simplificar para um formato mais humano toda a informação que o usuário recebe ao final de um processo.

Inferências

É o método base de interação com o modelo e conta com os seguintes parâmetros. É importante que estes parâmetros sejam aprendidos e compreendidos bem, pois são a base da biblioteca.

Parâmetros

  • model: O modelo de linguagem a ser utilizado. Os modelos disponíveis são:

    • 0dai7b: Modelo básico com uso ilimitado, rápido e perfeito para conversas simples e assistência em programação. Defende bem em cibersegurança.

      • 16k de contexto
      • 16 bits
      • Sem function calls
    • 0dai8x7b: Modelo flexível com uma janela de contexto grande, nível GPT-4 em termos de código, bom para perguntas e scripts complexos de cibersegurança.

      • 32k de contexto
      • 8 bits
      • Sem function calls
    • 0daifn: Modelo recomendado para function calls, o melhor em function calls, muito contexto, mais leve que 0dai70b, além disso, em nível de function calls multipasso está ao nível do melhor gpt

      • 64k de contexto
      • 16 bits
      • Capacidade de Function Calls
    • 0dai70b (Recomendado): Atualmente SOTA em cibersegurança, capaz de fazer complexos raciocínios lógicos com base em muito contexto e resolver testes de pentesting de forma semiautônoma. Conta com function calls e pode responder em mensagens estruturadas. É o mais lento, mas oferece um grande salto de qualidade.

      • 64k de contexto
      • 16 bits
      • Capacidade de function calls
  • messages: As mensagens que serão enviadas ao modelo. Aqui temos que entender 3 papéis:

    • system: Prompt com instruções a seguir.
    • user: Tarefa ou pergunta.
    • assistant: Resposta do assistente.

    As mensagens devem seguir este formato:

  messages = [
{"role": "system", "content": """Você é 0dAI, sua função é..."""},
{"role": "user", "content": "0dAI escreva um exploit em C"},
]
  • functions: As funções que podem ser chamadas durante a interação. Iremos detalhar mais sobre as funções em fn_c. Neste caso, simplesmente nos dará o JSON.

    Uma função é declarada assim:

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: Controla a aleatoriedade das respostas do modelo. Quanto maior a temperatura, mais aleatoriedade; quanto menor a temperatura, menos aleatoriedade.

  • stream (bool): Se deve transmitir a resposta em tempo real.

Uso:

from zerodai import zerodai
messages = []
messages.append({"role": "user", "content": prompt})
messages.append({"role": "system", "content": "Você é 0dAI, um assistente de cibersegurança cuja única função é..."})
zerodai.inference(model="0dai70b", messages=messages, temperature=0.7, stream=True)

Function calls (fn_c)

Com base em uma função ou uma lista de funções no parâmetro function, o Modelo será capaz de gerar uma resposta estruturada que nos possa servir após uma inferência: Função base

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

Resposta do modelo com base nesta função

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

Estas funções podem ser multipasso ou não, isso será definido pelo número de posições do JSON. Uma resposta multipasso se parece com isso

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

Também pode existir uma lógica recursiva em inferência - função que se retroalimentam. Imaginemos este caso:

Função subdomínios

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

Função crawler

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

Input:

Preciso obter os subdomínios de openai.com e omegaai.io

Output 1. Função:

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

Após extrair os subdomínios do input, aplicamos nossa lógica de execução, que seria obter os subdomínios...

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

Após passar isso para a função do crawler, seria algo como:

Output 2. Função:

[
    {
        "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 O que nos permite é coletar os parâmetros e o nome da tool diretamente sem ter que passar por essa lógica de filtrar o JSON em si.

Baixar ferramenta