Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
TS_LLMLib | Kitploit
उपकरण/GitHubGitHub/trustedsec/ts_llmlib
स्थैतिक विश्लेषणभेद्यता विश्लेषणकोड विश्लेषणशोषणरिवर्स इंजीनियरिंगस्क्रिप्टिंग और स्वचालनउपयोगिताएँ और फ्रेमवर्कबाइनरी विश्लेषणमशीन लर्निंगAI सुरक्षा
GitHubtrustedsec/ts_llmlib

TS_LLMLib

12 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

ts_llmlib - TrustedSec LLM लाइब्रेरी

TrustedSec LLM लाइब्रेरी एक Python लाइब्रेरी है जो टूल उपयोग का समर्थन करने वाले स्थानीय LLM के साथ इंटरैक्ट करने के लिए है। यह स्थानीय LLM एंडपॉइंट और MCP (Model Context Protocol) एकीकरण का लाभ उठाकर बड़े वर्कफ़्लो चलाने में सक्षम बनाती है जो परंपरागत रूप से केवल फ्रंटियर मॉडल के साथ संभव थे।

विशेषताएँ

  • स्थानीय LLM समर्थन: किसी भी OpenAI-संगत API एंडपॉइंट से कनेक्ट करें या स्थानीय LLM सर्वर का उपयोग करें
  • MCP एकीकरण: RPC और SSE दोनों प्रोटोकॉल के लिए पूर्ण Model Context Protocol समर्थन
  • टूल रजिस्ट्री: कस्टम टूल के लिए विस्तार क्षमता के साथ अंतर्निहित फ़ाइल संचालन टूल
  • वार्तालाप इतिहास: कई टर्न में चैट संदर्भ बनाए रखें
  • समय सीमाएँ: अनियंत्रित संचालन को रोकने के लिए कॉन्फ़िगर करने योग्य निष्पादन टाइमआउट
  • शुद्ध Python: मानक लाइब्रेरी के अलावा कोई बाहरी निर्भरता नहीं

स्थापना

Python पैकेज के रूप में

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

# Install with pip
pip install -e .

मैन्युअल स्थापना

ts_llmlib/ निर्देशिका को अपने प्रोजेक्ट में कॉपी करें:

root@kitploit:~
cp -rf ts_llmlib /path/to/your/project/

त्वरित आरंभ

मूल उपयोग

root@kitploit:~
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'])

कस्टम कॉन्फ़िगरेशन के साथ

root@kitploit:~
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'])

वार्तालाप इतिहास के साथ

root@kitploit:~
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)

अंतर्निहित टूल

MCP एकीकरण

MCP (Model Context Protocol) बाहरी टूल और सेवाओं के साथ एकीकरण सक्षम करता है। जब MCP सर्वर कॉन्फ़िगर किए जाते हैं, तो ts_llmlib:

  1. प्रत्येक सर्वर से कनेक्शन आरंभ करेगा
  2. सर्वर से उपलब्ध टूल प्राप्त करेगा
  3. उन्हें अंतर्निहित टूल के साथ मर्ज करेगा (मेल खाते नामों के लिए MCP टूल को प्राथमिकता मिलती है)
  4. उपयुक्त सर्वर का उपयोग करके टूल कॉल निष्पादित करेगा

Ghidra MCP सर्वर के साथ उदाहरण

root@kitploit:~
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.

MCP सर्वर एंडपॉइंट

ts_llmlib RPC-शैली और SSE (Server-Sent Events) दोनों एंडपॉइंट का समर्थन करता है:

  • RPC: http://localhost:3000/mcp
  • SSE: http://localhost:3000/sse (RPC कॉल के लिए स्वचालित रूप से /mcp में परिवर्तित होता है)

API संदर्भ

ChatSession क्लास

root@kitploit:~
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
)

पैरामीटर:

  • system_prompt (str | None): कस्टम सिस्टम प्रॉम्प्ट। डिफ़ॉल्ट एक न्यूनतम सहायक प्रॉम्प्ट है।
  • tool_list (list | None): कस्टम टूल परिभाषाओं की सूची। खाली सूची अंतर्निहित टूल का उपयोग करती है।
  • mcp_servers (dict[str, str] | None): सर्वर नामों को URL से मैप करने वाली डिक्शनरी।
  • llm_endpoint_url (str): LLM API एंडपॉइंट का URL।
  • model_name (str): LLM एंडपॉइंट के लिए मॉडल पहचानकर्ता।
  • timeout (int): HTTP अनुरोध टाइमआउट सेकंड में।
  • max_runtime (int): प्रॉम्प्ट के लिए अधिकतम निष्पादन समय सेकंड में।

run_prompt विधि

root@kitploit:~
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

पैरामीटर:

  • user_prompt (str): उपयोगकर्ता का संदेश या प्रश्न।
  • conversation_history (list[dict] | None): वैकल्पिक वार्तालाप इतिहास role/content जोड़ियों की सूची के रूप में।
  • disable_tools (list[str] | None): इस कॉल के लिए अक्षम किए जाने वाले टूल नामों की सूची।
  • max_runtime (int | None): इस विशेष कॉल के लिए डिफ़ॉल्ट अधिकतम रनटाइम ओवरराइड करें।

रिटर्न:

root@kitploit:~
{
    "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
}

टूल रजिस्ट्री

ToolRegistry चैट सत्र के लिए उपलब्ध सभी टूल प्रबंधित करता है:

  • अंतर्निहित टूल: फ़ाइल संचालन (पढ़ना/लिखना/सूची बनाना)
  • MCP टूल: MCP सर्वर से प्राप्त टूल
  • कस्टम टूल: tool_list पैरामीटर के माध्यम से उपयोगकर्ता-परिभाषित टूल

उदाहरण

डिफ़ॉल्ट पथों को ओवरराइड करने के लिए आप निम्नलिखित वेरिएबल सेट कर सकते हैं, इन्हें ChatSession में जाँचा जाता है।

root@kitploit:~
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

C/C++ सोर्स कोड विश्लेषण

सुरक्षा भेद्यताओं के लिए C/C++ सोर्स फ़ाइलों का विश्लेषण करता है:

root@kitploit:~
ts_llmlib-cpp-analyze <source_folder> <output_folder>

Ghidra बाइनरी विश्लेषण

Ghidra एकीकरण के साथ रिवर्स इंजीनियरिंग बाइनरी विश्लेषण:

root@kitploit:~
# 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>

यदि --rename_only नहीं कर रहे हैं तो चलाने के बाद आप संरचना को साफ कर सकते हैं:

root@kitploit:~
ts_llmlib-ghidra-cleanup <input_folder> <output_folder>

भेद्यता रिपोर्ट निर्माण

JSON समीक्षा फ़ाइलों से स्वरूपित भेद्यता रिपोर्ट उत्पन्न करें:

root@kitploit:~
ts_llmlib-ghidra-report <review_folder>

GUI चैट अनुप्रयोग

RedClippy Qt-आधारित चैट इंटरफ़ेस चलाएं (ध्यान दें: इस उदाहरण के लिए pyside6 आवश्यक है):

root@kitploit:~
ts_llmlib-redclippy

कॉन्फ़िगरेशन विकल्प

LLM एंडपॉइंट कॉन्फ़िगरेशन

ts_llmlib किसी भी OpenAI-संगत API एंडपॉइंट से कनेक्ट होता है। सामान्य स्थानीय LLM सर्वर:

सर्वरडिफ़ॉल्ट URL
Ollamahttp://localhost:11434/v1/chat/completions
LM Studiohttp://localhost:1234/v1/chat/completions
vLLMhttp://localhost:8000/v1/chat/completions

समय सीमाएँ

दो टाइमआउट सेटिंग्स निष्पादन को नियंत्रित करती हैं:

  • HTTP टाइमआउट (timeout): एकल API अनुरोध के लिए अधिकतम समय
  • अधिकतम रनटाइम (max_runtime): प्रॉम्प्ट प्रोसेसिंग के लिए अनुमत कुल वास्तविक समय (टूल कॉल सहित)

यदि कोई भी सीमा पार हो जाती है, तो प्रतिक्रिया में एक त्रुटि संदेश होगा।

त्रुटि प्रबंधन

सभी त्रुटियाँ प्रतिक्रिया डिक्शनरी में लौटाई जाती हैं:

root@kitploit:~
response = chat.run_prompt("Some prompt")

if response.get('error'):
    print(f"Error: {response['error']}")
else:
    print(response['content'])

सामान्य त्रुटियाँ

  • HTTP त्रुटियाँ: कनेक्शन अस्वीकृत, टाइमआउट, अमान्य API कुंजी
  • JSON पार्स त्रुटियाँ: अमान्य टूल तर्क या विकृत प्रतिक्रियाएँ
  • टूल निष्पादन त्रुटियाँ: गुम फ़ाइलें, अनुमति समस्याएँ, अमान्य पैरामीटर
  • टाइमआउट त्रुटियाँ: संचालन ने max_runtime सीमा पार कर दी

प्रोजेक्ट संरचना

root@kitploit:~
ts_llmlib/
├── __init__.py          # Package initialization, exports ChatSession
├── client.py            # LLMClient for HTTP requests to LLM endpoints
├── chat.py              # ChatSession class (main API)
├── mcp.py               # MCPClient for Model Context Protocol integration
├── tools.py             # ToolRegistry for tool management
├── HOW_TO_TS_LLMLIB.md  # Original documentation
└── examples/            # Example scripts
    ├── c_cpp_analyze.py     # C/C++ vulnerability analysis script
    ├── redclippy.py         # Qt-based GUI chat application
    ├── ghidra_analyze.py    # Ghidra binary analysis with MCP integration
    ├── ghidra_vuln_report.py  # Vulnerability report generator
    ├── ghidra_cleanup.py    # Output file reorganization utility
    └── example_ts_llmlib.py # Example script demonstrating library usage

pyproject.toml         # Modern Python package configuration (scripts defined here)
LICENSE.txt            # BSD-3-Clause License
README.md              # This file

लाइसेंस

BSD-3-Clause लाइसेंस - विवरण के लिए LICENSE.txt फ़ाइल देखें।

योगदान

योगदान का स्वागत है! कृपया बेझिझक Pull Request सबमिट करें।

  1. रिपॉजिटरी को फोर्क करें
  2. अपनी फ़ीचर ब्रांच बनाएं (git checkout -b feature/AmazingFeature)
  3. अपने परिवर्तन कमिट करें (git commit -m 'Add some AmazingFeature')
  4. ब्रांच पर पुश करें (git push origin feature/AmazingFeature)
  5. एक Pull Request खोलें
टूल डाउनलोड करें
टूलपैरामीटरविवरण
read_local_filepath: strस्थानीय फ़ाइल से सामग्री पढ़ें
write_local_filepath: str, content: strस्थानीय फ़ाइल में सामग्री लिखें
list_directorypath: strकिसी पथ में फ़ाइलों और निर्देशिकाओं की सूची बनाएं