Skip to main content
Failproof AI는 강제 적용 실패가 위험한 작업을 자동으로 허용하지 않고 눈에 띄게 드러나도록 설계되었습니다.

실패 차단 진단

  1. Admin → enforcement로 이동하여 해당 머신을 엽니다.
  2. 마지막 체크인, 할당된 배포, 보고된 배포를 확인합니다.
  3. Observe → policy로 이동하여 거부된 결정의 세션을 엽니다.
  4. 거부 이유가 데몬 접근성, 버전 불일치, 또는 정책 자체와 관련된 것인지 확인합니다.
failproofaid를 사용하도록 구성된 머신에서는 데몬이 유일한 평가자입니다. 데몬에 접근할 수 없거나 프로토콜 버전이 CLI와 일치하지 않으면, 훅 평가가 차단 상태로 실패합니다. 해당 작업은 거부되며, 운영자에게 데몬을 확인하거나 업데이트하도록 안내하는 이유가 표시됩니다. 데몬 구성 전에는 훅이 프로세스 내에서 정책을 평가합니다. 데몬 구성이 기록된 이후에는 Failproof AI가 데몬 실패 시 두 번째 평가자로 자동 전환하지 않습니다.

실패 차단 결정에 대응하기

  1. failproofai config --status를 실행합니다.
  2. 버전이 다를 경우, 패키지를 업데이트한 후 failproofai config를 다시 실행합니다.
  3. 데몬에 접근할 수 없는 경우, 서비스 상태와 로컬 로그를 확인합니다.
  4. 정책 평가 경로가 정상임을 확인한 후에만 에이전트 작업을 재개합니다.
차단된 작업을 반복해서 재시도하지 마십시오. 실패 차단 응답은 시스템이 해당 작업의 안전성을 확인하지 못했음을 의미합니다.

팩이 로드되지 않는 경우

팩을 적용하도록 지시받은 머신이 해당 팩을 실행할 수 없는 경우, 조용히 계속 진행하지 않고 거부합니다. 트리거는 기록된 기대치이며, 비어 있는 기대치가 아닙니다. 팩이 설치되지 않은 머신은 아무 반응도 하지 않지만, 선언되었지만 확인되지 않는 팩이나 매니페스트에 선언된 것보다 적게 등록된 팩은 거부합니다. 이 거부는 접근할 수 없는 데몬의 경우와 달리 범위가 좁습니다. 데몬에 접근할 수 없다는 것은 평가가 전혀 이루어지지 않았음을 의미하므로, 어떤 것도 안전하다고 알 수 없습니다. 반면 로드되지 않는 팩은 누락된 가드의 목록을 열거할 수 있습니다. 선언된 각 정책에는 자체 match가 있기 때문에, 해당 정책이 적용하는 이벤트와 도구만 거부하고 나머지는 계속 진행됩니다. 다음 경우에는 거부가 발생하지 않습니다:
  • 구성상 평가 후 폐기하는 observe
  • 사용한 적 없거나 명시적으로 비활성화된 정책
  • 로더가 수신한 적 없는 팩 (이 경우 “등록 없음”과 의도적인 건너뜀을 구분할 수 없음)
  • 활성 세션 일시 중지
  • 로드 타임아웃 (일시적인 현상) — 디스크가 잠깐 느린 순간 때문에 사람이 개입하기 전까지 거부가 발생해서는 안 됨
UserPromptSubmit은 누락된 정책이 무엇을 선언했든 거부 대신 instruct합니다. 전면적인 거부는 문제를 해결할 수 있는 에이전트에서도 차단을 야기하기 때문입니다.

해결 방법

이 명령은 로드되지 않는 설치된 팩의 이름과 이유를 출력하고 비정상 종료 코드로 종료합니다. 이후 팩을 재설치하거나(failproofai pack add <source>) 제거하십시오(failproofai pack remove <publisher/name>). 제거하면 기대치가 철회되고 거부도 함께 중단됩니다.