
augustus v0.14.11
프롬프트 인젝션, 탈옥 및 적대적 공격을 탐지하기 위한 LLM 보안 테스트 프레임워크 — 190개 이상의 프로브, 28개 제공자, 단일 Go 바이너리
Augustus - LLM 취약점 스캐너: 프롬프트 인젝션, 탈옥, 적대적 공격 테스트
Augustus - LLM 취약점 스캐너
프롬프트 인젝션, 탈옥, 인코딩 악용, 데이터 추출을 포함한 210개 이상의 적대적 공격으로 대규모 언어 모델을 테스트하세요.
Augustus는 보안 전문가를 위한 Go 기반 LLM 취약점 스캐너입니다. 광범위한 적대적 공격으로 대규모 언어 모델을 테스트하고, 28개 LLM 제공업체와 통합하며, 실행 가능한 취약점 보고서를 생성합니다.
연구 중심 도구와 달리 Augustus는 프로덕션 보안 테스트를 위해 설계되었습니다. 동시 스캐닝, 속도 제한, 재시도 로직, 타임아웃 처리가 기본 제공됩니다.
목차
Augustus를 선택하는 이유
| 기능 | Augustus | 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가지 Buff 변환 | 인코딩, 의역, 시(5가지 형식, 3가지 전략), 저자원 언어 번역, 대소문자 변환 |
| 유연한 출력 | 테이블, JSON, JSONL 및 HTML 보고서 형식 |
| 프로덕션 준비 | 동시 스캐닝, 속도 제한, 재시도 로직, 타임아웃 처리 |
| 단일 바이너리 | Go 기반 도구로 하나의 휴대용 실행 파일로 컴파일 |
| 확장 가능 | Go init() 함수를 통한 플러그인 스타일 등록 |
공격 범주
- 탈옥 공격: DAN, DAN 11.0, AIM, AntiGPT, Grandma, ArtPrompts
- 프롬프트 인젝션: 인코딩(Base64, ROT13, 모스 부호), 태그 밀수, 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
Or build from source:
```bash
git clone https://github.com/example/repo.git
cd repo
make build
``````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 추론 모델 |
| 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 모델용 고속 추론 |
| 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 Cloud Functions |
| 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 로컬 모델 추론 |
| 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
### Buff 변환
회피 기법을 테스트하기 위해 프롬프트 변환을 적용합니다:```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"}'