Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
honeyprompt — LLM-प्रथम धोखा ढांचा: "वह हनीपॉट जो बात करता है!™" | Kitploit
उपकरण/GitHubGitHub/alectrocute/honeyprompt
OSINT (खुला स्रोत खुफिया)कंटेनर सुरक्षावेब सुरक्षानेटवर्क सुरक्षाखतरा खुफियारेड टीमिंगघटना प्रतिक्रियाAI सुरक्षा
GitHubalectrocute/honeyprompt

honeyprompt

LLM-प्रथम धोखा ढांचा: "वह हनीपॉट जो बात करता है!™"

रिपॉजिटरी देखें
191323 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
वेबसाइट
# honeyprompt

![banner](https://assets.kitploit.com/production/public/readmes/7270/94f8cba95b806040c96c9a9661ad176bd065dfd801782a985158c732ba813f8d.png)

परिचय `honeyprompt`, एक LLM-प्रथम धोखा ढाँचा जो वेब डेवलपर्स द्वारा/के लिए बनाया गया है। [@alectrocute](https://github.com/alectrocute) का व्यक्तिगत जुनून प्रोजेक्ट।

सभी प्रमुख क्लाउड और स्थानीय LLM प्रदाताओं का समर्थन करता है। SSH, HTTP, TLS, TCP, telnet और अधिक। यह एक छोटे कंटेनर (और एक एकल स्थैतिक बाइनरी) के रूप में आता है और सभी नॉब एक `honeyprompt.yaml` में रखता है।

कोई प्लगइन संकलित करने की आवश्यकता नहीं, कोई डेटाबेस चलाने की आवश्यकता नहीं, आसानी से विस्तार योग्य और कम-अंत हार्डवेयर पर तैनात किया जा सकता है।

## डेमो इंस्टेंस

एक डेमो इंस्टेंस `172.233.151.216` पर उपलब्ध है, जिसमें बिना प्रमाणीकरण वाला वेब पैनल यहाँ है: <http://172.233.151.216:9090>। यह एक सस्ते Linode VPS पर चल रहा honeyprompt का एक सार्वजनिक इंस्टेंस है, जिसमें एकमात्र LLM प्रदाता/मॉडल के रूप में `openrouter/free` है।

## त्वरित प्रारंभ

2026 में सबसे आसान सेटअप के लिए, हम Docker और OpenRouter/`openrouter/free` को LLM प्रदाता के रूप में अनुशंसित करते हैं। सभी प्रमुख क्लाउड और स्थानीय LLM प्रदाता समर्थित हैं। तीन फ़ाइलें और एक कमांड पूर्ण डिफ़ॉल्ट तैनाती स्थापित करते हैं: सात LLM-समर्थित डिकॉय, टिकाऊ घटना संग्रहण और ऑपरेटर पैनल।

**1. डिफ़ॉल्ट कॉन्फ़िग, कंपोज़ फ़ाइल और env टेम्पलेट प्राप्त करें:**

```bash
# if you don't have Docker:
# curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh

mkdir honeypot && cd honeypot
wget https://raw.githubusercontent.com/alectrocute/honeyprompt/main/honeyprompt.yaml
wget https://raw.githubusercontent.com/alectrocute/honeyprompt/main/compose.yaml
wget -O .env https://raw.githubusercontent.com/alectrocute/honeyprompt/main/.env.example
```

(या रिपो खींचें और उसमें `cd` करें — वही तीन फ़ाइलें।)

**2. `.env` भरें।** दो मान आवश्यक हैं:

```dotenv
OPENROUTER_API_KEY=sk-or-...            # use a dedicated key with a spend limit
HONEYPROMPT_PANEL_PASSWORD=changeme     # basic-auth password for the panel
```

**3. इसे शुरू करें:**

```bash
docker compose up -d
```

**4. इसे परीक्षण करें:**

```bash
ssh -p 2222 root@localhost            # password: root — then type anything
curl http://localhost:2375/v1.54/containers/json   # "exposed" Docker API
```

**5. इसे होते हुए देखें** रीड-ओनली पैनल पर <http://127.0.0.1:9090> (अपने पैनल पासवर्ड के साथ `admin` के रूप में साइन इन करें)। हर कनेक्शन, क्रेडेंशियल और कमांड लाइव स्ट्रीम होता है। यदि आप किसी रिमोट होस्ट पर तैनात हैं, तो आपको [`compose.yaml`](https://github.com/alectrocute/honeyprompt/blob/main/compose.yaml) में `:9090` पोर्ट को एक्सपोज़ करना होगा। यह उत्पादन तैनाती के लिए अनुशंसित नहीं है।

> उत्पादन तैनाती के लिए `latest` के बजाय एक क्रमांकित रिलीज़ को पिन करें — `.env` में `HONEYPROMPT_IMAGE` सेट करें।

आपके द्वारा अभी डाउनलोड किया गया [`honeyprompt.yaml`](https://github.com/alectrocute/honeyprompt/blob/main/honeyprompt.yaml) पूरी तरह से व्याख्यायित शोकेस है। इसमें प्रोफाइल शामिल हैं:

- **एक सामान्य कॉर्पोरेट वेब सर्वर** — पोर्ट 80, सबसे बड़ा जाल; `/` तुरंत स्टॉक nginx वेलकम पेज परोसता है, और गहरे पथ LLM के पास जाते हैं पूर्ण HTML/CSS इंट्रानेट पेज, लॉगिन फॉर्म और एडमिन पैनल के लिए जो हमलावर को क्लिक करते रहने के लिए बनाए गए हैं।
- **MCP / एजेंट गेटवे** — स्ट्रीम करने योग्य HTTP डिस्कवरी, OAuth मेटाडेटा, JSON-RPC टूल कॉल और लुभावने उत्पादन उपकरण।
- **Docker Engine API 29.5** — अप्रमाणित पोर्ट 2375 सतह जिसका उपयोग वास्तविक क्लाउड वर्म्स द्वारा किया जाता है।
- **Kubernetes API v1.36** — नेमस्पेस, वर्कलोड, सीक्रेट, ConfigMap और RBAC डिस्कवरी।
- **Ubuntu 26.04 AI बिल्ड इंफ्रास्ट्रक्चर** — SSH, GPU वर्कलोड, Docker, kubeconfigs, CI स्थिति और प्रदाता क्रेडेंशियल्स।
- **Redis 8.8** — सामान्य RESP प्रोब जिनका उपयोग क्रेडेंशियल चोरी, स्थायित्व और पार्श्व गति के लिए किया जाता है।
- **औद्योगिक एज / OT** — एक जानबूझकर विरासत टेलनेट प्रबंधन प्लेन, क्योंकि आधुनिक रक्षा को अभी भी पुराने बुनियादी ढांचे के खिलाफ हमलों को पकड़ना है।

### LLM के बिना चलाना

> [!महत्वपूर्ण]
> भले ही आप LLM का उपयोग कर रहे हों, सबसे अधिक उपयोग किए जाने वाले पथ निर्धारित करें और उनके लिए स्थिर नियम जोड़ें। इससे आपको LLM टोकन की भारी मात्रा बचेगी और उन अनुरोधों के प्रति प्रतिक्रिया तेज होगी जो LLM कॉल की लागत के लायक नहीं हैं। यादृच्छिक उदाहरण: `whoami`, स्वास्थ्य जांच, favicon, संस्करण प्रोब आदि।

यह न्यूनतम `honeyprompt.yaml` दो स्थिर नियमों और बिना LLM के एक SSH बॉक्स का नकली बनाता है:

```yaml
panel:
  enabled: true
  address: "0.0.0.0:8080"

events:
  buffer: 2000
  file: /data/events.jsonl # durable attacker activity

services:
  - protocol: ssh
    address: "0.0.0.0:2222"
    description: "Ubuntu 26.04 LTS build runner"
    serverName: "gpu-runner-07"
    passwordRegex: "^(root|admin|123456)$" # which passwords "work"
    commands:
      - regex: "^whoami$"
        handler: "root"
      - regex: "^(.+)$"
        handler: "bash: command not found"
```

```bash
docker run --rm \
  -p 2222:2222 -p 8080:8080 \
  -v "$(pwd)/honeyprompt.yaml:/etc/honeyprompt/honeyprompt.yaml:ro" \
  -v honeyprompt-data:/data \
  alectrocute/honeyprompt:latest
```

## तैनाती

एक स्थायी तैनाती के लिए, शामिल [`compose.yaml`](https://github.com/alectrocute/honeyprompt/blob/main/compose.yaml) का उपयोग करें। [तैनाती गाइड](https://github.com/alectrocute/honeyprompt/blob/main/DEPLOYMENT.md) Docker Hub रिलीज़, आवश्यक GitHub रहस्य, पोर्ट और फायरवॉल सेटअप, SSH पर पैनल पहुंच, अपग्रेड, रोलबैक, घटना संग्रहण और अलगाव को कवर करता है।

## संक्षेप में LLM-प्रथम धोखा क्यों

एक हनीपॉट को केवल एक काम अच्छी तरह से करना होता है: इतना विश्वसनीय बने रहना कि हमलावर टाइप करता रहे। वे जो भी कमांड चलाते हैं वह खुफिया जानकारी है — वे उपकरण जिन तक वे पहुँचते हैं, वे क्रेडेंशियल जिनका वे पुन: उपयोग करते हैं, वे CVE जिन्हें वे मानते हैं कि आपने पैच नहीं किया है। स्थिर हनीपॉट उस समय चरित्र तोड़ देते हैं जब कोई ऐसा कमांड चलाता है जिसकी लेखक ने उम्मीद नहीं की थी। honeyprompt उस पल को LLM को सौंप देता है, ताकि शेल `dmesg | tail` या `cat /etc/shadow` का उत्तर उसी तरह दे जैसे एक वास्तविक शेल देता, और सत्र जारी रहता है।

Adel Karimi के उत्कृष्ट DEF CON 32 प्रस्तुति को देखें Galah पर, (पहला?) LLM हनीपॉट, जिसने इस प्रोजेक्ट को प्रेरित किया: <https://www.youtube.com/watch?v=XGsm4Qcc_Ag>

## क्या लॉग होता है: दो अलग-अलग धाराएँ

यह वह हिस्सा है जिसे पहले से समझना उचित है, क्योंकि दोनों को जानबूझकर अलग रखा गया है:

- धोखा घटनाएँ: प्रत्येक हमलावर इंटरैक्शन: कनेक्शन, प्रमाणीकरण प्रयास, प्रत्येक कमांड या अनुरोध, honeyprompt द्वारा भेजा गया प्रतिक्रिया, किस प्रदाता और मॉडल ने उत्तर दिया, और इसमें कितना समय लगा। यह आपकी खतरा खुफिया जानकारी है। इसे लाइव पैनल के लिए एक सीमित इन-मेमोरी बफर में रखा जाता है और आप इसे सभी को डिस्क पर स्थायी कर सकते हैं।
- परिचालन लॉग: स्टार्टअप, यह किन पोर्ट से बंधा, प्रदाता विफलताएँ, शटडाउन, आंतरिक त्रुटियाँ। यह वह है जो आप तब पढ़ते हैं जब _रनटाइम_ गलत व्यवहार करता है। इसका हमलावर गतिविधि से कोई लेना-देना नहीं है।

आप उन्हें अलग-अलग कॉन्फ़िगर करते हैं:

```yaml
# The honey: attacker activity.
events:
  buffer: 2000 # recent events kept in memory for the panel
  file: /data/events.jsonl # persist every event as JSON Lines

# The runtime's own diagnostics.
logging:
  level: info # debug | info | warn | error
  format: text # how it looks on the console: text (human) or json
  file: /data/honeyprompt.log # optional; on disk it's always JSON
```

`events.jsonl` प्रति पंक्ति एक स्व-निहित JSON ऑब्जेक्ट है — `tail -f` करने, SIEM को भेजने, या `jq` के साथ पुनः चलाने के लिए तैयार। ऊपर दिए गए Docker कमांड नामित वॉल्यूम `honeyprompt-data` को `/data` पर माउंट करते हैं, जिससे कंटेनर प्रतिस्थापन पर घटनाएँ बची रहती हैं। दोनों फ़ाइलों को जोड़ा जाता है और साफ शटडाउन पर फ्लश किया जाता है।

`format` केवल प्रभावित करता है कि परिचालन लॉग कंसोल पर कैसे प्रस्तुत किए जाते हैं; परिचालन लॉग _फ़ाइल_, जब सक्षम होती है, हमेशा संरचित JSON होती है ताकि इसे पार्स करना आसान हो।

## वेब पैनल

![screenshot](https://assets.kitploit.com/production/public/readmes/7270/f390e0bc029d2c1e050502fa4cc4a5bf6ad380efdcdf64f72ea6f2045bfec426.png)

एक वैकल्पिक, रीड-ओनली डैशबोर्ड घटित होते ही धोखा घटनाओं को स्ट्रीम करता है, उन्हें प्रोटोकॉल के अनुसार तोड़ता है, और एक क्लिक से सब कुछ JSON में निर्यात करता है:

```yaml
panel:
  enabled: true
  address: "0.0.0.0:8080"
  auth: # optional basic auth
    username: admin
    password: "${HONEYPROMPT_PANEL_PASSWORD}"
```

डैशबोर्ड सादा HTML, CSS और JavaScript ([`src/panel/assets`](https://github.com/alectrocute/honeyprompt/blob/main/src/panel/assets)) है जो बाइनरी में एम्बेडेड है। प्रमाणीकरण अक्षम करने के लिए `auth` अपरिभाषित छोड़ दें।

## प्रदाता

प्रत्येक प्रदाता अपने स्वयं के टाइमआउट, पुनर्प्रयास, दर सीमा और हेडर के साथ अपना स्वयं का मॉड्यूल है। कुंजियाँ वातावरण से आती हैं। बॉक्स से बाहर:

| प्रदाता               | प्रकार              | नोट्स                                         |
| ---------------------- | ------------------- | --------------------------------------------- |
| Ollama                 | `ollama`            | स्थानीय मॉडल; डिफ़ॉल्ट `localhost:11434`      |
| llama.cpp              | `llamacpp`          | स्थानीय `server` OpenAI एंडपॉइंट              |
| OpenAI                 | `openai`            | `OPENAI_API_KEY`                              |
| Azure OpenAI           | `azure`             | आवश्यकता `azure.deployment` + `azure.apiVersion` |
| OpenRouter             | `openrouter`        | `OPENROUTER_API_KEY`                          |
| Anthropic              | `anthropic`         | `ANTHROPIC_API_KEY`                           |
| Google Gemini          | `google`            | `GEMINI_API_KEY`                              |
| Anything OpenAI-shaped | `openai-compatible` | अपने गेटवे पर `baseUrl` इंगित करें            |

### लोड बैलेंसिंग और फेलओवर

प्रदाताओं को कॉन्फ़िगर करें, एक `pool.strategy` (`round-robin`, `weighted`, `random`, या `failover`) चुनें, और honeyprompt उनके बीच ट्रैफ़िक फैलाता है। यदि चुना गया प्रदाता टाइमआउट करता है या एक रीट्राइबल त्रुटि लौटाता है, honeyprompt पारदर्शी रूप से अगले पर गिर जाता है — एक मृत बैकएंड कभी भी हनीपॉट को ऑफ़लाइन नहीं ले जाता। गैर-रीट्राइबल त्रुटियाँ (जैसे खराब API कुंजी) कैस्केड को रोकती हैं ताकि आपको पता चले, चुपचाप कोटा खत्म करने के बजाय।

सेवाएँ वैश्विक पूल का उपयोग करती हैं जब तक कि वे अपना स्वयं का प्रदाता सबसेट नाम न दें:

```yaml
llm:
  enabled: true
  providers: [local-ollama] # one name: force this service to this provider
```

लोड बैलेंसिंग और फेलओवर बनाए रखने के लिए कई नाम सूचीबद्ध करें, लेकिन केवल उस सबसेट के भीतर:

```yaml
llm:
  enabled: true
  providers: [openai-primary, openrouter-backup]
```

### नामित पूल

जब कई सेवाओं को एक ही प्रदाता समूह साझा करना चाहिए — या किसी उपसमूह को वैश्विक के बजाय अपनी स्वयं की रणनीति की आवश्यकता है — तो एक **नामित पूल** परिभाषित करें। एक पूल का एक नाम, एक रणनीति और एक क्रमबद्ध प्रदाता सूची होती है, और एक सेवा इसे नाम से संदर्भित करती है जहाँ भी वह किसी प्रदाता का नाम लेगी:

```yaml
pools:
  - name: cheap-first
    strategy: failover # try the local model first, fall back to the paid API
    order: [local-ollama, openrouter]
  - name: spread
    strategy: round-robin
    order: [openrouter, openai]

services:
  - protocol: ssh
    # ...
    llm:
      enabled: true
      providers: [cheap-first] # a pool name, in place of a provider
  - protocol: http
    # ...
    llm:
      enabled: true
      providers: [spread]
```

एक पूल का नाम `providers` में एकमात्र प्रविष्टि होना चाहिए — एक सूची में एक पूल को व्यक्तिगत प्रदाताओं के साथ मिलाने की अनुमति नहीं है, क्योंकि यह अस्पष्ट होगा कि कौन सी रणनीति जीतती है। पूल नाम प्रदाता नामों के समान नाम स्थान में रहते हैं और उनसे टकरा नहीं सकते।

## हुक के साथ प्रतिक्रियाओं का विस्तार

जब "एक regex मिलान" या "मॉडल से पूछें" पर्याप्त नहीं है, तो हुक आपको अनुरोध और प्रतिक्रिया पथ में अपना स्वयं का TypeScript जोड़ने देते हैं। एक हुक मॉडल तक पहुँचने से पहले प्रॉम्प्ट को फिर से लिख सकता है, या हमलावर तक पहुँचने से पहले उत्तर को फिर से लिख सकता है।

```ts
import { registerHook } from "./src/engine/hooks.ts";

registerHook({
  name: "fake-latency-notice",
  transformResponse(response, ctx) {
    if (ctx.protocol === "ssh" && /rm -rf/.test(ctx.input)) {
      return "rm: cannot remove '/': Operation not permitted\n";
    }
    return response;
  },
});
```

किसी भी सेवा की `hooks:` सूची से इसे नाम से संदर्भित करें। उदाहरण कॉन्फ़िग में एक अंतर्निहित `redact-secrets` हुक सक्षम है ताकि मॉडल कभी भी वास्तविक क्रेडेंशियल को वापस प्रतिध्वनित न कर सके।

## मीट्रिक्स

Prometheus मीट्रिक्स पैनल पर `/metrics` पर प्रस्तुत किए जाते हैं (अप्रमाणित, इसलिए स्क्रैपर बस काम करते हैं):

```
honeyprompt_events_total{protocol="ssh"}                          412
honeyprompt_llm_requests_total{provider="openai",protocol="ssh"}  118
honeyprompt_auth_attempts_total{protocol="ssh"}                    87
honeyprompt_engine_errors_total{protocol="http"}                   0
```

## स्रोत से बनाएँ

योगदान देना या मूल बाइनरी चाहते हैं? आपको [Deno](https://deno.com) 2.x की आवश्यकता होगी — एकमात्र निर्भरता।

```bash
deno task check    # type-check
deno task lint
deno task fmt
deno task test     # unit + integration tests

deno task start -- --config honeyprompt.yaml    # run locally
deno task dev   -- --config honeyprompt.yaml    # run with file watching
deno task compile                                # -> ./dist/honeyprompt (self-contained binary)
```

`deno compile` रनटाइम, पैनल एसेट्स और सब कुछ एक निष्पादन योग्य में बेक करता है जिसमें कोई निर्भरता नहीं है। Linux, macOS और Windows के लिए प्रीबिल्ट बाइनरी हर टैग किए गए [रिलीज़](../../releases) से जुड़ी होती हैं।

CI प्रत्येक पुश पर फ़ॉर्मेटिंग, लिंट, टाइप-चेक, टेस्ट, कॉन्फ़िग सत्यापन, एक क्रॉस-प्लेटफ़ॉर्म `compile` और एक Docker बिल्ड चलाता है। `vX.Y.Z` टैग करने से रिलीज़ बाइनरी कट जाती है और प्रोवेनेंस- और SBOM-प्रमाणित मल्टी-आर्क इमेज को [`alectrocute/honeyprompt`](https://hub.docker.com/r/alectrocute/honeyprompt) पर प्रकाशित करता है।

## CLI

```
honeyprompt run [--config <path>]        start every configured service (default)
honeyprompt validate [--config <path>]   parse and validate config, then exit — great for CI
honeyprompt version
honeyprompt help
```

`--config` डिफ़ॉल्ट `./honeyprompt.yaml` है, या `$HONEYPROMPT_CONFIG` यदि सेट हो (कंटेनर इसे `/etc/honeyprompt/honeyprompt.yaml` पर सेट करता है)।

## उपयोगकर्ताओं और योगदानकर्ताओं के लिए चेतावनी का एक शब्द

यह उन बुनियादी ढांचे पर हमलावरों को लुभाने और अध्ययन करने का एक उपकरण है **जिसके आप मालिक हैं या जिसका परीक्षण करने के लिए अधिकृत हैं**। डिकॉय सेवाओं को उजागर करने का अर्थ अभी भी सेवाओं को उजागर करना है; इसे अलग-थलग होस्ट पर चलाएँ, इसे पैच रखें, और इसे किसी ऐसी चीज़ पर इंगित न करें जिसे आप जाँचे जाने का जोखिम नहीं उठा सकते। धोखा वास्तविक चीज़ को सुरक्षित करने का विकल्प नहीं है।

यदि आप इस प्रोजेक्ट में योगदान देना चाहते हैं और AI एजेंट का उपयोग करते हैं या जनरेटिव कोड पर भारी झुकाव रखते हैं, तो यह पूरी तरह से ठीक है—लेकिन आपसे _व्यक्तिगत रूप से_ आपके द्वारा प्रस्तुत कोड की हर एक पंक्ति पर प्रश्न पूछे जाएँगे और यदि आप तत्काल, AI-मुक्त समझ प्रदर्शित नहीं करते हैं, तो आपका _पूरा_ योगदान अस्वीकार और त्याग दिया जाएगा।

## लाइसेंस

[MIT](https://github.com/alectrocute/honeyprompt/blob/main/LICENSE)
टूल डाउनलोड करें