अपडेट पर वापस जाएँ
New releaseSep 4, 2026

augustus v0.14.24

LLM सुरक्षा परीक्षण ढांचा जो prompt injection, jailbreaks, और adversarial attacks का पता लगाने के लिए है — 190+ probes, 28 providers, एकल Go binary

साझा करें

Augustus - LLM भेद्यता स्कैनर प्रॉम्प्ट इंजेक्शन, जेलब्रेक और प्रतिकूल हमले परीक्षण के लिए

Augustus - LLM भेद्यता स्कैनर

बड़े भाषा मॉडलों का परीक्षण 210+ प्रतिकूल हमलों के विरुद्ध करें, जिनमें प्रॉम्प्ट इंजेक्शन, जेलब्रेक, एन्कोडिंग शोषण और डेटा निष्कर्षण शामिल हैं।

CI Go Version License Go Report Card GitHub Release

Augustus सुरक्षा पेशेवरों के लिए एक Go-आधारित LLM भेद्यता स्कैनर है। यह बड़े भाषा मॉडलों का व्यापक प्रतिकूल हमलों के विरुद्ध परीक्षण करता है, 28 LLM प्रदाताओं के साथ एकीकृत होता है, और कार्रवाई योग्य भेद्यता रिपोर्ट तैयार करता है।

अनुसंधान-उन्मुख उपकरणों के विपरीत, Augustus उत्पादन सुरक्षा परीक्षण के लिए बनाया गया है — समवर्ती स्कैनिंग, दर सीमा, पुनः प्रयास तर्क और टाइमआउट हैंडलिंग बॉक्स से बाहर उपलब्ध हैं।

विषय-सूची

Augustus क्यों

विशेषताAugustusgarakpromptfoo
भाषाGoPythonTypeScript
एकल बाइनरीहाँनहींनहीं
समवर्ती स्कैनिंगGoroutine पूलमल्टीप्रोसेसिंग पूलहाँ
LLM प्रदाता2835+80+
प्रोब प्रकार210+160+119 प्लगइन + 36 रणनीतियाँ
एंटरप्राइज़ फोकसहाँअनुसंधानहाँ

विशेषताएँ

विशेषताविवरण
210+ भेद्यता प्रोब47 हमला श्रेणियाँ: जेलब्रेक, प्रॉम्प्ट इंजेक्शन, प्रतिकूल उदाहरण, डेटा निष्कर्षण, सुरक्षा बेंचमार्क, एजेंट हमले, और अधिक
28 LLM प्रदाताOpenAI, Anthropic, Azure, Bedrock, Vertex AI, Ollama, और 43 जनरेटर वेरिएंट के साथ 22 और
90+ डिटेक्टरपैटर्न मिलान, LLM-एज़-जज, HarmJudge (arXiv:2511.15304), Perspective API, असुरक्षित सामग्री पहचान
7 बफ़ ट्रांसफ़ॉर्मेशनएन्कोडिंग, पैराफ्रेज़, कविता (5 प्रारूप, 3 रणनीतियाँ), कम-संसाधन भाषा अनुवाद, केस ट्रांसफ़ॉर्मेशन
लचीला आउटपुटतालिका, JSON, JSONL, और HTML रिपोर्ट प्रारूप
उत्पादन के लिए तैयारसमवर्ती स्कैनिंग, दर सीमा, पुनः प्रयास तर्क, टाइमआउट हैंडलिंग
एकल बाइनरीGo-आधारित उपकरण एक पोर्टेबल निष्पादन योग्य में संकलित होता है
विस्तार योग्यGo init() फ़ंक्शन के माध्यम से प्लगइन-शैली पंजीकरण

हमला श्रेणियाँ

  • जेलब्रेक हमले: DAN, DAN 11.0, AIM, AntiGPT, Grandma, ArtPrompts
  • प्रॉम्प्ट इंजेक्शन: एन्कोडिंग (Base64, ROT13, Morse), टैग तस्करी, FlipAttack, उपसर्ग/प्रत्यय इंजेक्शन
  • प्रतिकूल उदाहरण: GCG, PAIR, AutoDAN, TAP (हमला प्रॉम्प्ट का वृक्ष), TreeSearch, DRA
  • बहु-टर्न हमले: Crescendo (क्रमिक वृद्धि), GOAT (अनुकूली तकनीक स्विचिंग)
  • डेटा निष्कर्षण: API कुंजी रिसाव, पैकेज भ्रम, PII निष्कर्षण, LeakReplay
  • संदर्भ हेरफेर: RAG विषाक्तता, संदर्भ अतिप्रवाह, मल्टीमॉडल हमले, निरंतरता, विचलन
  • प्रारूप शोषण: Markdown इंजेक्शन, YAML/JSON पार्सिंग हमले, ANSI एस्केप, वेब इंजेक्शन (XSS)
  • चोरी तकनीकें: अस्पष्टता, वर्ण प्रतिस्थापन, अनुवाद-आधारित हमले, वाक्यांशीकरण, ObscurePrompt
  • सुरक्षा बेंचमार्क: DoNotAnswer, RealToxicityPrompts, Snowball, LMRC
  • एजेंट हमले: बहु-एजेंट हेरफेर, ब्राउज़िंग शोषण
  • सुरक्षा परीक्षण: गार्डरेल बायपास, AV/स्पैम स्कैनिंग, शोषण (SQLi, कोड निष्पादन), BadChars

चेतावनी: lmrc प्रोब अपने जेलब्रेक परीक्षण के भाग के रूप में अपशब्द और आपत्तिजनक भाषा का उपयोग करता है। केवल अधिकृत परीक्षण वातावरण में उपयोग करें।

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

स्थापना

Go 1.27.0 या बाद के संस्करण की आवश्यकता है।```bash go install github.com/praetorian-inc/augustus/cmd/augustus@latest

या स्रोत से बनाएँ:```bash
git clone https://github.com/praetorian-inc/augustus.git
cd augustus
make build

मूल उपयोग```bash

export OPENAI_API_KEY="your-api-key" augustus scan openai.OpenAI
--probe dan.Dan_11_0
--detector dan.DAN
--verbose

### उदाहरण आउटपुट```
+--------------+-------------+--------+-------+--------+
| PROBE        | DETECTOR    | PASSED | SCORE | STATUS |
+--------------+-------------+--------+-------+--------+
| dan.Dan_11_0 | dan.DAN     | false  | 0.85  | VULN   |
| dan.STAN     | dan.STAN    | true   | 0.10  | SAFE   |
| dan.AntiDAN  | dan.AntiDAN | true   | 0.05  | SAFE   |
+--------------+-------------+--------+-------+--------+

उपलब्ध क्षमताओं की सूची बनाएं```bash

List all registered probes, detectors, generators, harnesses, and buffs

augustus list

## समर्थित प्रदाता

Augustus में 43 जनरेटर वेरिएंट के साथ 28 LLM प्रदाता श्रेणियाँ शामिल हैं:

| प्रदाता           | जनरेटर नाम         | नोट्स                          |
|--------------------|---------------------------|--------------------------------|
| OpenAI             | `openai.OpenAI`, `openai.OpenAIReasoning` | GPT-3.5, GPT-4, GPT-4 Turbo, o1/o3 reasoning मॉडल |
| Anthropic          | `anthropic.Anthropic`     | Claude 3/3.5/4 (Opus, Sonnet, Haiku) |
| Azure OpenAI       | `azure.AzureOpenAI`       | Azure-होस्टेड OpenAI मॉडल     |
| AWS Bedrock        | `bedrock.Bedrock`         | Claude, Llama, Titan मॉडल    |
| Google Vertex AI   | `vertex.Vertex`           | PaLM, Gemini मॉडल            |
| Cohere             | `cohere.Cohere`           | Command, Command R मॉडल      |
| Replicate          | `replicate.Replicate`     | क्लाउड-होस्टेड ओपन मॉडल       |
| HuggingFace        | `huggingface.InferenceAPI`, `huggingface.InferenceEndpoint`, `huggingface.Pipeline`, `huggingface.LLaVA` | HF Inference API, एंडपॉइंट, पाइपलाइन, मल्टीमॉडल |
| Together AI        | `together.Together`       | OSS मॉडल के लिए तेज़ inference  |
| Anyscale           | `anyscale.Anyscale`       | Llama और Mistral होस्टिंग      |
| Groq               | `groq.Groq`               | अल्ट्रा-फास्ट LPU inference       |
| Mistral            | `mistral.Mistral`         | Mistral API मॉडल             |
| Fireworks          | `fireworks.Fireworks`     | प्रोडक्शन inference प्लेटफ़ॉर्म  |
| DeepInfra          | `deepinfra.DeepInfra`     | सर्वरलेस GPU inference       |
| NVIDIA NIM         | `nim.NIM`, `nim.NVOpenAICompletion`, `nim.NVMultimodal`, `nim.Vision` | NVIDIA AI एंडपॉइंट, मल्टीमॉडल |
| NVIDIA NeMo        | `nemo.NeMo`               | NVIDIA NeMo फ्रेमवर्क          |
| NVIDIA NVCF        | `nvcf.NvcfChat`, `nvcf.NvcfCompletion` | NVIDIA क्लाउड फ़ंक्शन   |
| NeMo Guardrails    | `guardrails.NeMoGuardrails` | NVIDIA NeMo Guardrails       |
| IBM watsonx        | `watsonx.WatsonX`         | IBM watsonx.ai प्लेटफ़ॉर्म        |
| LangChain          | `langchain.LangChain`     | LangChain LLM रैपर          |
| LangChain Serve    | `langchain_serve.LangChainServe` | LangChain Serve एंडपॉइंट |
| Rasa               | `rasa.RasaRest`           | Rasa संवादात्मक AI         |
| GGML               | `ggml.Ggml`               | GGML लोकल मॉडल inference     |
| Function           | `function.Single`, `function.Multiple` | कस्टम फ़ंक्शन जनरेटर |
| Ollama             | `ollama.Ollama`, `ollama.OllamaChat` | लोकल मॉडल होस्टिंग    |
| LiteLLM            | `litellm.LiteLLM`         | यूनिफाइड API प्रॉक्सी              |
| REST API           | `rest.Rest`               | कस्टम REST एंडपॉइंट (SSE समर्थन) |
| Test               | `test.Blank`, `test.Repeat`, `test.Lipsum`, `test.Nones`, `test.Single`, `test.BlankVision` | परीक्षण और विकास |

सभी प्रदाता संकलित बाइनरी में उपलब्ध हैं। पर्यावरण चर या YAML कॉन्फ़िगरेशन फ़ाइलों के माध्यम से कॉन्फ़िगर करें। सेटअप विवरण के लिए [कॉन्फ़िगरेशन](#configuration) देखें।

## उपयोग

### एकल प्रोब```bash
# Test for DAN jailbreak
augustus scan openai.OpenAI \
  --probe dan.Dan_11_0 \
  --detector dan.DAN \
  --config-file config.yaml \
  --verbose

एकाधिक प्रोब्स```bash

Use glob patterns to run related probes

augustus scan openai.OpenAI
--probes-glob "dan.,goodside.,grandma."
--detectors-glob "
"
--config-file config.yaml
--output batch-results.jsonl

Run all probes against Claude

augustus scan anthropic.Anthropic
--all
--config '{"model":"claude-3-opus-20240229"}'
--timeout 60m
--output comprehensive-scan.jsonl
--html comprehensive-report.html

### बफ़ ट्रांसफ़ॉर्मेशन

एवेज़न तकनीकों का परीक्षण करने के लिए प्रॉम्प्ट ट्रांसफ़ॉर्मेशन लागू करें:```bash
# Apply base64 encoding buff to all probes
augustus scan openai.OpenAI \
  --all \
  --buff encoding.Base64 \
  --config '{"model":"gpt-4"}'

# Apply poetry transformation
augustus scan anthropic.Anthropic \
  --probes-glob "dan.*" \
  --buff poetry.MetaPrompt \
  --config '{"model":"claude-3-opus-20240229"}'

# Chain multiple buffs
augustus scan openai.OpenAI \
  --all \
  --buffs-glob "encoding.*,paraphrase.*" \
  --output buffed-results.jsonl

आउटपुट प्रारूप```bash

Table format (default) - human-readable

augustus scan openai.OpenAI --probe dan.Dan_11_0 --format table

JSON format - structured output

augustus scan openai.OpenAI --probe dan.Dan_11_0 --format json

JSONL format - one JSON object per line, ideal for piping

augustus scan openai.OpenAI --probe dan.Dan_11_0 --format jsonl

HTML report - visual reports for stakeholders

augustus scan openai.OpenAI --all --html report.html

### कस्टम REST एंडपॉइंट्स```bash
# Test proprietary LLM endpoint (OpenAI-compatible API)
augustus scan rest.Rest \
  --probe dan.Dan_11_0 \
  --detector dan.DAN \
  --config '{
    "uri": "https://api.example.com/v1/chat/completions",
    "method": "POST",
    "headers": {"Authorization": "Bearer YOUR_API_KEY"},
    "req_template_json_object": {
      "model": "custom-model",
      "messages": [{"role": "user", "content": "$INPUT"}]
    },
    "response_json": true,
    "response_json_field": "$.choices[0].message.content"
  }'

# Test with proxy interception (Burp Suite, mitmproxy)
augustus scan rest.Rest \
  --probes-glob "goodside.*" \
  --config '{
    "uri": "https://internal-llm.corp/generate",
    "proxy": "http://127.0.0.1:8080",
    "headers": {"X-API-Key": "$KEY"},
    "api_key": "your-key-here",
    "req_template": "{\"prompt\":\"$INPUT\",\"max_tokens\":500}",
    "response_json": true,
    "response_json_field": "output"
  }'

REST कॉन्फ़िगरेशन कुंजियाँ:

  • uri: लक्ष्य API एंडपॉइंट (आवश्यक)
  • method: HTTP मेथड (डिफ़ॉल्ट: POST)
  • headers: key-value जोड़े के रूप में HTTP हेडर
  • req_template: $INPUT प्लेसहोल्डर के साथ कच्चा रिक्वेस्ट बॉडी
  • req_template_json_object: JSON रिक्वेस्ट बॉडी (ऑटो-मार्शल किया गया, स्ट्रिंग्स में $INPUT का उपयोग करें)
  • response_json: रिस्पॉन्स को JSON के रूप में पार्स करें (डिफ़ॉल्ट: false)
  • response_json_field: निकालने के लिए JSONPath (जैसे, $.data.text या सरल फ़ील्ड नाम)
  • api_key: $KEY प्लेसहोल्डर प्रतिस्थापन के लिए API कुंजी
  • proxy: ट्रैफ़िक निरीक्षण के लिए HTTP प्रॉक्सी URL

उन्नत विकल्प```bash

Adjust concurrency (default: 10)

augustus scan openai.OpenAI --all --concurrency 20

Increase timeout for complex probes like TAP or PAIR

augustus scan openai.OpenAI --probe tap.TAPv1 --timeout 60m

Use a specific harness strategy

augustus scan openai.OpenAI --all --harness batch.Batch

Test local model with Ollama (no API key needed)

augustus scan ollama.OllamaChat
--probe dan.Dan_11_0
--config '{"model":"llama3.2:3b"}'

## यह कैसे काम करता है

Augustus प्रतिकूल हमलों के विरुद्ध LLM का परीक्षण करने के लिए पाइपलाइन आर्किटेक्चर का उपयोग करता है:```mermaid
flowchart LR
    A[Probe Selection] --> B[Buff Transform]
    B --> C[Generator / LLM Call]
    C --> D[Detector Analysis]
    D --> E{Vulnerable?}
    E -->|Yes| F[Record Finding]
    E -->|No| G[Record Pass]

    subgraph Scanner
        B
        C
        D
        E
    end

स्कैन पाइपलाइन

  1. प्रोब चयन: नाम, ग्लोब पैटर्न, या --all द्वारा प्रोब चुनें
  2. बफ ट्रांसफॉर्मेशन: वैकल्पिक रूप से प्रॉम्प्ट बदलें (एनकोड, पैराफ्रेज़, अनुवाद, काव्यात्मक बनाना)
  3. जनरेटर कॉल: अपने प्रोवाइडर इंटीग्रेशन के माध्यम से लक्ष्य LLM को एडवरसैरियल प्रॉम्प्ट भेजें
  4. डिटेक्टर विश्लेषण: पैटर्न मिलान, LLM-एज़-ए-जज, या विशेष डिटेक्टरों का उपयोग करके प्रतिक्रियाओं का विश्लेषण करें
  5. परिणाम रिकॉर्डिंग: प्रत्येक प्रयास को स्कोर करें और अनुरोधित प्रारूप में आउटपुट तैयार करें
  6. अटैक इंजन: पुनरावृत्त प्रोब (PAIR, TAP) के लिए, सिंगल-टर्न अटैक इंजन उम्मीदवार प्रूनिंग और जज-आधारित स्कोरिंग के साथ पुनरावृत्तियों में प्रॉम्प्ट को परिष्कृत करता है
  7. मल्टी-टर्न इंजन: संवादात्मक प्रोब (Crescendo, GOAT) के लिए, मल्टी-टर्न इंजन टर्नों में लक्ष्य के साथ पूर्ण संवाद इतिहास बनाए रखता है, जिसमें अस्वीकृति पहचान और गतिशील अनुकूलन शामिल है

मल्टी-टर्न अटैक रणनीतियाँ

मल्टी-टर्न अटैक लक्ष्य LLM के साथ एक स्थायी संवाद बनाए रखते हैं, इस तथ्य का फायदा उठाते हुए कि मॉडल टर्नों में धीरे-धीरे जानकारी प्रकट कर सकते हैं जिसे वे एक ही प्रॉम्प्ट में अस्वीकार कर देंगे। मल्टी-टर्न इंजन तीन LLM का उपयोग करता है: एक अटैकर (प्रश्न उत्पन्न करता है), एक टारगेट (परीक्षण के अधीन सिस्टम), और एक जज (प्रगति को स्कोर करता है और अस्वीकृतियों का पता लगाता है)।

Crescendo

Crescendo क्रमिक वृद्धि (फुट-इन-द-डोर तकनीक) का उपयोग करता है ताकि एक संवाद को हानिरहित विषयों से धीरे-धीरे एक निषिद्ध उद्देश्य की ओर स्थानांतरित किया जा सके।

  • पेपर: Russinovich et al., 2024
  • दृष्टिकोण: वास्तव में हानिरहित, शैक्षिक प्रश्नों से शुरू होता है और कई टर्नों में धीरे-धीरे विशिष्टता बढ़ाता है
  • वृद्धि पैटर्न: ऐतिहासिक संदर्भ → तकनीकी तंत्र → विशिष्ट विवरण → प्राकृतिक अनुवर्ती के रूप में तैयार किए गए सीधे अनुरोध
  • ताकत: उन मॉडलों के खिलाफ प्रभावी जो संवाद के स्वर को ट्रैक करते हैं — क्रमिक बदलाव सुरक्षा फिल्टर को ट्रिगर करने से बचाता है```bash augustus scan rest.Rest
    --probe crescendo.Crescendo
    --config-file crescendo.yaml
    --html report.html -v
#### GOAT (जनरेटिव ऑफेंसिव एजेंट टेस्टर)

GOAT 7 आक्रामक तकनीकों और Chain-of-Attack-Thought तर्क के साथ एक आक्रामक, अनुकूली दृष्टिकोण का उपयोग करता है, ताकि जो काम करता है या विफल होता है उसके आधार पर गतिशील रूप से रणनीतियाँ बदल सके।

- **पेपर**: [Pavlova et al., 2024](https://arxiv.org/abs/2410.01606)
- **दृष्टिकोण**: टर्न 1 से ही अप्रत्यक्ष फ्रेमिंग का उपयोग करके उद्देश्य को लक्षित करता है, लक्ष्य को कभी भी सीधे लक्ष्य का उल्लेख नहीं करता
- **3 श्रेणियों में 7 तकनीकें**:
  - *आउटपुट मैनिपुलेशन*: रिफ्यूज़ल सप्रेशन, रिस्पॉन्स प्राइमिंग
  - *सेफ रिस्पॉन्स डिस्ट्रैक्टर्स*: डुअल रिस्पॉन्स, टॉपिक स्प्लिटिंग, अपोज़िट इंटेंट
  - *फिक्शनल सिनेरियोज़*: पर्सोना मॉडिफिकेशन, हाइपोथेटिकल
- **Chain-of-Attack-Thought**: प्रत्येक टर्न में हमलावर अपना संदेश तैयार करने से पहले Observation → Thought → Strategy → Response के माध्यम से तर्क करता है
- **तकनीक स्टैकिंग**: मजबूत प्रभाव के लिए एक ही टर्न में कई तकनीकों को जोड़ा जा सकता है
- **ताकत**: मौलिक रूप से भिन्न दृष्टिकोणों के बीच आक्रामक रूप से स्विच करके कम टर्न (आमतौर पर 3-5) में उच्च सफलता दर प्राप्त करता है```bash
augustus scan rest.Rest \
  --probe goat.Goat \
  --config-file goat.yaml \
  --html report.html -v

हाइड्रा

हाइड्रा एक एकल संवाद पथ बनाए रखता है और जब लक्ष्य अस्वीकार करता है तो पूरे टर्न को वापस रोल करता है, हमलावर से पूरी तरह से अलग दृष्टिकोण पूछता है। क्रेसेंडो/GOAT (जो अस्वीकृति पर पुनः वाक्यांशित करते हैं) के विपरीत, हाइड्रा का बैकट्रैकिंग अस्वीकृत टर्न को लक्ष्य के दृश्य से पूरी तरह हटा देता है।

  • दृष्टिकोण: टर्न-स्तरीय बैकट्रैकिंग के साथ एकल पथ — अस्वीकृत टर्न मिटा दिए जाते हैं और बदल दिए जाते हैं
  • तकनीकें: विघटन (लक्ष्य को निर्दोष उप-प्रश्नों में विभाजित करना), संदर्भ का लाभ उठाना (लक्ष्य के अपने शब्दों पर निर्माण), प्राधिकरण अनुकरण, भावनात्मक फ्रेमिंग, प्रगतिशील सामान्यीकरण
  • मुख्य विशेषता: max_backtracks नियंत्रित करता है कि हाइड्रा कितनी बार एक टर्न को मिटा सकता है और पुनः प्रयास कर सकता है
  • स्टेटफुल मोड: उन लक्ष्यों के लिए stateful: true सेट करें जहां संदेश वापस नहीं भेजे जा सकते (बैकट्रैकिंग अक्षम करता है)
  • ताकत: लक्ष्य के संवाद इतिहास को साफ रखता है — लक्ष्य कभी भी असफल दृष्टिकोण नहीं देखता, रक्षात्मक वृद्धि को रोकता है```bash augustus scan rest.Rest
    --probe hydra.Hydra
    --config-file hydra.yaml
    --html report.html -v
#### शरारती उपयोगकर्ता

शरारती उपयोगकर्ता एक मासूम, जिज्ञासु व्यक्ति का अनुकरण करता है जो स्वाभाविक बातचीत के माध्यम से सूक्ष्मता से AI की सीमाओं का परीक्षण करता है। प्रतिकूल रणनीतियों के विपरीत, यह हमलावर व्यक्तित्व एक सामान्य उपयोगकर्ता है जो प्रतीत होने वाले मासूम जुड़ाव के माध्यम से प्रतिबंधित विषयों की ओर बढ़ता है।

- **प्रेरणा**: [Tau-bench](https://github.com/sierra-research/tau-bench) और promptfoo की शरारती-उपयोगकर्ता रणनीति
- **दृष्टिकोण**: संबंध-निर्माण चरण → सीमा परीक्षण → मुखर दबाव
- **7 तकनीकें**: भोली जिज्ञासा, जानबूझकर गलतफहमी, सामाजिक प्रमाण, क्रमिक बहाव, भावनात्मक अपील, मान ली गई अनुमति, पुनर्संदर्भीकरण
- **लक्ष्य-विशिष्ट प्लेबुक**: सिस्टम निर्देश निकालने, रहस्य/फ्लैग खोजने, और सामग्री नीति को बायपास करने के लिए अंतर्निहित स्क्रिप्ट
- **डिफ़ॉल्ट टर्न**: 5 (अन्य रणनीतियों से कम — सूक्ष्म दृष्टिकोण या तो जल्दी काम करता है या बिल्कुल नहीं)
- **ताकत**: स्पष्ट प्रतिकूल पैटर्न का विरोध करने के लिए प्रशिक्षित मॉडलों के खिलाफ प्रभावी — आकस्मिक व्यक्तित्व "हमले का पता लगाने" वाले ह्यूरिस्टिक्स को बायपास करता है```bash
augustus scan rest.Rest \
  --probe mischievous.MischievousUser \
  --config-file mischievous.yaml \
  --html report.html -v

रणनीति चयन मार्गदर्शिका

रणनीतिचरणशैलीसर्वोत्तम उपयोगलागत
crescendo.Crescendo10क्रमिक वृद्धिटोन-ट्रैकिंग सुरक्षा फ़िल्टर वाले मॉडलमध्यम (10 चरण × 3 LLM कॉल)
goat.Goat10आक्रामक तकनीक स्विचिंगत्वरित परिणाम, फ़्रेमिंग ट्रिक्स के प्रति कमज़ोर मॉडलमध्यम-उच्च (तकनीक तर्क ओवरहेड)
hydra.Hydra10इनकार पर बैकट्रैकिंगज़िद्दी मॉडल जो बार-बार इनकार करते हैंउच्च (बैकट्रैकिंग पुनः प्रयास जोड़ती है)
mischievous.MischievousUser5आकस्मिक व्यक्तित्व जांचप्रतिकूल पैटर्न के विरुद्ध प्रशिक्षित मॉडलकम (5 चरण, सूक्ष्म दृष्टिकोण)

त्वरित निर्णय:

  • Crescendo से शुरू करें — यह सबसे सामान्य-उद्देश्य वाली रणनीति है
  • यदि Crescendo बहुत धीमा है तो GOAT आज़माएँ (GOAT आमतौर पर 3-5 चरणों में सफल होता है)
  • यदि लक्ष्य बार-बार इनकार करता है तो Hydra का उपयोग करें (बैकट्रैकिंग बातचीत को साफ़ रखती है)
  • मजबूत प्रतिकूल-पैटर्न पहचान वाले लक्ष्यों के लिए Mischievous का उपयोग करें (व्यक्तित्व ह्यूरिस्टिक्स को बायपास करता है)

मल्टी-टर्न कॉन्फ़िगरेशन

सभी चार रणनीतियाँ समान कॉन्फ़िगरेशन संरचना साझा करती हैं:```yaml generators: rest.Rest: uri: "https://your-llm-endpoint/chat" method: POST req_template: '{"input": "$INPUT"}' response_json: true response_json_field: "response"

judge: generator_type: openai.OpenAI config: model: gpt-4 api_key: "${OPENAI_API_KEY}"

probes: attacker_generator_type: openai.OpenAI attacker_config: model: gpt-4 api_key: "${OPENAI_API_KEY}" settings: crescendo.Crescendo: # or goat.Goat, hydra.Hydra, mischievous.MischievousUser goal: "your test objective" max_turns: 10 success_threshold: 0.8 use_secondary_judge: true

| `goal` | (आवश्यक) | वह उद्देश्य जिसे हमलावर हासिल करने का प्रयास करता है |
|---------|---------|-------------|
| `max_turns` | 10 | रुकने से पहले अधिकतम वार्तालाप चरणों की संख्या |
| `success_threshold` | 0.8 | जज स्कोर (0.0-1.0) जो जल्दी बाहर निकलने को ट्रिगर करता है |
| `max_refusal_retries` | 10 | प्रति चरण पुनः-वाक्यांश प्रयास जब लक्ष्य मना कर देता है |
| `attack_max_attempts` | 5 | हमलावर LLM JSON पार्सिंग विफलताओं के लिए पुनः प्रयास |
| `use_secondary_judge` | true | गलत नकारात्मक पकड़ने के लिए द्वितीयक जज सक्षम करें |
| `max_backtracks` | 10 | मना करने पर चरण-स्तरीय रोलबैक (केवल Hydra) |
| `enable_fast_refusal` | true | LLM जज कॉल से पहले पैटर्न-आधारित मना करने का पता लगाना |
| `enable_scan_memory` | false | क्रॉस-टेस्ट-केस सीखना (प्रोब्स के बीच रणनीतियाँ साझा करता है) |
| `stateful` | false | स्टेटफुल लक्ष्यों के लिए बैकट्रैकिंग अक्षम करें |
| `exclude_target_output` | false | हमलावर फीडबैक से लक्ष्य प्रतिक्रियाएँ छिपाएँ (गोपनीयता मोड) |
| `attacker_model` | (स्वचालित) | संदर्भ विंडो आकार के लिए हमलावर मॉडल नाम ओवरराइड करें |

#### मल्टी-टर्न समस्या निवारण

| लक्षण | संभावित कारण | समाधान |
|---------|-------------|-----|
| `no turns completed (attacker_parse_failures=N)` | हमलावर LLM अमान्य JSON लौटा रहा है | एक मजबूत हमलावर मॉडल (GPT-4, Claude Opus) का उपयोग करें। `attack_max_attempts` बढ़ाएँ। |
| `no turns completed (target_empty=N)` | लक्ष्य खाली/null प्रतिक्रियाएँ लौटा रहा है | जाँचें कि लक्ष्य एंडपॉइंट प्रतिक्रिया दे रहा है। REST कॉन्फ़िग टेम्पलेट सत्यापित करें। |
| सभी चरण 0.0 स्कोर करते हैं | लक्ष्य बहुत अस्पष्ट है या हमलावर संलग्न नहीं हो रहा है | `goal` को अधिक विशिष्ट बनाएँ। अलग रणनीति आज़माएँ। |
| उच्च स्कोर लेकिन कोई सफलता नहीं | `success_threshold` बहुत अधिक है | `success_threshold` को 0.8 से घटाकर 0.6-0.7 करें |
| रन बहुत लंबे/महंगे हैं | बहुत अधिक चरण और पुनः प्रयास | `max_turns` घटाएँ (5 आज़माएँ)। `enable_fast_refusal: true` सेट करें। |
| Hydra बार-बार बैकट्रैक करता रहता है | लक्ष्य सब कुछ मना कर देता है | `stateful: true` आज़माएँ या Mischievous रणनीति पर स्विच करें |

## आर्किटेक्चर```
cmd/augustus/          CLI entrypoint (Kong-based)
pkg/
  attempt/            Probe execution lifecycle and result tracking
  buffs/              Buff interface for prompt transformations
  config/             Configuration loading (YAML/JSON) with profiles
  detectors/          Public detector interfaces and registry
  generators/         Public generator interfaces and registry
  harnesses/          Harness interface for execution strategies
  lib/http/           Shared HTTP client with proxy support
  lib/stego/          LSB steganography for multimodal attacks
  logging/            Structured slog-based logging
  metrics/            Prometheus metrics collection
  prefilter/          Aho-Corasick keyword pre-filtering
  probes/             Public probe interfaces and registry
  ratelimit/          Token bucket rate limiting
  registry/           Generic capability registration system
  results/            Result types and multi-format output
  retry/              Exponential backoff with jitter
  scanner/            Scanner orchestration with concurrency
  templates/          YAML probe template loader (Nuclei-style)
  types/              Canonical shared interfaces (Prober, Generator, Detector)
internal/
  probes/             210+ probe implementations (47 categories)
  generators/         28 LLM provider integrations (43 variants)
  detectors/          90+ detector implementations (35 categories)
  harnesses/          3 harness strategies (probewise, batch, agentwise)
  buffs/              Buff interface for prompt transformations
  attackengine/       Iterative adversarial attack engine (PAIR/TAP backend)
  multiturn/          Multi-turn conversational attack engine (Crescendo/GOAT/Hydra/Mischievous)
  ahocorasick/        Internal Aho-Corasick keyword matching
benchmarks/           Performance benchmarks
tests/                Integration and equivalence tests
research/             Research documentation and analysis
examples/             Example configurations
docs/                 Documentation

मुख्य डिज़ाइन निर्णय

  • समवर्ती स्कैनिंग errgroup के माध्यम से सीमित goroutine पूल के साथ
  • प्लगइन-शैली पंजीकरण प्रोब, जनरेटर, डिटेक्टर, बफ और हार्नेस के लिए Go init() फ़ंक्शन का उपयोग करके
  • पुनरावृत्तीय अटैक इंजन मल्टी-स्ट्रीम संवाद प्रबंधन, उम्मीदवार छंटाई, और PAIR/TAP के लिए जज-आधारित स्कोरिंग के साथ
  • मल्टी-टर्न अटैक इंजन लगातार संवाद इतिहास, अस्वीकृति पहचान, Crescendo/GOAT के लिए रणनीति-अज्ञेय डिज़ाइन के साथ
  • YAML प्रोब टेम्पलेट (Nuclei-शैली) Go-आधारित प्रोब के साथ घोषणात्मक प्रोब परिभाषाओं के लिए
  • Aho-Corasick प्री-फ़िल्टरिंग डिटेक्टरों में तेज़ कीवर्ड मिलान के लिए

कॉन्फ़िगरेशन

YAML कॉन्फ़िगरेशन फ़ाइल

एक config.yaml फ़ाइल बनाएँ:```yaml

Runtime configuration

run: max_attempts: 3 timeout: "30s"

Generator configurations

generators: openai.OpenAI: model: "gpt-4" temperature: 0.7 api_key: "${OPENAI_API_KEY}" # Environment variable interpolation

anthropic.Anthropic: model: "claude-3-opus-20240229" temperature: 0.5 api_key: "${ANTHROPIC_API_KEY}"

ollama.OllamaChat: model: "llama3.2:3b" temperature: 0.8

Judge configuration (required for judge.Judge, judge.Refusal, and multi-turn probes)

judge: generator_type: openai.OpenAI model: gpt-4o-mini config: api_key: "${OPENAI_API_KEY}"

Output configuration

output: format: "jsonl" path: "./results.jsonl"

Named profiles for different scenarios

profiles: quick: run: max_attempts: 1 timeout: "10s" generators: openai.OpenAI: model: "gpt-3.5-turbo" temperature: 0.5 output: format: "table"

thorough: run: max_attempts: 5 timeout: "60s" generators: openai.OpenAI: model: "gpt-4" temperature: 0.3 output: format: "jsonl" path: "./thorough_results.jsonl"

### पर्यावरण चर```bash
# API Keys
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export COHERE_API_KEY="..."

# Debug mode
export AUGUSTUS_DEBUG=true

प्रॉक्सी कॉन्फ़िगरेशन

निरीक्षण के लिए HTTP ट्रैफ़िक को प्रॉक्सी (जैसे, Burp Suite) के माध्यम से रूट करें:```bash

Method 1: Via config parameter

augustus scan rest.Rest
--probe dan.Dan_11_0
--detector dan.DAN
--config '{"uri":"https://api.example.com","proxy":"http://127.0.0.1:8080"}'
--output results.jsonl

Method 2: Via environment variables

export HTTP_PROXY=http://127.0.0.1:8080 export HTTPS_PROXY=http://127.0.0.1:8080 augustus scan rest.Rest --probe dan.Dan_11_0 --config '{"uri":"https://api.example.com"}'

- प्रॉक्सी निरीक्षण के लिए TLS सत्यापन स्वचालित रूप से अक्षम किया गया
- आधुनिक APIs के लिए HTTP/2 समर्थन सक्षम
- सर्वर-प्रेषित इवेंट (SSE) प्रतिक्रियाएँ स्वचालित रूप से पहचानी और पार्स की जाती हैं

### CLI संदर्भ```
Usage: augustus scan <generator> [flags]

Arguments:
  <generator>                 Generator name (e.g., openai.OpenAI, anthropic.Anthropic)

Probe Selection (choose one):
  --probe, -p                 Probe name (repeatable)
  --probes-glob               Comma-separated glob patterns (e.g., "dan.*,goodside.*")
  --all                       Run all registered probes

Detector Selection:
  --detector                  Detector name (repeatable)
  --detectors-glob            Comma-separated glob patterns

Buff Selection:
  --buff, -b                  Buff names to apply (repeatable)
  --buffs-glob                Comma-separated buff glob patterns (e.g., "encoding.*")

Configuration:
  --config-file               Path to YAML config file
  --config, -c                JSON config for generator

Execution:
  --harness                   Harness name (default: probewise.Probewise)
  --timeout                   Overall scan timeout (default: 30m)
  --probe-timeout             Per-probe timeout (default: 5m)
  --concurrency               Max concurrent probes (default: 10, env: AUGUSTUS_CONCURRENCY)

Output:
  --format, -f                Output format: table, json, jsonl (default: table)
  --output, -o                JSONL output file path
  --html                      HTML report file path
  --verbose, -v               Verbose output

Global:
  --debug, -d                 Enable debug mode

कमांड्स:```bash augustus version # Print version information augustus list # List available probes, detectors, generators, harnesses, buffs augustus scan # Run vulnerability scan augustus completion # Generate shell completion (bash, zsh, fish)

**एग्ज़िट कोड:**

| कोड | अर्थ |
|------|---------|
| 0 | सफल - स्कैन पूर्ण हुआ |
| 1 | स्कैन/रनटाइम त्रुटि |
| 2 | सत्यापन/उपयोग त्रुटि |

## FAQ

### Augustus की तुलना garak से कैसे की जाती है?

Augustus एक Go-नेटिव पुनःकार्यान्वयन है जो [garak](https://github.com/NVIDIA/garak) (NVIDIA का Python-आधारित LLM भेद्यता स्कैनर) से प्रेरित है। मुख्य अंतर:
- **प्रदर्शन**: Go बाइनरी बनाम Python इंटरप्रेटर — तेज़ निष्पादन और कम मेमोरी उपयोग
- **वितरण**: बिना किसी रनटाइम निर्भरता के एकल बाइनरी बनाम pip install वाला Python पैकेज
- **समवर्तीता**: Go goroutine पूल (क्रॉस-प्रोब समानांतरता) बनाम Python multiprocessing पूल (इंट्रा-प्रोब समानांतरता)
- **प्रोब कवरेज**: Augustus में 210+ प्रोब हैं; garak में 160+ प्रोब हैं जिनकी लंबी शोध वंशावली और प्रकाशित पेपर (arXiv:2406.11036) है
- **प्रदाता कवरेज**: Augustus में 28 प्रदाता हैं; garak में 22 प्रदाता मॉड्यूल में 35+ जनरेटर वेरिएंट हैं

### क्या मैं API कुंजियों के बिना स्थानीय मॉडल का परीक्षण कर सकता हूँ?

हाँ! स्थानीय मॉडल परीक्षण के लिए Ollama एकीकरण का उपयोग करें:```bash
# No API key needed
augustus scan ollama.OllamaChat \
  --probe dan.Dan_11_0 \
  --config '{"model":"llama3.2:3b"}'

मैं कस्टम प्रोब कैसे जोड़ूं?

  1. internal/probes/ में एक नया Go फ़ाइल बनाएं
  2. probes.Probe इंटरफ़ेस को लागू करें
  3. init() फ़ंक्शन में registry.RegisterProbe() का उपयोग करके पंजीकृत करें
  4. पुनर्निर्माण करें: make build

विस्तृत निर्देशों के लिए CONTRIBUTING.md देखें।

कौन से आउटपुट प्रारूप समर्थित हैं?

Augustus चार आउटपुट प्रारूपों का समर्थन करता है:

प्रारूपफ़्लैगउपयोग का मामला
तालिका--format tableमानव-पठनीय टर्मिनल आउटपुट
JSON--format jsonपार्सिंग के लिए एकल JSON ऑब्जेक्ट
JSONL--format jsonlस्ट्रीमिंग के लिए लाइन-सीमांकित JSON
HTML--html report.htmlहितधारकों के लिए दृश्य रिपोर्ट

मैं एक साथ कई मॉडलों का परीक्षण कैसे करूं?```bash

Test multiple models sequentially

for model in "gpt-4" "gpt-3.5-turbo"; do augustus scan openai.OpenAI
--all
--config "{"model":"$model"}"
--output "results-$model.jsonl" done

### क्या Augustus उत्पादन वातावरण के लिए उपयुक्त है?

हाँ, Augustus निम्नलिखित सुविधाओं के साथ उत्पादन उपयोग के लिए डिज़ाइन किया गया है:
- कॉन्फ़िगर करने योग्य सीमाओं के साथ समवर्ती स्कैनिंग
- API कोटा का सम्मान करने के लिए दर सीमित करना
- लंबे समय तक चलने वाले प्रोब के लिए टाइमआउट हैंडलिंग
- क्षणिक विफलताओं के लिए पुनः प्रयास तर्क
- अवलोकन क्षमता के लिए संरचित लॉगिंग

## समस्या निवारण

### त्रुटि: "API दर सीमा पार हो गई"

**कारण**: बहुत अधिक समवर्ती अनुरोध या प्रति मिनट अनुरोध।

**समाधान**:
1. समवर्तीता कम करें: `--concurrency 5`
2. YAML कॉन्फ़िग में प्रदाता-विशिष्ट दर सीमा सेटिंग्स का उपयोग करें:   ```yaml
   generators:
     openai.OpenAI:
       rate_limit: 10  # requests per minute

त्रुटि: "context deadline exceeded" या "timeout"

कारण: जटिल प्रोब (जैसे TAP या PAIR) डिफ़ॉल्ट टाइमआउट से अधिक समय लेते हैं।

समाधान:```bash augustus scan openai.OpenAI
--probe tap.TAPv1
--timeout 60m
--config-file config.yaml

### त्रुटि: "invalid API key" या "authentication failed"

**कारण**: API क्रेडेंशियल गायब या अमान्य हैं।

**समाधान**:
1. सत्यापित करें कि पर्यावरण चर सेट है: `echo $OPENAI_API_KEY`
2. कॉन्फ़िग फ़ाइल में टाइपो की जाँच करें
3. सुनिश्चित करें कि API key के पास आवश्यक अनुमतियाँ हैं
4. Ollama के लिए, सुनिश्चित करें कि सेवा चल रही है: `ollama serve`

### त्रुटि: "probe not found" या "detector not found"

**कारण**: नाम में टाइपो या probe पंजीकृत नहीं है।

**समाधान**:```bash
# List all available probes and detectors
augustus list

# Use exact names from the list
augustus scan openai.OpenAI --probe dan.Dan_11_0  # Correct

स्कैन में कोई परिणाम नहीं मिलता

कारण: डिटेक्टर किसी भी प्रतिक्रिया से मेल नहीं खाया, या आउटपुट लिखा नहीं गया।

समाधान:

  1. विस्तृत आउटपुट देखने के लिए --verbose के साथ चलाएँ
  2. जाँचें कि डिटेक्टर प्रोब प्रकार से मेल खाता है
  3. सत्यापित करें कि आउटपुट फ़ाइल पथ लिखने योग्य है

योगदान

हम योगदान का स्वागत करते हैं! विवरण के लिए CONTRIBUTING.md देखें:

  • नए भेद्यता प्रोब जोड़ना
  • नए डिटेक्टर कार्यान्वयन बनाना
  • LLM प्रदाता एकीकरण जोड़ना
  • परीक्षण दिशानिर्देश
  • कोड शैली आवश्यकताएँ

विकास```bash

Run all tests

make test

Run specific package tests

go test ./pkg/scanner -v

Run equivalence tests (compare Go vs Python implementations)

go test ./tests/equivalence -v

Build binary

make build

Install to $GOPATH/bin

make install

### बेंचमार्क वातावरण (DevPod)

LLM की बेंचमार्किंग के लिए एक तैयार-से-उपयोग क्लाउड डेवलपमेंट वातावरण [DevPod](https://devpod.sh/) के माध्यम से उपलब्ध है। यह Augustus, Ollama, Go, और सभी निर्भरताओं के साथ पहले से इंस्टॉल एक रिमोट कंटेनर प्रदान करता है।```bash
cd devpod

# CPU-only instance (~$0.08/hr) - cloud APIs only
make devpod-up-cpu

# GPU instance with NVIDIA T4 (~$0.53/hr) - local models up to 14B
make devpod-up-gpu

# GPU Pro instance with NVIDIA L4 (~$0.80/hr) - local models up to 32B
make devpod-up-gpu-pro

देवपॉड के अंदर:```bash devpod/scripts/setup.sh # Configure LLM provider API keys devpod/scripts/pull-models.sh # Pull local Ollama models (GPU only) devpod/scripts/benchmark.sh # Run benchmarks with comparison reports

यह वातावरण एक मानक [dev container](https://containers.dev/) के रूप में भी काम करता है — रिपॉजिटरी को VS Code या Cursor में खोलें और `.devcontainer/` से CPU या GPU कॉन्फ़िगरेशन चुनें।

## सुरक्षा

Augustus केवल **अधिकृत सुरक्षा परीक्षण** के लिए डिज़ाइन किया गया है।

- Augustus आपके द्वारा निर्दिष्ट LLMs को adversarial प्रॉम्प्ट भेजता है — हमेशा सुनिश्चित करें कि आपके पास प्राधिकरण है
- उन सिस्टमों का परीक्षण कभी न करें जिनके आप मालिक नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास नहीं है
- कुछ प्रोब जानबूझकर आपत्तिजनक सामग्री उत्पन्न करते हैं (सुरक्षा फ़िल्टर के परीक्षण के लिए)
- परिणामों में लक्ष्य LLMs द्वारा उत्पन्न हानिकारक सामग्री हो सकती है

सुरक्षा संबंधी मुद्दों की रिपोर्ट [GitHub Issues](https://github.com/praetorian-inc/augustus/issues) के माध्यम से करें।

## सहायता

यदि आपको Augustus उपयोगी लगता है, तो कृपया विचार करें:

- GitHub पर इसे **स्टार** देना
- बग या फीचर अनुरोधों के लिए [एक issue खोलना](https://github.com/praetorian-inc/augustus/issues)
- नए प्रोब, डिटेक्टर, या प्रदाता एकीकरण में [योगदान देना](https://github.com/praetorian-inc/augustus/blob/main/CONTRIBUTING.md)

[![Star History Chart](https://api.star-history.com/svg?repos=praetorian-inc/augustus&type=Date)](https://star-history.com/#praetorian-inc/augustus&Date)

## लाइसेंस

[Apache 2.0](https://github.com/praetorian-inc/augustus/blob/main/LICENSE) - Praetorian Security, Inc.

---

**[Praetorian](https://www.praetorian.com/) द्वारा निर्मित** - Offensive Security Solutions

श्रेणियाँ