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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
TS_LLMLib — Biblioteca Python para análise de segurança com LLM local, integrando análise binária com Ghidra, varredura de vulnerabilidades em C/C++ e integração com ferramentas MCP para engenharia reversa automatizada e geração de relatórios. | Kitploit
Ferramentas/GitHubGitHub/trustedsec/ts_llmlib
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoExploraçãoEngenharia ReversaScripting e AutomaçãoUtilitários e FrameworksAnálise de BináriosAprendizado de MáquinaSegurança de IA
GitHub
117há 4 mesesAinda não revisado
trustedsec/ts_llmlib

TS_LLMLib

Biblioteca Python para análise de segurança com LLM local, integrando análise binária com Ghidra, varredura de vulnerabilidades em C/C++ e integração com ferramentas MCP para engenharia reversa automatizada e geração de relatórios.

Ver Repositório

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

ts_llmlib - Biblioteca LLM da TrustedSec

Biblioteca LLM da TrustedSec é uma biblioteca Python para interagir com LLMs locais que suportam uso de ferramentas. Ela permite executar grandes fluxos de trabalho tradicionalmente possíveis apenas com modelos de ponta, aproveitando endpoints de LLM locais e integração com MCP (Model Context Protocol).

Recursos

  • Suporte a LLM Local: Conecte-se a qualquer endpoint de API compatível com OpenAI ou use servidores de LLM locais
  • Integração MCP: Suporte completo ao Model Context Protocol para os protocolos RPC e SSE
  • Registro de Ferramentas: Ferramentas de operação de arquivos integradas com extensibilidade para ferramentas personalizadas
  • Histórico de Conversa: Mantém o contexto do chat entre múltiplas interações
  • Limites de Tempo: Timeouts de execução configuráveis para evitar operações descontroladas
  • Python Puro: Sem dependências externas além da biblioteca padrão

Instalação

Como Pacote Python

# Clone or copy the repository
git clone https://github.com/trustedsec/ts_llmlib.git
cd ts_llmlib

# Install with pip
pip install -e .

Instalação Manual

Copie o diretório ts_llmlib/ para o seu projeto:

cp -rf ts_llmlib /path/to/your/project/

Início Rápido

Uso Básico

from ts_llmlib import ChatSession

# Initialize with defaults (connects to http://localhost:1234/v1/chat/completions)
chat = ChatSession()

# Run a prompt
response = chat.run_prompt("What files are in the current directory?")
print(response['content'])

Com Configuração Personalizada

from ts_llmlib import ChatSession

# Configure with custom settings
chat = ChatSession(
    system_prompt="You are a helpful assistant that uses file tools.",
    tool_list=[],  # Empty = use default file tools
    mcp_servers={
        "default": "http://localhost:3000/mcp"
    },
    llm_endpoint_url="http://localhost:1234/v1/chat/completions",
    model_name="qwen3-coder-next",
    timeout=60,
    max_runtime=300
)

response = chat.run_prompt("Write 'hello' to /tmp/greeting.txt")
print(response['content'])

Com Histórico de Conversa

from ts_llmlib import ChatSession

chat = ChatSession()

history = [
    {"role": "user", "content": "What is 2+2?"},
    {"role": "assistant", "content": "The answer is 4."}
]

response = chat.run_prompt("Can you write that to a file?", history=history)

Ferramentas Integradas

FerramentaParâmetrosDescrição
read_local_filepath: strLê o conteúdo de um arquivo local
write_local_filepath: str, content: strEscreve conteúdo em um arquivo local
list_directorypath: strLista arquivos e diretórios em um caminho

Integração MCP

O MCP (Model Context Protocol) possibilita a integração com ferramentas e serviços externos. Quando servidores MCP estão configurados, o ts_llmlib irá:

  1. Inicializar conexões com cada servidor
  2. Buscar as ferramentas disponíveis no servidor
  3. Mesclá-las com as ferramentas integradas (as ferramentas MCP têm precedência para nomes correspondentes)
  4. Executar chamadas de ferramentas usando o servidor apropriado

Exemplo com Servidor MCP do Ghidra

from ts_llmlib import ChatSession

chat = ChatSession(
    mcp_servers={
        "ghidraSvr": "http://localhost:8081/sse"
    },
    llm_endpoint_url="http://localhost:1234/v1/chat/completions",
    model_name="qwen3-coder-next"
)

# The chat session will automatically fetch and integrate Ghidra tools
# such as list_methods, decompile_function, get_xrefs_to, etc.

Endpoints do Servidor MCP

O ts_llmlib suporta endpoints no estilo RPC e SSE (Server-Sent Events):

  • RPC: http://localhost:3000/mcp
  • SSE: http://localhost:3000/sse (converte automaticamente para /mcp para chamadas RPC)

Referência da API

Classe ChatSession

ChatSession(
    system_prompt: str | None = None,
    tool_list: list | None = None,
    mcp_servers: dict[str, str] | None = None,
    llm_endpoint_url: str = "http://localhost:1234/v1/chat/completions",
    model_name: str = "default",
    timeout: int = 60,
    max_runtime: int = 300
)

Parâmetros:

  • system_prompt (str | None): Prompt de sistema personalizado. O padrão é um prompt de assistente mínimo.
  • tool_list (list | None): Lista de definições de ferramentas personalizadas. Lista vazia usa as ferramentas integradas.
  • mcp_servers (dict[str, str] | None): Dicionário mapeando nomes de servidores para URLs.
  • llm_endpoint_url (str): URL do endpoint da API do LLM.
  • model_name (str): Identificador do modelo para o endpoint do LLM.
  • timeout (int): Timeout da requisição HTTP em segundos.
  • max_runtime (int): Tempo máximo de execução para um prompt em segundos.

Método run_prompt

response = chat.run_prompt(
    user_prompt: str,
    conversation_history: list[dict] | None = None,
    disable_tools: list[str] | None = None,
    max_runtime: int | None = None
) -> dict

Parâmetros:

  • user_prompt (str): A mensagem ou pergunta do usuário.
  • conversation_history (list[dict] | None): Histórico de conversa opcional como uma lista de pares papel/conteúdo.
  • disable_tools (list[str] | None): Lista de nomes de ferramentas para desabilitar nesta chamada.
  • max_runtime (int | None): Substitui o tempo máximo de execução padrão para esta chamada específica.

Retorna:

{
    "content": str,           # LLM response text
    "tool_calls": list,       # List of tool calls made (if any)
    "usage": dict | None,     # Token usage if available from the LLM
    "error": str | None       # Error message if failed
}

Registro de Ferramentas

O ToolRegistry gerencia todas as ferramentas disponíveis para a sessão de chat:

  • Ferramentas Integradas: Operações de arquivo (ler/escrever/listar)
  • Ferramentas MCP: Ferramentas obtidas de servidores MCP
  • Ferramentas Personalizadas: Ferramentas definidas pelo usuário por meio do parâmetro tool_list

Exemplos

Para substituir os caminhos padrão, você pode definir as seguintes variáveis; elas são verificadas no ChatSession.

TS_LLM_MODEL=qwen3-coder-next TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions
# Example usage
export TS_LLM_MODEL=qwen3-coder-next
export TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions
ts_llmlib-redclippy
# OR
TS_LLM_MODEL=qwen3-coder-next TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions ts_llmlib-redclippy

Análise de Código-Fonte C/C++

Analisa arquivos de código-fonte C/C++ em busca de vulnerabilidades de segurança:

ts_llmlib-cpp-analyze <source_folder> <output_folder>

Análise Binária com Ghidra

Análise binária de engenharia reversa com integração Ghidra:

# Basic analysis
ts_llmlib-ghidra-analyze <output_folder>

# Rename-only mode (first pass)
ts_llmlib-ghidra-analyze --rename_only <output_folder>

# Process only previously unnamed functions
ts_llmlib-ghidra-analyze --process_unnamed_only <output_folder>

# Grouped analysis for call relationship grouping
ts_llmlib-ghidra-analyze --grouped <output_folder>

Após concluir a execução, se não estiver usando --rename_only, você pode limpar a estrutura executando:

ts_llmlib-ghidra-cleanup <input_folder> <output_folder>

Geração de Relatórios de Vulnerabilidades

Gera relatórios de vulnerabilidades formatados a partir de arquivos de revisão JSON:

ts_llmlib-ghidra-report <review_folder>

Aplicativo de Chat com Interface Gráfica

Execute a interface de chat RedClippy baseada em Qt (observe que este exemplo requer pyside6):

ts_llmlib-redclippy

Opções de Configuração

Configuração do Endpoint do LLM

O ts_llmlib conecta-se a qualquer endpoint de API compatível com OpenAI. Servidores LLM locais comuns:

Baixar ferramenta