Garak, NVIDIA가 공개한 LLM 취약점 스캔 도구

Garak 소개

Garak(Generative AI Red-teaming & Assessment Kit)는 NVIDIA가 공개한 대형 언어 모델(LLM) 기반 기술에서 보안 취약점을 탐지하고 해결 방안을 모색하는 도구입니다. LLM의 활용이 증가함에 따라 Garak는 시스템, 애플리케이션 및 서비스를 보호하기 위해 다양한 실패 사례를 분석하고 보고합니다. Garak이 탐지하는 주요 LLM 취약점은 다음과 같습니다:

  • 환각(Hallucination)
  • 데이터 유출
  • 프롬프트 삽입 공격 (Prompt Injection)
  • 잘못된 정보 생성
  • 독성 발언 생성
  • 모델의 보안 회피 (Jailbreaks)

Garak의 주요 기능

Garak는 LLM 보안 취약점을 탐지하고 보고하기 위해 설계된 도구로, 언어 모델 배포와 관련된 고유한 위험을 식별하는 데 초점을 맞추고 있습니다.

LLM 보안에 초점

Garak는 다른 보안 도구와 달리, LLM 배포 시 발생할 수 있는 고유한 위험을 다룹니다:

  • 프롬프트 삽입 공격(Prompt Injection)
  • Jailbreaks: 모델 보안 가드레일 우회
  • 텍스트 재생(Text Replay) 및 데이터 유출
  • 기타 LLM 고유의 취약점

자동화된 스캐닝

  • 무감독 테스트: 사용자 개입 없이 자동으로 다양한 프로브 실행.
  • 구성 가능성: 기본 설정으로도 전체 테스트를 실행할 수 있으며, 사용자가 원하는 대로 설정을 커스터마이즈 가능.
  • 속도 제한 관리: 모델 API 호출 간의 속도 제한을 자동으로 처리.

다양한 LLM과의 호환성

Garak는 여러 LLM 플랫폼과 통합 가능합니다:

  • OpenAI, Hugging Face, Cohere, Replicate 등 주요 플랫폼 지원.
  • Python 커스텀 통합 및 REST API 기반 LLM 추가 가능.
  • 커뮤니티 기반 프로젝트로 지속적인 플랫폼 지원 추가.

구조화된 보고 기능

Garak는 실행 결과를 명확하게 기록하여 제공합니다:

  1. 화면 출력(Screen Output): 스캔 진행 상황 및 예정된 작업을 실시간으로 모니터링.
  2. 보고서 로그(Report Log): 각 프롬프트, 응답, 평가를 세부적으로 기록.
  3. 취약점 로그(Hit Log): 탐지된 취약점 및 관련 세부 정보 기록.
  4. 디버그 로그(Debug Log): 문제 해결 및 Garak의 내부 동작 기록.

Garak의 취약점 스캔 방식

Garak는 다양한 취약점을 탐지하기 위해 정적, 동적, 적응형 탐지를 결합한 방식으로 작동합니다.

  • 정적 탐지(Static Detection): 미리 정의된 프롬프트나 공격 시나리오를 사용하여 LLM을 테스트합니다. 이는 잘 알려진 취약점과 사례를 기반으로 합니다.

  • 동적 탐지(Dynamic Detection): 실행 중에 모델의 응답을 분석하여 예상치 못한 패턴, 실패, 또는 이상 동작을 탐지합니다.

  • 적응형 탐지(Adaptive Detection): 학습된 사례를 기반으로 새로운 공격 전략을 자동으로 생성하고 테스트를 지속적으로 개선합니다. 예를 들어, 실패한 공격 로그를 활용해 점점 더 정교한 프롬프트를 생성할 수 있습니다.

  • 프로브 기반 접근(Probing Framework): 다양한 플러그인과 프로브를 사용하여 각 취약점 유형(프롬프트 삽입, 텍스트 재생 등)에 맞춘 테스트를 수행합니다.

라이선스

Garak은 Apache-2.0 라이선스로 공개 및 배포됩니다. 자세한 내용은 GitHub 저장소의 라이선스 문서를 참고해주세요.

:scroll: Garak: A Framework for Security Probing Large Language Models

:github: Garak GitHub 저장소

:books: Garak 공식 문서 사이트




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: