본문 바로가기

전체 글744

차단 한 줄 너머: Log·Trace·Metric·Alert로 재구성하는 LLM 연속 공격 새벽 2시 18분, LLM 서비스에서 정책 차단이 반복됐다는 경보가 울렸다. 애플리케이션은 요청을 막았다고 응답했지만 사고 대응자가 알아야 할 것은 그 이상이다. 누가 어떤 권한으로 들어왔고, 어느 방어선을 시험했으며, 검색·모델·도구 실행 중 어디까지 도달했는지를 연결해야 한다. LLM 보안 관제는 위험한 문장 하나를 찾는 일이 아니다. 인증 주체, 정책 결정, 실행 경로, 실제 부작용과 반복 패턴을 이어 공격자의 행동을 재구성하는 일이다. request_id는 요청 한 건의 접수번호이고, trace_id는 여러 서비스에 흩어진 처리 단계를 꿰는 실이다.이 글의 시간, 식별자, 로그와 수치는 모두 가상 시나리오 예시이며 실제 측정값이 아니다. 한 건이 아니라 행동을 본다인증된 usr_7f3는 먼저 te.. 2026. 9. 3.
발견을 방어로 바꾸기: Testcase와 정책 승격 Red Team 도구가 실패 후보를 찾았다고 방어가 강화되는 것은 아니다. 재현 가능한 Testcase로 정제하고, 정책 변경을 Review·Canary·Rollback이 있는 배포 절차로 승격해야 같은 공격이 다시 들어왔을 때 막을 수 있다. 이번 시리즈에서는 NeMo Guardrails와 Colang, Nova Lite 기반 Safety 분류, Microsoft Presidio, 직렬 Guardrail, Promptfoo, Garak과 PyRIT를 차례로 살펴봤다. 마지막 편에서는 이 도구들을 하나의 개선 Loop로 연결한다. 실제 개인정보와 공격 대상은 사용하지 않고 합성 문장과 Test Tenant만 사용한다.Finding, Testcase, 정책은 서로 다르다Finding은 “이 입력에서 이상한.. 2026. 9. 3.
새로운 공격 찾아내기: Garak과 PyRIT 회귀 테스트는 이미 알고 있는 실패를 다시 막는 데 강하지만, 아직 Testcase가 없는 공격은 찾지 못한다. Garak과 PyRIT는 LLM이나 AI Application에 여러 Probe와 대화 전략을 시도하고, 예상하지 못한 실패 후보를 수집하는 AI Red Teaming 도구다. 두 도구는 “자동 취약점 확정기”가 아니다. 결과는 탐지기와 Scorer의 판정이며 False Positive가 있을 수 있다. 이번 실습은 본인이 소유한 로컬 Test Target, 합성 데이터와 읽기 전용 기능만 사용한다. 발견된 결과는 사람이 Trace와 정책을 검토한 뒤에만 취약점 또는 회귀 Testcase로 승격한다.Garak과 PyRIT는 무엇이 다른가Garak은 다양한 Probe를 Target Generat.. 2026. 9. 3.
방어선 조립하기: 직렬 가드레일과 Control Plane 직렬 가드레일은 하나의 요청이 여러 검사 관문을 정해진 순서로 통과하게 만드는 구조다. Control Plane은 그 관문을 직접 통과하는 길이 아니라, 어떤 정책과 Model을 어느 순서로 실행할지 배포하고 Version을 관리하는 제어 계층이다. 앞선 실습에서 NeMo Guardrails, Nova Lite 기반 Safety 분류와 Microsoft Presidio를 각각 확인했다. 이제 중요한 질문은 “도구를 몇 개 켰는가”가 아니라 “누가 순서를 정하고, 실패를 어떻게 합치며, 정책 변경을 어떻게 추적하는가”다. 이번 글에서는 합성 Testcase로 직렬 Data Plane을 만들고 작은 Control Plane 계약을 추가한다.Data Plane과 Control Plane을 먼저 구분하자Data.. 2026. 9. 3.
개인정보 방어선: Microsoft Presidio Presidio는 문장 속 개인정보(PII, Personally Identifiable Information)를 찾아 가리거나 바꾸는 오픈소스 도구 모음이다. LLM이 “이 문장은 안전하다”고 판단하는 것과 별개로, 이메일·전화번호·계정 식별자처럼 형태가 있는 민감정보를 코드로 검사하는 방어선을 만든다. 이전 편의 Nova Lite와 NeMo Self-check가 요청의 의미와 의도를 분류했다면, Presidio는 데이터 안의 개인정보 구간을 찾는다. 둘은 경쟁 제품이 아니라 서로 다른 실패를 줄이는 계층이다. 이번 실습에서는 합성 데이터만 사용해 Analyzer로 위치를 찾고, Anonymizer로 마스킹한 뒤 NeMo Retrieval Rail에 연결한다. 이름에는 Microsoft가 남아 있지만, .. 2026. 9. 3.
첫 번째 방어선: NeMo Guardrails와 Colang LLM 애플리케이션의 첫 번째 방어선은 모델에게 “안전하게 답해”라고 부탁하는 문장이 아니다. 사용자의 입력이 모델에 도달하기 전 검사하고, 대화의 진행 방향과 Tool 실행을 제한하며, 생성된 출력까지 다시 확인하는 실행 가능한 정책 계층이 필요하다. NVIDIA NeMo Guardrails는 이 정책 계층을 만드는 오픈소스 도구이고, Colang은 허용할 대화 흐름과 차단 조건을 기술하는 이벤트 기반 언어다. 이번 글에서는 NeMo Runtime과 다섯 Rail의 위치를 이해하고, Colang 2.x로 가장 작은 Input Rail을 작성해 정상·차단 입력을 직접 확인한다.NeMo Guardrails가 맡는 일NVIDIA 공식 아키텍처에서 NeMo Guardrails는 Application과 LLM·.. 2026. 9. 3.