Мэдээ

Augustus: AI Загвар болон Агентуудын Цоорхойг Илрүүлэх Go Дээр Бичигдсэн Анхны Сканнер

TOGTOKHTOGTOKH·2026 оны наймдугаар сарын 12·1 үзсэн·
Augustus: AI Загвар болон Агентуудын Цоорхойг Илрүүлэх Go Дээр Бичигдсэн Анхны Сканнер

Сүүлийн үед програм хангамжийн хөгжүүлэлтэд Large Language Model (LLM) болон AI Агентуудыг системдээ шууд интеграци хийн ашиглах нь ердийн стандарт болж байна. Гэвч AI-ийг системдээ нэвтрүүлэхийн хэрээр Prompt Injection, Jailbreak, өгөгдөл алдагдах (data exfiltration) болон Агентаар дамжуулан хортой тушаал биелүүлэх зэрэг аюулгүй байдлын шинэ төрлийн эрсдэлүүд ар араасаа илрэх боллоо.

Ийм төрлийн эрсдэлийг илрүүлэх судалгааны хэрэгслүүд одоогоор голдуу Python хэл дээр бичигдсэн байдаг бөгөөд тэдгээрийг DevSecOps пайплайнд оруулах, CI/CD автоматжуулалтад ашиглахад орчин тохируулах болон санах ойн нөөц зарцуулалтаас шалтгаалан төвөгтэй байдаг. Энэхүү асуудлыг шийдвэрлэхээр offensive security чиглэлээр мэргэшсэн Praetorian компани тусгайлан зохион бүтээсэн Augustus хэмээх нээлттэй эх бүхий LLM аюулгүй байдлын сканнерыг танилцууллаа.


Augustus гэж юу вэ?

Augustus нь LLM болон AI агентуудын сул тал, цоорхойг автоматаар хайж шалгах зориулалттай Go хэл дээр бичигдсэн, Apache 2.0 лицензтэй нээлттэй эх бүхий хэрэгсэл юм.

Энэхүү хэрэгсэл нь судалгааны түвшинд ашиглагддаг хэрэгслүүдээс ялгаатай нь шууд үйлдвэрлэлийн (production) орчинд ажиллаж буй системүүдийг шалгахад тусгайлан зориулагдсан. Үндсэн үзүүлэлтүүдээс дурдвал:

  • 210+ Аюулгүй байдлын Проб (Probes): 47 өөр халдлагын ангилалд хамаарах (Jailbreak, Prompt Injection, Encoding Exploits, Data Extraction, Agent Attacks гэх мэт) аюулгүй байдлын сорилтуудыг багтаасан.
  • 28 LLM Провайдер дэмжинэ: OpenAI, Anthropic, Azure OpenAI, AWS Bedrock, Google Vertex AI, Ollama болон бусад 22 өөр үйлчилгээ үзүүлэгчийг шууд холбож тестийг параллелиар ажиллуулах боломжтой.
  • 90+ Илрүүлэгч (Detectors): Pattern matching, HarmJudge болон LLM-as-a-judge зарчмаар загварын хариулт хортой эсэхийг олон шатлалт ложикоор үнэлнэ.
  • 7 Төрлийн Buff хувиргалт: Халдлагын промт бүрийг Base64, ROT13, Morse код руу хөрвүүлэх эсвэл өөр хэл рүү орчуулан хамгаалалтын фильтерийг (guardrails) давах туршилтуудыг хийдэг.

Яагаад заавал Go хэл ба Single Binary гэж?

Одоогоор салбарт өргөн хэрэглэгдэж буй garak (Python) эсвэл promptfoo (TypeScript) зэрэг хэрэгслүүд нь хүнд тохиргоо шаарддаг бөгөөд олон тооны санах ой эзлэх сангуудаас хамааралтай байдаг. Харин Augustus нь Go хэлээр бичигдсэн тул ганц single binary файл болж компил хийгддэг.

Энэ нь хөгжүүлэгчид болон DevSecOps инженерүүдэд дараах техникийн бодит давуу талуудыг олгож байна:

  1. Өндөр хурд болон Зэрэгцээ ажиллагаа: Go-ийн goroutines болон worker pool архитектурыг ашиглан олон зуун аюулгүй байдлын сорилтыг сүлжээний гацалтгүйгээр зэрэгцээ горимд ажиллана.
  2. Rate Limiting ба Retry Logic: Үйлдвэрлэлийн API-уудын хязгаарлалтад (rate limit) тулахгүйгээр автоматаар хүсэлт хоорондын хугацааг зохицуулж, сүлжээний алдаа гарсан үед дахин ажиллах логиктой.
  3. CI/CD Орчны Хялбар Интеграци: Docker чингэлэг болон GitHub Actions, GitLab CI пайплайнд ямар нэг нэмэлт номын сан суулгах шаардлагагүйгээр ганц тушаалаар биелүүлнэ.

Augustus-ийн Модульчлагдсан Архитектур

Augustus төсөл нь Go хэлний цэвэр архитектурын зарчмыг баримталсан бөгөөд хөгжүүлэгч өөрийн системд тохирсон пробыг нэмэхэд маш хялбар. Дотооддоо 4 үндсэн интерфейс дээр суурилдаг:

  • Prober: Халдлагын вектор болон туршилтын промтуудыг үүсгэнэ.
  • Generator: LLM API эсвэл Агент руу хүсэлт илгээж, хариултыг хүлээж авах wrapper интерфейс.
  • Detector: Загварын хариултыг шинжлэн 0.0 (аюулгүй)-аас 1.0 (эвдэгдсэн) хүртэлх оноогоор эрсдэлийг үнэлнэ.
  • Buff: Илгээж буй промтыг замдаа хувиргах (Base64 encoding, Paraphrase) трансмодуль.

Бүх шинэ пробыг Go хэлний init() функцээр өөрийгөө автоматаар бүртгэдэг глобал регистри (global registry) паттернээр шийдсэн тул кодлогчид үндсэн сканнерын логикийг өөрчлөх шаардлагагүй. Түүнчлэн Nuclei сканнерын адилаар YAML файл ашиглан код бичихгүйгээр шинэ сорилтын промтуудыг тодорхойлох боломжийг олгосон байна.


AI Агентад чиглэсэн аюултай халдлагуудыг шалгах нь

Augustus-ийн өөр нэг онцлог нь зөвхөн хэрэглэгчийн чатботыг шалгаад зогсохгүй, тушаал биелүүлдэг AI Агентуудыг (Agent Attacks) шалгах сорилтуудыг агуулсан.

Хөгжүүлэгчид AI Агентад API дуудах, файл унших/бичих, тушаал ажиллуулах эрх өгдөг. Augustus дараах халдлагуудыг загварчлан туршдаг:

  • Indirect Prompt Injection: Вэб хуудас эсвэл баримт бичигт нуусан хортой зааварчилгаагаар дамжуулан агентыг төөрөгдүүлж бусад файл эсвэл системд халуулах.
  • Tag Smuggling & Encoding: Хаалт болон фильтерийг нууцлагдсан HTML/XML таг эсвэл Base64 хэлбэрээр даван гарах.
  • Data Extraction: Агентын санах ой эсвэл систем дэх API key, токен, нууц өгөгдлийг гадагш лог руу эсвэл хариултад задлах.

Хэрхэн ашиглаж эхлэх вэ?

Augustus-ийг эх код дээрээс нь компил хийн ашиглахад тун хялбар. Доорх тушаалаар Go орчинд шууд ажиллуулж болно:

# Төслийг татаж авах
git clone https://github.com/praetorian-inc/augustus.git
cd augustus

# Бинари бэлтгэх
make build

# OpenAI загвар дээр Jailbreak болон Prompt Injection сорилт ажиллуулах
./bin/augustus scan \
  --provider openai \
  --model gpt-4o \
  --api-key $OPENAI_API_KEY \
  --probes jailbreak.*,prompt_injection.* \
  --output report.html

Энэхүү тушаал нь OpenAI-ийн gpt-4o загвар руу аюулгүй байдлын сорилтыг аюулгүй байдлын протоколын дагуу илгээж, туршилтын үр дүнг иж бүрэн HTML тайлан хэлбэрээр үүсгэж өгнө.


Дүгнэлт

AI системүүд код бичихээс эхлээд бизнесийн чухал шийдвэрүүдийг автоматаар гаргадаг болж буй өнөө үед тэдгээрийн аюулгүй байдлыг код бичих бүрдээ автоматжуулан шалгах (Continuous Security Testing) шаардлага тулгарч байна. Augustus нь Go хэлийг сонгосноор өндөр хурд, бага нөөц, CI/CD-д шууд тохирох байдлыг шийдэж чадсан нь AI DevSecOps-ийн салбарт томоохон дэвшил болж байна.

Эх сурвалж: GitHub - praetorian-inc/augustus

Сэтгэгдэл

Ачаалж байна...