하네스를 안전하게 쓰는 아홉 가지 방법

ai-agentharnesssecurity

안녕하세요! 재니미입니다.

지난 글 「하네스는 지키는 곳이자 뚫리는 곳이다」에서 권한·설계구성·행동·구조·책임소재, 다섯 가지 보안 리스크를 봤습니다. 리스크를 안다고 저절로 안전해지지는 않으니, 이번 글에서는 ASD·ACSC 가이드가 제시한 실제 대응 방법 아홉 가지를 봤습니다.

아홉 가지 방법

방법 요지
통제된 환경에서 돌리기 작업에 필요한 도구·권한만 담고, 프로덕션·민감 데이터 접근을 제한
보안 코딩·검증 규칙 적용 위험한 행동 금지, 도구 입출력 검증, 민감한 작업은 사람 승인 필수
결과물은 쓰기 전에 검증 그럴듯하게 읽힌다고 맞는 게 아님. 책임은 결국 사람에게 있음
비용 통제·모니터링 이상 소비를 감지하면 오남용·폭주·공격의 신호일 수 있음
빠짐없는 감사 로그 프롬프트·응답·도구 호출·승인·설정 변경까지 전부 기록
신뢰할 수 있는 모델 선택 모델 자체의 안전장치를 하네스 통제의 대체재로 쓰지 않음
최소한의 컨텍스트만 유지 낡은 내용은 요약 대신 삭제. 중요한 사실은 별도로 저장
탐색은 서브 에이전트로 격리 범위를 좁힌 서브 에이전트에만 권한을 줘서 노출을 제한
상시 규칙 파일 유지 표준·금지 사항·빌드 명령을 매 세션 읽는 파일로 고정

하나씩 보면 이렇습니다.

  1. 통제된 환경에서 돌리기: 작업에 필요한 도구와 권한만 담고, 프로덕션 시스템·민감 데이터·네트워크 서비스 접근을 제한합니다. 3편에서 본 실행 환경과 권한 시스템을 처음부터 좁게 잡아두라는 뜻입니다. 예를 들어 프로덕션 데이터베이스에 에이전트를 직접 붙이는 대신, 복제본이나 별도로 격리된 환경에서 먼저 돌리는 식입니다.
  2. 보안 코딩·검증 규칙 적용: 하네스가 조직의 보안 코딩 기준을 따르게 하고, 위험한 행동을 금지하고, 도구의 입력값과 출력값을 검증합니다. 민감하거나 영향이 큰 작업은 사람 승인을 요구합니다.
  3. 결과물은 쓰기 전에 검증: 에이전트의 결과물과 행동은 실제로 쓰기 전에 검토·테스트·정식 승인을 거쳐야 합니다. 그럴듯하게 읽힌다고 맞는 걸로 취급하면 안 됩니다. 하네스가 초안을 쓰고 행동까지 할 수는 있지만, 결과에 대한 책임은 여전히 사람에게 있습니다.
  4. 비용 통제와 모니터링: API에 비용 한도를 걸어두고 소비량을 지켜봅니다. 에이전트 세션은 챗봇 한 번 주고받는 것보다 훨씬 비용이 많이 드는데, 이 소비량을 모니터링하면 오남용, 침해, 폭주하는 루프, 디나이얼오브월렛(비용 소진 공격) 같은 이상 신호를 미리 잡아낼 수 있습니다. “폭주하는 루프”는 2편에서 “언제 끝날지도 모델이 정한다”고 했던 부분이 잘못됐을 때 생깁니다. 모델이 끝났다는 판단을 못 내리고 같은 도구를 계속 반복 호출하면, 그 세션 하나가 순식간에 큰 비용을 태울 수 있습니다.
  5. 빠짐없는 감사 로그: 프롬프트, 응답, 도구 호출, 승인, 행동, 보안 이벤트, 설정 변경까지 전부 기록합니다. 4편에서 본 책임소재 리스크를 줄이는 방법이 결국 이것입니다.
  6. 신뢰할 수 있는 모델 선택: 작업에 맞는, 출처와 한계와 보안 특성을 파악한 모델을 씁니다. 모델 자체의 안전장치를 하네스가 강제하는 통제의 대체재로 쓰면 안 됩니다. 예를 들어 “이 모델은 위험한 요청을 스스로 거부하니까”라는 이유로 3편의 권한 시스템을 느슨하게 짜도 된다는 뜻이 아닙니다.
  7. 최소한의 컨텍스트만 유지: 작업과 관련 없어진 정보는 정리합니다. 여기서 흥미로운 지점이 하나 있는데, 컨텍스트를 줄여야 할 때 요약이 아니라 삭제를 권장합니다. 요약은 기록을 다시 쓰는 과정이라 새로운 오류가 섞여 들어갈 위험이 있기 때문입니다. 오래 남아있던 대화는 통째로 지우고, 꼭 필요한 사실이나 결정은 미리 별도 메모리나 파일에 저장해뒀다가, 짧은 요약 하나로 새 세션을 시작하는 쪽을 권장합니다.
  8. 탐색은 서브 에이전트로 격리: 범위를 좁힌 작업은 별도의 서브 에이전트를 만들어서 처리하고, 이걸 적극 활용합니다. 최소 권한 원칙에 따라 서브 에이전트에는 그 작업에 필요한 도구·권한·컨텍스트만 줍니다. 4편에서 “멀티 에이전트는 한 몸으로 취급하라”고 했던 것과 배치되는 게 아니라, 오히려 그 신뢰 범위 자체를 작게 유지하는 방법에 가깝습니다. 신뢰할 수 없는 내용에 노출되는 범위를 줄이면서, 메인 세션은 작게 유지해 보안 리스크·운영 비용·컨텍스트 저하를 함께 줄일 수 있습니다.
  9. 상시 규칙 파일 유지: 하네스가 지켜야 할 표준, 하면 안 되는 것, 빌드·테스트 명령 같은 걸 조직 차원에서 하나의 파일에 적어두고 매 세션 읽게 합니다. 매번 같은 정보를 다시 알아내지 않아도 되고, 하네스의 행동이 더 일관되고 검토하기 쉬워집니다. 여러분이 쓰는 저장소의 AGENTS.md가 정확히 이 역할을 하는 파일입니다.

이 가이드에는 실제로 손을 대는 사람을 위한 이 아홉 가지 말고도, 그걸 승인하고 책임지는 의사결정자를 위한 질문 목록이 따로 있습니다. 그건 번외편으로 이어가겠습니다.

감사합니다.


참고 자료