트레이스 수준 탐지(Trace-Level Detections)

트레이스 수준 탐지(Trace-Level Detections)

AI 애플리케이션이 추적(trace)되고 test_case_id(멀티턴이면 turn_id)를 통해 위험 평가에 연결되면, 평가가 끝난 뒤 Confident AI가 트레이스 안의 각 스팬(span)마다 보안 취약점을 스캔해요. 이렇게 스팬 단위로 만들어진 발견 항목을 **탐지(Detections)**라고 부르죠. 즉 통과/실패 평가만이 아니라, 어느 스팬에서 문제가 시작됐는지까지 함께 확인할 수 있어요.

출처: 문서

본문

개요

AI 애플리케이션이 추적되고 test_case_id(멀티턴이면 turn_id)로 위험 평가에 연결되면, 평가가 완료된 후 Confident AI가 트레이스 안의 각 스팬을 취약점이 있는지 스캔해요. 이렇게 스팬 단위로 만들어진 발견 항목을 **탐지(Detections)**라고 해요.

이 기능을 쓰려면 AI 애플리케이션이 추적 가능하도록 계측(instrumented)되어 있어야 해요. 시작하려면 LLM 트레이싱 소개를 참고하세요.

동작 방식

sequenceDiagram
    participant User as You
    participant Platform as Confident AI
    participant Framework as Security Framework
    participant AI as Your AI App

    User->>Platform: Start Risk Assessment

    Platform->>Framework: Load vulnerabilities & attacks

    loop For each vulnerability and attack
        Framework-->>Platform: Generate adversarial input
        Platform->>AI: Send attack (with test_case_id)
        AI-->>Platform: Return response
        Note over AI,Platform: AI emits trace with test_case_id
        Platform->>Framework: Evaluate response (pass/fail)
    end

    Note over Platform: Scan each linked trace span for vulnerability findings
    Platform-->>User: Risk Assessment Report + Detections in trace view

트레이스 스캔은 평가가 확정된 뒤 실행돼요. 트레이스를 테스트 케이스에 연결하는 것 외에 별도 설정은 필요 없어요.

사전 요구 사항

  • Confident AI에서 추적이 가능하도록 계측된 AI 애플리케이션 — LLM 트레이싱 소개 참고
  • 각 트레이스가 test_case_id(싱글턴) 또는 turn_id(멀티턴)로 자기 테스트 케이스에 연결되어 있음 — 아래 설정 방법 참고

트레이스를 테스트 케이스에 연결하기

Confident AI가 AI 커넥션(AI Connection)으로 공격을 보낼 때, 요청 페이로드에 test_case_id를 포함시켜요. 이 ID를 트레이싱 구현에 넘겨 주면, Confident AI가 트레이스를 올바른 테스트 케이스와 매칭시킬 수 있어요.

AI 커넥션(AI Connections)

Confident AI는 요청 페이로드에 testCaseId(멀티턴이면 turnId)를 자동으로 보내요. 트레이싱 설정에 그대로 전달해 주세요.

설정 방법과 코드 예시:

OpenTelemetry

루트 스팬에 confident.trace.test_case_id 속성을 설정하면 트레이스가 연결돼요.

속성 참고와 예시:

탐지(Detections)

탐지는 특정 스팬에 귀속된 취약점 발견 항목이에요. 평가에 설정된 평가 모델이 각 스팬의 입력·출력과 함께 실행 트리에서의 위치를 분석해, 취약점이 도입됐는지 판단해요.

결과(Outcomes)

Outcome 설명
materialized 스팬이 위반 콘텐츠를 만들었고 그것이 사용자에게까지 도달했어요. 어떤 하위 스팬도 막지 못했죠.
mitigated 스팬이 위반 콘텐츠를 만들었지만 최종 출력 전에 하위 스팬이 정화·차단·대체했어요.
attempted 취약점을 도입하려는 명확한 시도는 있었지만 위반은 발생하지 않았어요.

materialized와 mitigated를 구분하려면 평가 모델이 부모-자식 스팬 체인을 가로질러 추론할 수 있어야 해요. 깊거나 복잡한 트레이스 트리에서는 더 유능한 모델이 이 작업을 더 안정적으로 처리해요.

탐지 보기

탐지가 있는 스팬은 트레이스 트리에 방패 아이콘이 표시돼요. 아무 스팬이나 클릭하고 Detections 탭을 열면 해당 스팬의 전체 발견 목록을 볼 수 있어요 — 결과, 취약점 유형, 공격 벡터, 사유까지 확인할 수 있죠.

트레이스 트리의 방패 아이콘과 스팬 상세 패널의 Detections 탭

스팬 귀속(Span attribution)

탐지는 취약점을 도입한 스팬에 귀속되며, 부모나 래퍼 스팬에는 귀속되지 않아요. 예를 들어 자식 LLM 스팬이 유해 콘텐츠를 만들고 부모 가드레일 스팬이 출력 전에 차단했다면:

  • 자식 LLM 스팬에는 mitigated 탐지가 붙어요
  • 부모 스팬에는 탐지가 없어요

즉 멀티 스팬 파이프라인의 탐지는 문제가 어디서 시작했는지를 보여주지, 어떤 스팬이 출력을 그대로 전달했는지를 보여주지는 않아요.

참고 사항

  • 트레이스 스캔은 테스트 케이스 최종 출력에 대한 표준 통과/실패 평가와 함께 실행돼요. 둘 다 평가 화면에 나타나요.
  • 트레이스 스캔은 보안 프레임워크의 취약점 정의를 사용해요. 커스텀 취약점도 포함되죠.
  • 탐지는 test_case_id 또는 turn_id로 트레이스가 연결된 모든 추적 애플리케이션에 대해 생성돼요.

다음 단계

위험 프로필(Risk Profiles)

여러 평가 전반에서 CVSS 점수, 취약점 커버리지, 악용 가능성 분석을 확인하세요.

LLM 트레이싱 소개

Confident AI에서 AI 애플리케이션을 추적 가능하도록 계측해 보세요.

더 알아보기