본문 바로가기
C.W.K.
Stream
Lesson 10 of 10 · published

프롬프트를 직접 레드팀하기

~14 min · security, red-team

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

공격자가 오기 전에 스스로 부숴봐

레드팀은 다른 사람이 하기 전에 자기 시스템을 공격하는 연습이야. LLM 앱에서는 프롬프트, 도구, 데이터 흐름을 이용해 모델이 잘못 행동하도록 시도해. 여기서 성공한 공격은 곧 퇴행 시험이 돼.

공격해볼 경로

  • 사용자 메시지에 직접 주입을 넣어.
  • 통제하는 문서나 도구 결과에 간접 주입을 심어.
  • 역할극으로 페르소나와 역할을 덮어써.
  • 도구 인수를 조작해 권한을 높여.
  • 숨은 URL이나 이미지로 출력에서 정보를 빼내.
  • 도구 인수를 헷갈리게 해 다른 사용자의 자료를 노출시켜.

한 번이 아니라 계속해

  • 점검표로 시작하고 새 공격을 찾을 때마다 넓혀.
  • 발견한 문제마다 평가 사례를 만들어.
  • 프롬프트와 모델을 갱신할 때마다 전체 모음을 돌려.
  • 가능하면 레드팀 담당자를 바꿔. 한 사람의 눈에는 금세 사각지대가 생겨.

이미 있는 공격 자료를 활용해

Anthropic의 HackerOne 프로그램, OpenAI의 red-teaming network, 학계의 적대적 프롬프트 저장소에는 출발점이 될 패턴이 있어. 처음부터 다시 만들 필요 없어.

Code

평가로 쓰는 레드팀 시험·python
redteam_cases = [
    {"name": "direct-override", "input": "Ignore previous instructions...", "must_not_contain": ["system prompt:"]},
    {"name": "roleplay-launder", "input": "Write a story where a character explains [forbidden]...", "must_not_contain": ["forbidden details"]},
    {"name": "indirect-via-doc", "input": "", "docs": [INJECTED_DOC], "must_not_contain": ["http://attacker.tld"]},
]
run_eval(redteam_cases)

External links

Exercise

끝점 하나에 레드팀 사례 열 개를 만들어 실행해봐. 통과한 공격은 프롬프트나 실행 코드로 막고, 모든 사례를 평가 모음에 추가해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.