Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
TS_LLMLib — Biblioteca de Python para análisis de seguridad impulsado por LLM local con análisis binario de Ghidra, escaneo de vulnerabilidades C/C++ e integración de herramientas MCP para ingeniería inversa automatizada y generación de informes. | Kitploit
Herramientas/GitHubGitHub/trustedsec/ts_llmlib
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoExplotaciónIngeniería InversaScripting y AutomatizaciónUtilidades y FrameworksAnálisis de BinariosAprendizaje AutomáticoSeguridad de IA
GitHub
120hace 4 mesesAún no revisado
trustedsec/ts_llmlib

TS_LLMLib

Biblioteca de Python para análisis de seguridad impulsado por LLM local con análisis binario de Ghidra, escaneo de vulnerabilidades C/C++ e integración de herramientas MCP para ingeniería inversa automatizada y generación de informes.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

ts_llmlib - TrustedSec LLM Library

TrustedSec LLM Library es una biblioteca de Python para interactuar con LLM locales que admiten el uso de herramientas. Permite ejecutar grandes flujos de trabajo tradicionalmente solo posibles con modelos de frontera, aprovechando los endpoints de LLM locales y la integración con MCP (Protocolo de Contexto de Modelo).

Características

  • Soporte para LLM locales: Conéctese a cualquier endpoint de API compatible con OpenAI o utilice servidores LLM locales
  • Integración MCP: Soporte completo del Protocolo de Contexto de Modelo para los protocolos RPC y SSE
  • Registro de herramientas: Herramientas integradas de operaciones de archivos con extensibilidad para herramientas personalizadas
  • Historial de conversación: Mantiene el contexto del chat a través de múltiples turnos
  • Límites de tiempo: Tiempos de espera de ejecución configurables para prevenir operaciones descontroladas
  • Python puro: Sin dependencias externas más allá de la biblioteca estándar

Instalación

Como Paquete de Python

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

# Install with pip
pip install -e .

Instalación Manual

Copie el directorio ts_llmlib/ a su proyecto:

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

Inicio 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'])

Con Configuración 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'])

Con Historial de Conversación

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)

Herramientas Integradas

HerramientaParámetrosDescripción
read_local_filepath: strLee el contenido de un archivo local
write_local_filepath: str, content: strEscribe contenido en un archivo local
list_directorypath: strLista archivos y directorios en una ruta

Integración MCP

MCP (Protocolo de Contexto de Modelo) permite la integración con herramientas y servicios externos. Cuando los servidores MCP están configurados, ts_llmlib:

  1. Inicializa conexiones con cada servidor
  2. Obtiene las herramientas disponibles del servidor
  3. Las combina con las herramientas integradas (las herramientas MCP tienen prioridad para nombres coincidentes)
  4. Ejecuta llamadas a herramientas utilizando el servidor apropiado

Ejemplo con el Servidor MCP de 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 del Servidor MCP

ts_llmlib admite endpoints de estilo RPC y SSE (Eventos Enviados por el Servidor):

  • RPC: http://localhost:3000/mcp
  • SSE: http://localhost:3000/sse (se convierte automáticamente a /mcp para llamadas RPC)

Referencia de la API

Clase 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. Utiliza un prompt de asistente mínimo por defecto.
  • tool_list (list | None): Lista de definiciones de herramientas personalizadas. Una lista vacía utiliza las herramientas integradas.
  • mcp_servers (dict[str, str] | None): Diccionario que asigna nombres de servidores a URLs.
  • llm_endpoint_url (str): URL del endpoint de la API del LLM.
  • model_name (str): Identificador del modelo para el endpoint del LLM.
  • timeout (int): Tiempo de espera de la solicitud HTTP en segundos.
  • max_runtime (int): Tiempo máximo de ejecución para un prompt en 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): El mensaje o pregunta del usuario.
  • conversation_history (list[dict] | None): Historial de conversación opcional como una lista de pares rol/contenido.
  • disable_tools (list[str] | None): Lista de nombres de herramientas a deshabilitar para esta llamada.
  • max_runtime (int | None): Sobrescribe el tiempo máximo de ejecución predeterminado para esta llamada 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 Herramientas

El ToolRegistry administra todas las herramientas disponibles para la sesión de chat:

  • Herramientas integradas: Operaciones de archivos (leer/escribir/listar)
  • Herramientas MCP: Herramientas obtenidas de los servidores MCP
  • Herramientas personalizadas: Herramientas definidas por el usuario mediante el parámetro tool_list

Ejemplos

Para sobrescribir las rutas predeterminadas, puede establecer las siguientes variables, que se verifican en 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álisis de Código Fuente C/C++

Analiza archivos de código fuente C/C++ en busca de vulnerabilidades de seguridad:

ts_llmlib-cpp-analyze <source_folder> <output_folder>

Análisis de Binarios con Ghidra

Análisis de binarios de ingeniería inversa con integración de 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>

Una vez finalizada la ejecución, si no está usando --rename_only, puede limpiar la estructura ejecutando:

ts_llmlib-ghidra-cleanup <input_folder> <output_folder>

Generación de Informes de Vulnerabilidades

Genere informes de vulnerabilidades formateados a partir de archivos de revisión JSON:

ts_llmlib-ghidra-report <review_folder>

Aplicación de Chat con GUI

Ejecute la interfaz de chat RedClippy basada en Qt (nota: este ejemplo requiere pyside6):

ts_llmlib-redclippy
Descargar herramienta