Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
TS_LLMLib — Python-Bibliothek für lokale, LLM-gestützte Sicherheitsanalyse mit Ghidra-Binäranalyse, C/C++-Schwachstellenscanning und MCP-Tool-Integration für automatisierte Reverse Engineering und Berichtserstellung. | Kitploit
Tools/GitHubGitHub/trustedsec/ts_llmlib
Statische AnalyseSchwachstellenanalyseCode-AnalyseExploitationReverse EngineeringScripting & AutomatisierungDienstprogramme & FrameworksBinäranalyseMaschinelles LernenKI-Sicherheit
GitHub
119vor 4 MonatenNoch nicht geprüft
trustedsec/ts_llmlib

TS_LLMLib

Python-Bibliothek für lokale, LLM-gestützte Sicherheitsanalyse mit Ghidra-Binäranalyse, C/C++-Schwachstellenscanning und MCP-Tool-Integration für automatisierte Reverse Engineering und Berichtserstellung.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ts_llmlib - TrustedSec LLM Library

TrustedSec LLM Library ist eine Python-Bibliothek für die Interaktion mit lokalen LLMs, die Tool-Nutzung unterstützen. Sie ermöglicht die Ausführung großer Workflows, die traditionell nur mit Frontier-Modellen möglich waren, indem sie lokale LLM-Endpunkte und die Integration von MCP (Model Context Protocol) nutzt.

Funktionen

  • Unterstützung lokaler LLMs: Verbindung zu jedem OpenAI-kompatiblen API-Endpunkt oder Nutzung lokaler LLM-Server
  • MCP-Integration: Vollständige Model-Context-Protocol-Unterstützung sowohl für RPC- als auch für SSE-Protokolle
  • Tool-Registry: Integrierte Tools für Dateioperationen mit Erweiterbarkeit für benutzerdefinierte Tools
  • Gesprächsverlauf: Chat-Kontext über mehrere Runden hinweg beibehalten
  • Zeitlimits: Konfigurierbare Ausführungs-Timeouts, um unkontrollierte Operationen zu verhindern
  • Reines Python: Keine externen Abhängigkeiten über die Standardbibliothek hinaus

Installation

Als Python-Paket

# Repository klonen oder kopieren
git clone https://github.com/trustedsec/ts_llmlib.git
cd ts_llmlib

# Mit pip installieren
pip install -e .

Manuelle Installation

Kopieren Sie das Verzeichnis ts_llmlib/ in Ihr Projekt:

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

Schnellstart

Grundlegende Verwendung

from ts_llmlib import ChatSession

# Mit Standardwerten initialisieren (verbindet sich mit http://localhost:1234/v1/chat/completions)
chat = ChatSession()

# Einen Prompt ausführen
response = chat.run_prompt("What files are in the current directory?")
print(response['content'])

Mit benutzerdefinierter Konfiguration

from ts_llmlib import ChatSession

# Mit benutzerdefinierten Einstellungen konfigurieren
chat = ChatSession(
    system_prompt="You are a helpful assistant that uses file tools.",
    tool_list=[],  # Leer = Standard-Datei-Tools verwenden
    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'])

Mit Gesprächsverlauf

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)

Integrierte Tools

ToolParameterBeschreibung
read_local_filepath: strInhalte aus einer lokalen Datei lesen
write_local_filepath: str, content: strInhalte in eine lokale Datei schreiben
list_directorypath: strDateien und Verzeichnisse in einem Pfad auflisten

MCP-Integration

MCP (Model Context Protocol) ermöglicht die Integration externer Tools und Dienste. Wenn MCP-Server konfiguriert sind, wird ts_llmlib:

  1. Verbindungen zu jedem Server initialisieren
  2. Verfügbare Tools vom Server abrufen
  3. Sie mit den integrierten Tools zusammenführen (MCP-Tools haben bei übereinstimmenden Namen Vorrang)
  4. Tool-Aufrufe über den entsprechenden Server ausführen

Beispiel mit Ghidra-MCP-Server

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"
)

# Die Chat-Sitzung ruft automatisch Ghidra-Tools ab und integriert sie,
# z. B. list_methods, decompile_function, get_xrefs_to usw.

MCP-Server-Endpunkte

ts_llmlib unterstützt sowohl RPC- als auch SSE-Endpunkte (Server-Sent Events):

  • RPC: http://localhost:3000/mcp
  • SSE: http://localhost:3000/sse (wird für RPC-Aufrufe automatisch zu /mcp konvertiert)

API-Referenz

ChatSession-Klasse

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
)

Parameter:

  • system_prompt (str | None): Benutzerdefinierter System-Prompt. Standardmäßig wird ein minimaler Assistant-Prompt verwendet.
  • tool_list (list | None): Liste benutzerdefinierter Tool-Definitionen. Eine leere Liste verwendet die integrierten Tools.
  • mcp_servers (dict[str, str] | None): Dict, das Servernamen auf URLs abbildet.
  • llm_endpoint_url (str): URL des LLM-API-Endpunkts.
  • model_name (str): Modellbezeichner für den LLM-Endpunkt.
  • timeout (int): HTTP-Request-Timeout in Sekunden.
  • max_runtime (int): Maximale Ausführungszeit für einen Prompt in Sekunden.

run_prompt-Methode

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

Parameter:

  • user_prompt (str): Die Nachricht oder Frage des Benutzers.
  • conversation_history (list[dict] | None): Optionaler Gesprächsverlauf als Liste von Rollen-/Inhalts-Paaren.
  • disable_tools (list[str] | None): Liste von Tool-Namen, die für diesen Aufruf deaktiviert werden sollen.
  • max_runtime (int | None): Überschreibt die standardmäßige maximale Laufzeit für diesen spezifischen Aufruf.

Rückgabewert:

{
    "content": str,           # LLM-Antworttext
    "tool_calls": list,       # Liste der ausgeführten Tool-Aufrufe (falls vorhanden)
    "usage": dict | None,     # Token-Nutzung, sofern vom LLM verfügbar
    "error": str | None       # Fehlermeldung, falls ein Fehler aufgetreten ist
}

Tool-Registry

Die ToolRegistry verwaltet alle Tools, die der Chat-Sitzung zur Verfügung stehen:

  • Integrierte Tools: Dateioperationen (lesen/schreiben/auflisten)
  • MCP-Tools: Von MCP-Servern abgerufene Tools
  • Benutzerdefinierte Tools: Über den Parameter tool_list definierte Tools

Beispiele

Um die Standardpfade zu überschreiben, können Sie die folgenden Variablen setzen. Diese werden in ChatSession geprüft.

TS_LLM_MODEL=qwen3-coder-next TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions
# Beispielverwendung
export TS_LLM_MODEL=qwen3-coder-next
export TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions
ts_llmlib-redclippy
# ODER
TS_LLM_MODEL=qwen3-coder-next TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions ts_llmlib-redclippy

C/C++-Quellcode-Analyse

Analysiert C/C++-Quelldateien auf Sicherheitslücken:

ts_llmlib-cpp-analyze <source_folder> <output_folder>

Ghidra-Binäranalyse

Reverse-Engineering-Binäranalyse mit Ghidra-Integration:

# Grundlegende Analyse
ts_llmlib-ghidra-analyze <output_folder>

# Nur-Umbenennen-Modus (erster Durchlauf)
ts_llmlib-ghidra-analyze --rename_only <output_folder>

# Nur zuvor unbenannte Funktionen verarbeiten
ts_llmlib-ghidra-analyze --process_unnamed_only <output_folder>

# Gruppierte Analyse zur Gruppierung von Aufrufbeziehungen
ts_llmlib-ghidra-analyze --grouped <output_folder>

Wenn der Lauf abgeschlossen ist und Sie nicht --rename_only verwendet haben, können Sie die Struktur bereinigen, indem Sie Folgendes ausführen:

ts_llmlib-ghidra-cleanup <input_folder> <output_folder>

Generierung von Schwachstellenberichten

Erzeugt formatierte Schwachstellenberichte aus JSON-Review-Dateien:

ts_llmlib-ghidra-report <review_folder>

GUI-Chat-Anwendung

Starten Sie die auf Qt basierende Chat-Oberfläche RedClippy (Hinweis: Dieses Beispiel erfordert pyside6):

ts_llmlib-redclippy

Konfigurationsoptionen

LLM-Endpunkt-Konfiguration

Tool herunterladen