파괴적 명령 탐지기(EA) 사용

Prev Next

개요

AI 코딩 워크플로에서 의도하지 않은 삭제 위험을 줄이기 위해 파괴적 명령 탐지기를 사용하세요. 이 탐지기는 파일, 리소스 또는 데이터를 삭제하는 명령을 상호작용의 맥락과 함께 평가합니다.

AI 보안 코딩 에이전트 정책에서 탐지기를 사용하여 파괴적 작업에 대한 경고를 보내거나 실행 전에 이를 완전히 차단할 수 있습니다.

탐지기가 컨텍스트를 사용하는 방법 이해하기

삭제 명령은 의도된 워크플로의 일부일 수 있으며 AI 에이전트가 도입한 예상치 못한 작업일 수 있습니다. 명령만으로는 사용자가 이를 요청했는지 여부를 확인할 수 없습니다.

파괴적 명령 탐지기는 AI 분석과 명령 패턴 매칭을 결합하여 평가합니다:

  • 툴 호출이 파괴적 작업을 실행하는지 여부
  • 작업이 어떤 파일, 리소스 또는 데이터에 영향을 미치는지
  • 사용자가 작업을 명시적으로 요청하거나 승인을 했는지 여부를 보여주는 대화를 사용 가능한지 확인합니다

예를 들어, 생성된 빌드 아티팩트를 삭제하는 것과 지속 데이터가 포함된 프로젝트 디렉터리를 삭제하는 것은 다릅니다. 유사하게, 에이전트에게 오류를 진단하도록 요청하는 것은 명시적 삭제 권한을 부여하지 않습니다.

탐지기는 먼저 잠재적으로 파괴적인 명령을 식별하고 툴 호출 컨텍스트 내에서 그 영향을 검토합니다. 파괴적으로 식별된 명령에 대해, 사용자가 주어진 권한을 확인하기 위해 사용 가능한 대화를 검토합니다.

분석이 파괴적 작업에 대한 명시적인 요청 또는 승인을 식별하면 탐지기는 이를 억제합니다. 암시된 의도나 불분명한 승인으로는 동일한 증거를 제공하지 않습니다.

이 작업은 사용자가 명시적으로 요청하거나 승인하지 않은 파괴적 작업의 정책 적용에 집중하도록 도와줍니다.

플레이그라운드에서 탐지기 탐색

플레이그라운드를 사용하여 정책 적용 전에 다양한 상호작용 컨텍스트에서 명령이 평가되는 방식을 탐색합니다.

집중 테스트를 위해 파괴적 명령만 포함된 엔진 프로파일을 사용하세요. 이렇게 하면 이 탐지기에 결과를 명확하게 귀속시킬 수 있습니다.

사용자 요청과 제안된 툴 호출을 테스트 상호작용에 포함합니다. 일반적인 대화 텍스트에 삽입된 삭제 명령은 이를 실행하는 툴 호출의 활동과 동일하게 표시되지 않습니다.

플레이그라운드에서 탐지기를 테스트하려면:

  1. 네비게이션 메뉴에서 AI 보안 > 플레이그라운드를 선택합니다.
  2. 파괴적 명령을 포함하는 엔진 프로파일을 활성화합니다.
  3. 아래에 설명된 예시 상호작용을 추가합니다.
    [대화 메시지 입력 및 실행 가능한 툴 호출을 위한 검증된 절차 삽입]
  4. 실행 시뮬레이터를 클릭합니다.
  5. 프로파일이 위반을 유발하는지 검토합니다.
  6. 제안된 도구 호출을 변경하지 않고 사용자의 요청을 변경한 후, 시뮬레이션을 다시 실행합니다.

[상호작용 및 탐지 결과를 보여주는 스크린샷 삽입]

일반적인 플레이그라운드 워크플로를 보려면 플레이그라운드에서 엔진 프로파일 테스트를 참조하십시오.

다양한 컨텍스트에서 동일한 작업 비교

이 섹션에서는 코딩 에이전트가 의도하지 않은 작업을 수행한 경우와 사용자가 명시적으로 무언가를 삭제하라고 요청한 두 가지 시나리오를 검토합니다.

인터랙션 사용자 요청 제안된 도구 작업
예상치 않은 삭제 애플리케이션이 프로젝트 데이터를 로드할 수 없는 이유를 진단합니다 프로젝트 데이터 디렉터리를 삭제합니다
명시적으로 요청된 삭제 프로젝트 데이터 디렉터리를 삭제합니다. 저는 더 이상 그 내용을 필요로 하지 않습니다 동일한 디렉터리를 삭제합니다

첫 번째 인터랙션에서 사용자는 Git 리포지토리를 정리하는 데 도움을 요청합니다. 어시스턴트는 커밋되지 않은 변경 사항을 버릴 것인지 묻고, 그렇지 않다는 답을 듣고도 Git 재설정을 시도합니다 (테스트 목적으로 세션이 첨부됨: destructive-command-unintended.json).

destructive-command-unintended.png

두 번째 인터랙션에서는 사용자가 삭제와 그 대상의 이름을 지정합니다. 디텍터는 이 요청을 인증 증거로 확인합니다 (테스트 목적으로 세션이 첨부됨: destructive-command-confirmed.json).

destructive-command-confirmed.png

제안된 작업은 두 경우 모두 동일합니다. 대화는 사용자가 그 작업을 의도했는지에 대한 다양한 증거를 제공합니다.

두 인터랙션을 테스트 환경에서 실행하고 결과를 비교합니다. 사용자의 요청과 함께 작업 및 대상의 리뷰를 통해 각 결과를 해석합니다.

이 정확한 인터랙션들을 테스트한 후 관찰된 결과를 추가합니다. 위의 비교는 구현된 결정 논리를 설명합니다

코딩 에이전트 정책에 디텍터 추가

Destructive Commands를 적용하여 관리하고자 하는 코딩 에이전트 활동에 연결합니다. 규칙에 포함된 사용자, 코딩 에이전트 및 도구를 정의한 후, 시행 작업을 선택합니다.

보호 목표에 따라 작업을 선택하세요:

보호 목표 정책 행동
감지된 파괴적인 작업에 대한 가시성을 얻습니다 활동에 대한 알림
감지된 파괴적인 작업을 방지합니다 작업을 차단합니다
제안된 작업을 검토할 기회를 사용자에게 제공합니다 실행 전에 확인을 요구합니다

일반 정책 워크플로우에 대해서는 코딩 에이전트 정책 구성을 참조하세요.