
augustus v0.14.20
LLM सुरक्षा परीक्षण ढांचा जो prompt injection, jailbreaks, और adversarial attacks का पता लगाने के लिए है — 190+ probes, 28 providers, एकल Go binary
ऑगस्टस - प्रॉम्प्ट इंजेक्शन, जेलब्रेक और प्रतिकूल हमले के परीक्षण के लिए LLM भेद्यता स्कैनर
ऑगस्टस - LLM भेद्यता स्कैनर
प्रॉम्प्ट इंजेक्शन, जेलब्रेक, एन्कोडिंग शोषण और डेटा निष्कर्षण को कवर करने वाले 210+ प्रतिकूल हमलों के विरुद्ध बड़े भाषा मॉडल का परीक्षण करें।
Augustus एक Go-आधारित LLM भेद्यता स्कैनर है जो सुरक्षा पेशेवरों के लिए है। यह बड़े भाषा मॉडलों का व्यापक प्रतिकूल हमलों के विरुद्ध परीक्षण करता है, 28 LLM प्रदाताओं के साथ एकीकृत होता है, और कार्रवाई योग्य भेद्यता रिपोर्ट तैयार करता है।
अनुसंधान-उन्मुख उपकरणों के विपरीत, Augustus उत्पादन सुरक्षा परीक्षण के लिए बनाया गया है — समवर्ती स्कैनिंग, दर सीमा, पुनर्प्रयास तर्क और टाइमआउट हैंडलिंग बॉक्स से बाहर आता है।
विषय सूची
- ऑगस्टस क्यों
- विशेषताएँ
- त्वरित आरंभ
- समर्थित प्रदाता
- उपयोग
- यह कैसे काम करता है
- आर्किटेक्चर
- कॉन्फ़िगरेशन
- FAQ
- समस्या निवारण
- योगदान
- सुरक्षा
- सहायता
- लाइसेंस
ऑगस्टस क्यों
| सुविधा | ऑगस्टस | garak | promptfoo |
|---|---|---|---|
| भाषा | Go | Python | TypeScript |
| एकल बाइनरी | हाँ | नहीं | नहीं |
| समवर्ती स्कैनिंग | Goroutine पूल | मल्टीप्रोसेसिंग पूल | हाँ |
| LLM प्रदाता | 28 | 35+ | 80+ |
| प्रोब प्रकार | 210+ | 160+ | 119 प्लगइन + 36 रणनीतियाँ |
| एंटरप्राइज़ फोकस | हाँ | अनुसंधान | हाँ |
विशेषताएँ
| सुविधा | विवरण |
|---|---|
| 210+ भेद्यता प्रोब | 47 हमला श्रेणियाँ: जेलब्रेक, प्रॉम्प्ट इंजेक्शन, प्रतिकूल उदाहरण, डेटा निष्कर्षण, सुरक्षा बेंचमार्क, एजेंट हमले, और अधिक |
| 28 LLM प्रदाता | OpenAI, Anthropic, Azure, Bedrock, Vertex AI, Ollama, और 43 जनरेटर वेरिएंट के साथ 22 और |
| 90+ डिटेक्टर | पैटर्न मिलान, LLM-as-a-judge, 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 विषाक्तीकरण, संदर्भ अतिप्रवाह, मल्टीमॉडल हमले, निरंतरता, विचलन
- प्रारूप शोषण: मार्कडाउन इंजेक्शन, YAML/JSON पार्सिंग हमले, ANSI एस्केप, वेब इंजेक्शन (XSS)
- चोरी तकनीक: अस्पष्टता, वर्ण प्रतिस्थापन, अनुवाद-आधारित हमले, वाक्यांशीकरण, ObscurePrompt
- सुरक्षा बेंचमार्क: DoNotAnswer, RealToxicityPrompts, Snowball, LMRC
- एजेंट हमले: बहु-एजेंट हेरफेर, ब्राउज़िंग शोषण
- सुरक्षा परीक्षण: गार्डरेल बायपास, AV/स्पैम स्कैनिंग, शोषण (SQLi, कोड निष्पादन), BadChars
चेतावनी: The
lmrcprobe अपने जेलब्रेक परीक्षण के भाग के रूप में अपशब्द और आपत्तिजनक भाषा का उपयोग करता है। केवल अधिकृत परीक्षण वातावरण में उपयोग करें।
त्वरित आरंभ
स्थापना
Go 1.25.3 या उसके बाद के संस्करण की आवश्यकता है।```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 में 28 LLM प्रदाता श्रेणियाँ और 43 जनरेटर वेरिएंट शामिल हैं:
| प्रदाता | जनरेटर नाम | नोट्स |
|--------------------|---------------------------|--------------------------------|
| OpenAI | `openai.OpenAI`, `openai.OpenAIReasoning` | GPT-3.5, GPT-4, GPT-4 Turbo, o1/o3 रीज़निंग मॉडल |
| 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 इन्फ़रेंस API, एंडपॉइंट, पाइपलाइन, मल्टीमॉडल |
| Together AI | `together.Together` | OSS मॉडल के लिए तेज़ इन्फ़रेंस |
| Anyscale | `anyscale.Anyscale` | Llama और Mistral होस्टिंग |
| Groq | `groq.Groq` | अल्ट्रा-फ़ास्ट LPU इन्फ़रेंस |
| Mistral | `mistral.Mistral` | Mistral API मॉडल |
| Fireworks | `fireworks.Fireworks` | प्रोडक्शन इन्फ़रेंस प्लेटफ़ॉर्म |
| DeepInfra | `deepinfra.DeepInfra` | सर्वरलेस GPU इन्फ़रेंस |
| 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 गार्डरेल्स |
| 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 स्थानीय मॉडल इन्फ़रेंस |
| 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: 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 एक पाइपलाइन आर्किटेक्चर का उपयोग करके LLMs को adversarial attacks के विरुद्ध परीक्षण करता है:```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
स्कैन पाइपलाइन
- प्रोब चयन: नाम, ग्लोब पैटर्न या
--allद्वारा प्रोब चुनें - बफ़ रूपांतरण: वैकल्पिक रूप से प्रॉम्प्ट बदलें (एन्कोड, व्याख्या, अनुवाद, काव्यीकरण)
- जनरेटर कॉल: प्रदाता एकीकरण के माध्यम से लक्ष्य LLM को प्रतिकूल प्रॉम्प्ट भेजें
- डिटेक्टर विश्लेषण: पैटर्न मिलान, LLM-as-a-judge, या विशेष डिटेक्टरों का उपयोग करके प्रतिक्रियाओं का विश्लेषण करें
- परिणाम रिकॉर्डिंग: प्रत्येक प्रयास को स्कोर करें और अनुरोधित प्रारूप में आउटपुट तैयार करें
- हमला इंजन: पुनरावृत्त प्रोब (PAIR, TAP) के लिए, एकल-टर्न हमला इंजन उम्मीदवार कटौती और जज-आधारित स्कोरिंग के साथ पुनरावृत्तियों में प्रॉम्प्ट को परिष्कृत करता है
- मल्टी-टर्न इंजन: संवादात्मक प्रोब (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 प्रतिकूल तकनीकों और चेन-ऑफ-अटैक-थॉट तर्क के साथ एक आक्रामक, अनुकूली दृष्टिकोण का उपयोग करता है, ताकि जो काम करता है या विफल होता है उसके आधार पर गतिशील रूप से रणनीतियाँ बदल सके।
- **पेपर**: [पावलोवा एट अल., 2024](https://arxiv.org/abs/2410.01606)
- **दृष्टिकोण**: पहले मोड़ से ही अप्रत्यक्ष फ्रेमिंग का उपयोग करके लक्ष्य को निशाना बनाता है, लक्ष्य को कभी सीधे उद्देश्य का उल्लेख नहीं करता
- **3 श्रेणियों में 7 तकनीकें**:
- *आउटपुट हेरफेर*: अस्वीकृति दमन, प्रतिक्रिया प्राइमिंग
- *सुरक्षित प्रतिक्रिया विचलित करने वाले*: दोहरी प्रतिक्रिया, विषय विभाजन, विपरीत इरादा
- *काल्पनिक परिदृश्य*: व्यक्तित्व संशोधन, काल्पनिक
- **चेन-ऑफ-अटैक-थॉट**: प्रत्येक मोड़ पर आक्रमणकारी अपना संदेश तैयार करने से पहले अवलोकन → विचार → रणनीति → प्रतिक्रिया के माध्यम से तर्क करता है
- **तकनीक स्टैकिंग**: एक मोड़ में मजबूत प्रभाव के लिए कई तकनीकों को संयोजित किया जा सकता है
- **ताकत**: मूलभूत रूप से भिन्न दृष्टिकोणों के बीच आक्रामक रूप से स्विच करके कम मोड़ों में (आमतौर पर 3-5) उच्च सफलता दर प्राप्त करता है```bash
augustus scan rest.Rest \
--probe goat.Goat \
--config-file goat.yaml \
--html report.html -v
Hydra
हाइड्रा एक एकल वार्तालाप पथ बनाए रखता है और जब लक्ष्य मना कर देता है तो पूरे टर्न को वापस रोल करता है, हमलावर से पूरी तरह से अलग दृष्टिकोण पूछता है। क्रेसेंडो/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.Crescendo | 10 | क्रमिक वृद्धि | टोन-ट्रैकिंग सुरक्षा फ़िल्टर वाले मॉडल | मध्यम (10 चरण × 3 LLM कॉल) |
goat.Goat | 10 | आक्रामक तकनीक स्विचिंग | त्वरित परिणाम, फ़्रेमिंग ट्रिक्स के प्रति कमज़ोर मॉडल | मध्यम-उच्च (तकनीक तर्क ओवरहेड) |
hydra.Hydra | 10 | इनकार पर बैकट्रैकिंग | जिद्दी मॉडल जो बार-बार इनकार करते हैं | उच्च (बैकट्रैकिंग से पुनर्प्रयास बढ़ते हैं) |
mischievous.MischievousUser | 5 | सामान्य व्यक्तित्व जाँच | प्रतिकूल पैटर्न के विरुद्ध प्रशिक्षित मॉडल | कम (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 | मना करने पर चक्र-स्तरीय रोलबैक (केवल हाइड्रा) |
| `enable_fast_refusal` | true | LLM जज कॉल से पहले पैटर्न-आधारित मना करने का पता लगाना |
| `enable_scan_memory` | false | क्रॉस-टेस्ट-केस सीखना (प्रोब्स में रणनीति साझा करता है) |
| `stateful` | false | स्टेटफुल लक्ष्यों के लिए बैकट्रैकिंग अक्षम करें |
| `exclude_target_output` | false | हमलावर फीडबैक से लक्ष्य प्रतिक्रियाएँ छिपाएँ (गोपनीयता मोड) |
| `attacker_model` | (ऑटो) | संदर्भ विंडो आकार के लिए हमलावर मॉडल नाम ओवरराइड करें |
#### मल्टी-टर्न समस्या निवारण
| लक्षण | संभावित कारण | समाधान |
|---------|-------------|-----|
| `कोई चक्र पूरा नहीं हुआ (attacker_parse_failures=N)` | हमलावर LLM अमान्य JSON लौटा रहा है | एक मजबूत हमलावर मॉडल (GPT-4, Claude Opus) का उपयोग करें। `attack_max_attempts` बढ़ाएँ। |
| `कोई चक्र पूरा नहीं हुआ (target_empty=N)` | लक्ष्य खाली/अशून्य प्रतिक्रियाएँ लौटा रहा है | जाँचें कि लक्ष्य एंडपॉइंट प्रतिक्रिया दे रहा है। REST कॉन्फ़िग टेम्पलेट सत्यापित करें। |
| सभी चक्रों का स्कोर 0.0 | लक्ष्य बहुत अस्पष्ट है या हमलावर संलग्न नहीं हो रहा | `goal` को अधिक विशिष्ट बनाएँ। भिन्न रणनीति आज़माएँ। |
| उच्च स्कोर लेकिन कोई सफलता नहीं | `success_threshold` बहुत अधिक है | `success_threshold` को 0.8 से घटाकर 0.6-0.7 करें |
| रन बहुत लंबा / महँगा | बहुत अधिक चक्र और पुनर्प्रयास | `max_turns` कम करें (5 आज़माएँ)। `enable_fast_refusal: true` सेट करें। |
| हाइड्रा बार-बार बैकट्रैक कर रहा है | लक्ष्य सब कुछ मना करता है | `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 सत्यापन स्वचालित रूप से प्रॉक्सी निरीक्षण के लिए अक्षम किया गया
- आधुनिक API के लिए 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 | मान्यता/उपयोग त्रुटि |
## सामान्य प्रश्न
### Augustus, garak से कैसे तुलना करता है?
Augustus, [garak](https://github.com/NVIDIA/garak) (NVIDIA का Python-आधारित LLM भेद्यता स्कैनर) से प्रेरित एक Go-मूल पुनःकार्यान्वयन है। मुख्य अंतर:
- **प्रदर्शन**: Go बाइनरी बनाम Python इंटरप्रेटर — तेज़ निष्पादन और कम मेमोरी उपयोग
- **वितरण**: बिना रनटाइम निर्भरता वाला एकल बाइनरी बनाम pip install वाला Python पैकेज
- **समवर्तीता**: Go goroutine पूल (क्रॉस-प्रोब समानांतरता) बनाम Python मल्टीप्रोसेसिंग पूल (विथिन-प्रोब समानांतरता)
- **प्रोब कवरेज**: 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"}'
मैं कस्टम प्रोब कैसे जोड़ूं?
internal/probes/में एक नया Go फ़ाइल बनाएंprobes.Probeइंटरफ़ेस को लागू करेंinit()फ़ंक्शन मेंregistry.RegisterProbe()का उपयोग करके रजिस्टर करें- पुनर्निर्माण:
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
### क्या ऑगस्टस उत्पादन वातावरण के लिए उपयुक्त है?
हाँ, ऑगस्टस उत्पादन उपयोग के लिए डिज़ाइन किया गया है, जिसमें शामिल हैं:
- कॉन्फ़िगरेबल सीमाओं के साथ समवर्ती स्कैनिंग
- 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
### त्रुटि: "अमान्य API कुंजी" या "प्रमाणीकरण विफल"
**कारण**: API क्रेडेंशियल गायब या अमान्य।
**समाधान**:
1. पर्यावरण चर सेट है यह सत्यापित करें: `echo $OPENAI_API_KEY`
2. कॉन्फ़िग फ़ाइल में टाइपो की जाँच करें
3. सुनिश्चित करें कि API कुंजी के पास आवश्यक अनुमतियाँ हैं
4. Ollama के लिए, सुनिश्चित करें कि सेवा चल रही है: `ollama serve`
### त्रुटि: "probe नहीं मिला" या "detector नहीं मिला"
**कारण**: नाम में टाइपो या 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
स्कैन कोई परिणाम नहीं देता
कारण: डिटेक्टर किसी भी प्रतिक्रिया से मेल नहीं खाता, या आउटपुट लिखा नहीं गया।
समाधान:
- विस्तृत आउटपुट देखने के लिए
--verboseके साथ चलाएँ - जाँचें कि डिटेक्टर प्रोब प्रकार से मेल खाता है
- सत्यापित करें कि आउटपुट फ़ाइल पथ लिखने योग्य है
योगदान
हम योगदान का स्वागत करते हैं! 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)
एलएलएम को बेंचमार्क करने के लिए एक तैयार-से-उपयोग क्लाउड डेवलपमेंट वातावरण [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
devpod के अंदर:```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 को प्रतिकूल प्रॉम्प्ट भेजता है - हमेशा सुनिश्चित करें कि आपके पास प्राधिकरण है
- कभी भी उन प्रणालियों का परीक्षण न करें जो आपके स्वामित्व में नहीं हैं या जिनके परीक्षण की आपके पास स्पष्ट अनुमति नहीं है
- कुछ प्रोब डिज़ाइन द्वारा आपत्तिजनक सामग्री उत्पन्न करते हैं (सुरक्षा फ़िल्टर के परीक्षण के लिए)
- परिणामों में लक्ष्य LLMs द्वारा उत्पन्न हानिकारक सामग्री हो सकती है
सुरक्षा समस्याओं की रिपोर्ट [GitHub Issues](https://github.com/praetorian-inc/augustus/issues) के माध्यम से करें।
## सहायता
यदि आपको Augustus उपयोगी लगता है, तो कृपया विचार करें:
- इसे GitHub पर **स्टार** देना
- बग या फीचर अनुरोधों के लिए [एक इश्यू खोलना](https://github.com/praetorian-inc/augustus/issues)
- [योगदान](https://github.com/praetorian-inc/augustus/blob/HEAD/CONTRIBUTING.md) नए प्रोब, डिटेक्टर, या प्रदाता एकीकरण
[](https://star-history.com/#praetorian-inc/augustus&Date)
## लाइसेंस
[Apache 2.0](https://github.com/praetorian-inc/augustus/blob/HEAD/LICENSE) - प्रिटोरियन सिक्योरिटी, इंक.
---
**द्वारा निर्मित [Praetorian](https://www.praetorian.com/)** - आक्रामक सुरक्षा समाधान