Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
TS_LLMLib — Bibliothèque Python pour l'analyse de sécurité locale assistée par LLM avec analyse binaire Ghidra, scan de vulnérabilités C/C++ et intégration d'outils MCP pour la rétro-ingénierie automatisée et la génération de rapports. | Kitploit
Outils/GitHubGitHub/trustedsec/ts_llmlib
Analyse StatiqueAnalyse des VulnérabilitésAnalyse de CodeExploitationRétro-ingénierieScripting et AutomatisationUtilitaires et FrameworksAnalyse de BinairesApprentissage AutomatiqueSécurité de l'IA
GitHub
133il y a 4 moisPas encore vérifié
trustedsec/ts_llmlib

TS_LLMLib

Bibliothèque Python pour l'analyse de sécurité locale assistée par LLM avec analyse binaire Ghidra, scan de vulnérabilités C/C++ et intégration d'outils MCP pour la rétro-ingénierie automatisée et la génération de rapports.

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

ts_llmlib - Bibliothèque LLM de TrustedSec

La bibliothèque LLM de TrustedSec est une bibliothèque Python permettant d'interagir avec des LLM locaux prenant en charge l'utilisation d'outils. Elle permet d'exécuter de grands workflows traditionnellement possibles uniquement avec des modèles de pointe en exploitant des points de terminaison LLM locaux et l'intégration MCP (Model Context Protocol).

Fonctionnalités

  • Support LLM local : Connectez-vous à tout point de terminaison d'API compatible OpenAI ou utilisez des serveurs LLM locaux.
  • Intégration MCP : Prise en charge complète du Model Context Protocol pour les protocoles RPC et SSE.
  • Registre d'outils : Outils de gestion de fichiers intégrés avec possibilité d'extension pour des outils personnalisés.
  • Historique des conversations : Maintien du contexte de chat sur plusieurs tours.
  • Limites de temps : Délais d'exécution configurables pour éviter les opérations incontrôlées.
  • Python pur : Aucune dépendance externe en dehors de la bibliothèque standard.

Installation

En tant que package Python

# Clonez ou copiez le dépôt
git clone https://github.com/trustedsec/ts_llmlib.git
cd ts_llmlib

# Installez avec pip
pip install -e .

Installation manuelle

Copiez le répertoire ts_llmlib/ dans votre projet :

cp -rf ts_llmlib /chemin/vers/votre/projet/

Démarrage rapide

Utilisation de base

from ts_llmlib import ChatSession

# Initialisation avec les valeurs par défaut (se connecte à http://localhost:1234/v1/chat/completions)
chat = ChatSession()

# Exécuter une requête
response = chat.run_prompt("Quels fichiers se trouvent dans le répertoire actuel ?")
print(response['content'])

Avec configuration personnalisée

from ts_llmlib import ChatSession

# Configuration avec des paramètres personnalisés
chat = ChatSession(
    system_prompt="Vous êtes un assistant utile qui utilise des outils de fichiers.",
    tool_list=[],  # Vide = utilise les outils de fichiers par défaut
    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("Écris 'hello' dans /tmp/greeting.txt")
print(response['content'])

Avec historique des conversations

from ts_llmlib import ChatSession

chat = ChatSession()

history = [
    {"role": "user", "content": "Combien font 2+2 ?"},
    {"role": "assistant", "content": "La réponse est 4."}
]

response = chat.run_prompt("Peux-tu écrire cela dans un fichier ?", history=history)

Outils intégrés

OutilParamètresDescription
read_local_filepath: strLit le contenu d'un fichier local
write_local_filepath: str, content: strÉcrit du contenu dans un fichier local
list_directorypath: strListe les fichiers et répertoires dans un chemin

Intégration MCP

MCP (Model Context Protocol) permet l'intégration avec des outils et services externes. Lorsque des serveurs MCP sont configurés, ts_llmlib :

  1. Initialise les connexions à chaque serveur
  2. Récupère les outils disponibles depuis le serveur
  3. Les fusionne avec les outils intégrés (les outils MCP prennent le pas pour les noms correspondants)
  4. Exécute les appels d'outils en utilisant le serveur approprié

Exemple avec le serveur Ghidra MCP

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

# La session de chat récupérera et intégrera automatiquement les outils Ghidra
# comme list_methods, decompile_function, get_xrefs_to, etc.

Points de terminaison des serveurs MCP

ts_llmlib prend en charge les points de terminaison de style RPC et SSE (Server-Sent Events) :

  • RPC : http://localhost:3000/mcp
  • SSE : http://localhost:3000/sse (converti automatiquement en /mcp pour les appels RPC)

Référence 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
)

Paramètres :

  • system_prompt (str | None) : Prompt système personnalisé. Par défaut, un prompt d'assistant minimal.
  • tool_list (list | None) : Liste de définitions d'outils personnalisés. Une liste vide utilise les outils intégrés.
  • mcp_servers (dict[str, str] | None) : Dictionnaire associant les noms de serveurs à leurs URL.
  • llm_endpoint_url (str) : URL du point de terminaison de l'API LLM.
  • model_name (str) : Identifiant du modèle pour le point de terminaison LLM.
  • timeout (int) : Délai d'expiration de la requête HTTP en secondes.
  • max_runtime (int) : Temps d'exécution maximal pour une requête en secondes.

Méthode 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

Paramètres :

  • user_prompt (str) : Le message ou la question de l'utilisateur.
  • conversation_history (list[dict] | None) : Historique de conversation optionnel sous forme de liste de paires rôle/contenu.
  • disable_tools (list[str] | None) : Liste des noms d'outils à désactiver pour cet appel.
  • max_runtime (int | None) : Remplace la durée d'exécution maximale par défaut pour cet appel spécifique.

Retourne :

{
    "content": str,           # Texte de réponse du LLM
    "tool_calls": list,       # Liste des appels d'outils effectués (le cas échéant)
    "usage": dict | None,     # Utilisation des tokens si disponible depuis le LLM
    "error": str | None       # Message d'erreur en cas d'échec
}

Registre d'outils

Le ToolRegistry gère tous les outils disponibles pour la session de chat :

  • Outils intégrés : Opérations sur fichiers (lecture/écriture/listage)
  • Outils MCP : Outils récupérés depuis les serveurs MCP
  • Outils personnalisés : Outils définis par l'utilisateur via le paramètre tool_list

Exemples

Pour remplacer les chemins par défaut, vous pouvez définir les variables suivantes, qui sont vérifiées dans ChatSession.

TS_LLM_MODEL=qwen3-coder-next TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions
# Exemple d'utilisation
export TS_LLM_MODEL=qwen3-coder-next
export TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions
ts_llmlib-redclippy
# OU
TS_LLM_MODEL=qwen3-coder-next TS_LLM_ENDPOINT=http://HOSTNAME:1234/v1/chat/completions ts_llmlib-redclippy

Analyse de code source C/C++

Analyse les fichiers sources C/C++ pour détecter les vulnérabilités de sécurité :

ts_llmlib-cpp-analyze <dossier_source> <dossier_sortie>

Analyse binaire Ghidra

Analyse de rétro-ingénierie binaire avec intégration Ghidra :

# Analyse de base
ts_llmlib-ghidra-analyze <dossier_sortie>

# Mode uniquement renommage (première passe)
ts_llmlib-ghidra-analyze --rename_only <dossier_sortie>

# Traiter uniquement les fonctions précédemment sans nom
ts_llmlib-ghidra-analyze --process_unnamed_only <dossier_sortie>

# Analyse groupée pour le regroupement par relations d'appel
ts_llmlib-ghidra-analyze --grouped <dossier_sortie>

Une fois terminé (sans --rename_only), vous pouvez nettoyer la structure en exécutant :

ts_llmlib-ghidra-cleanup <dossier_entree> <dossier_sortie>

Génération de rapport de vulnérabilités

Générer des rapports de vulnérabilités formatés à partir de fichiers JSON de revue :

ts_llmlib-ghidra-report <dossier_revue>
Télécharger l’outil