AI 에이전트는 회사 데이터를 검색하고, API를 호출하고, 기록을 업데이트하고, 메시지를 보내고, 다단계 비즈니스 워크플로를 완료할 수 있습니다. 이러한 기능은 가치를 창출하지만 보안 실패의 영향도 증가시킵니다.

잘못된 답변을 내놓는 챗봇은 사용자에게 혼란을 줄 수 있습니다. 권한이 초과된 에이전트는 기밀 데이터를 노출하거나 연결된 여러 시스템에서 무단 작업을 수행할 수 있습니다. 따라서 기업에는 모델이나 프롬프트뿐만 아니라 전체 에이전트 수명 주기를 포괄하는 보안 제어가 필요합니다.

이 AI 에이전트 보안 체크리스트는 에이전트 시스템을 안전하게 설계, 배포 및 운영하기 위한 12가지 실용적인 제어 기능을 제공합니다.

AI 에이전트 보안 체크리스트 한눈에 보기

  1. 모든 에이전트를 등록하고 소유자를 할당합니다.
  2. 각 에이전트에 전용 ID를 부여하세요.
  3. 최소 권한 액세스를 적용합니다.
  4. 좁고 검증된 도구를 노출합니다.
  5. 영향력이 큰 작업에는 사람의 승인이 필요합니다.
  6. 직접 및 간접 프롬프트 주입을 방어하세요.
  7. 민감한 데이터와 비밀을 보호하세요.
  8. 에이전트 실행을 격리합니다.
  9. 작업과 출력을 결정적으로 검증합니다.
  10. 전체 에이전트 워크플로를 기록하고 모니터링합니다.
  11. 지속적으로 에이전트를 평가하고 레드팀을 구성하세요.
  12. 철회 및 사고 대응 절차를 준비합니다.

AI 에이전트가 새로운 보안 위험을 생성하는 이유

AI 에이전트는 확률적 추론과 결정론적 비즈니스 시스템에 대한 액세스를 결합합니다. 도구를 선택하고, 연쇄 작업을 수행하고, 신뢰할 수 없는 콘텐츠를 읽고, 사람의 지속적인 지시 없이 장기간 작업을 수행할 수 있습니다.

이로 인해 몇 가지 중요한 위험이 발생합니다.

  • 에이전트 하이재킹: 악의적인 명령은 에이전트를 의도한 작업에서 리디렉션합니다.
  • 도구 오용: 에이전트가 안전하지 않거나 승인되지 않은 방식으로 합법적인 기능을 사용합니다.
  • 권한 남용: 과도한 권한은 오류 또는 공격의 폭발 범위를 증가시킵니다.
  • 데이터 유출: 민감한 정보가 프롬프트, 출력, 로그 또는 외부 도구 호출에 나타납니다.
  • 에이전트 확산: 조직에서는 배포된 에이전트, 자격 증명, 소유자 및 통합을 추적할 수 없습니다.
  • 공급망 위험: 모델, 도구, MCP 서버, 플러그인 및 데이터 소스에는 외부 종속성이 발생합니다.

에이전트 애플리케이션을 위한 OWASP 상위 10개 은 에이전트 행동 하이재킹, 도구 오용, 신원 및 권한 남용을 포함한 위험을 강조합니다. 이러한 위협에는 ID, 데이터, 도구, 런타임 및 운영 전반에 대한 제어가 필요합니다.

1. 모든 에이전트를 등록하고 소유자를 지정합니다.

기업은 식별할 수 없는 에이전트를 확보할 수 없습니다.

  • 에이전트 이름, 목적, 버전 및 환경을 포함하는 중앙 인벤토리를 유지합니다.
  • 사업주이자 기술 소유자입니다.
  • 모델, 도구, 데이터 소스 및 외부 서비스.
  • 사용자 및 사업부에서 액세스가 허용됩니다.
  • 위험 수준 및 승인된 자율성.
  • 마지막 보안 검토 및 예정된 만료 날짜입니다.

모든 에이전트에는 해당 동작, 권한, 품질 ​​및 수명 주기를 책임지는 지정된 사람이 있어야 합니다. 소유하지 않거나 사용하지 않는 에이전트는 비활성화하고 제거해야 합니다.

2. 각 에이전트에게 전용 ID를 부여하세요.

여러 에이전트가 광범위한 관리자 계정을 공유하는 것을 허용하지 마세요. 액세스 결정 및 감사 기록을 통해 에이전트를 사용자 및 기타 서비스와 구별할 수 있도록 각 프로덕션 에이전트에 고유하고 확인 가능한 ID를 제공하십시오.

에이전트가 사용자를 대신하여 작업할 때 로그에는 작업을 수행하는 에이전트와 작업을 요청한 사람 또는 서비스라는 두 가지 ID가 모두 기록되어야 합니다. 자격 증명은 가능하면 수명이 짧아야 하며 쉽게 취소할 수 있어야 합니다.

Microsoft의 현재 지침에서는 명명된 소유자, 명시적 범위, 감사 가능성 및 테스트된 해지 경로를 갖춘 전용 에이전트 ID를 권장합니다.

3. 최소 권한 액세스 적용

에이전트는 정의된 목적에 필요한 데이터, 도구 및 작업에만 액세스해야 합니다. 고객 지원 상담원은 계정 세부 정보를 읽고 티켓을 만들 수 있지만 모든 고객을 내보내거나 청구 설정을 변경하거나 사용자 권한을 관리해서는 안 됩니다.

여러 수준에서 최소 권한 적용:

  • 에이전트 수준: 이 에이전트는 어떤 시스템과 도구를 사용할 수 있습니까?
  • 사용자 수준: 요청한 사용자는 어떤 데이터에 액세스할 수 있나요?
  • 도구 수준: 어떤 작업과 매개변수가 허용됩니까?
  • 데이터 수준: 어떤 테넌트, 기록, 문서 및 필드가 표시됩니까?
  • 시간 수준: 한 워크플로 후에 승격된 액세스 권한이 만료될 수 있습니까?

도구, 워크플로, 소유권 또는 배포 환경이 변경될 때마다 유효한 권한을 검토하세요.

4. 범위가 좁고 검증된 도구를 노출합니다.

도구는 모델 결정을 실제 조치로 바꾸기 때문에 중요한 보안 경계입니다. 일반적인 기능보다 중소기업 전용 도구를 선호합니다.

예를 들어, 에이전트에 무제한 데이터베이스 액세스 권한을 부여하는 대신 검증된 필드로 create_support_ticket 를 노출하세요. 프로덕션에 도달할 수 있는 일반 셸 명령 대신 배포_preview_environment 를 노출합니다.

모든 도구는 다음을 준수해야 합니다.

  • 정확한 설명과 구조화된 입력 스키마를 사용하세요.
  • 서버의 모든 인수를 검증하고 정규화합니다.
  • 모델과 독립적으로 인증을 시행합니다.
  • 값, 레코드, 속도 및 실행 시간에 대한 제한을 설정합니다.
  • 비밀을 노출하지 않고 예측 가능한 오류를 반환합니다.
  • 재시도할 수 있는 작업에 대한 멱등성을 지원합니다.

MCP 통합의 경우 토큰 유효성 검사, 보안 세션, 인증 확인, 세션 하이재킹 방지 등 공식 MCP 보안 모범 사례를 따르세요.

5. 영향력이 큰 작업에는 사람의 승인이 필요합니다.

모든 에이전트 작업에 승인이 필요한 것은 아니지만 재정적, 법적, 보안 또는 평판에 상당한 영향을 미치는 작업은 사람의 통제하에 있어야 합니다.

대리인보다 먼저 승인하는 것이 적절합니다.

  • 외부 이메일이나 공개 메시지를 보냅니다.
  • 환불, 결제 또는 구매를 처리합니다.
  • 데이터를 삭제하거나 영구적으로 수정합니다.
  • 역할, 권한 또는 보안 설정을 변경합니다.
  • 소프트웨어를 프로덕션에 배포합니다.
  • 민감한 정보를 다른 시스템과 공유합니다.

확인 화면에는 제안된 정확한 조치, 대상, 영향을 받는 데이터 및 이유가 표시되어야 합니다. 사용자는 작업을 거부하거나 편집할 수 있어야 합니다.

6. 프롬프트 주입에 대한 방어

프롬프트 주입은 공격자가 명령을 통해 에이전트의 동작을 변경하려고 시도할 때 발생합니다. 문서, 웹 페이지, 이메일, 지원 티켓 또는 도구 응답 내에 악성 지침이 숨겨져 있을 수 있으므로 간접 프롬프트 삽입이 특히 중요합니다.

신뢰할 수 없는 콘텐츠에 공격이 포함될 수 있다고 가정합니다. 심층 방어 사용:

  • 신뢰할 수 있는 지침과 신뢰할 수 없는 콘텐츠를 명확하게 구분하세요.
  • 검색된 정보의 출처와 신뢰 수준에 라벨을 붙입니다.
  • 외부 콘텐츠를 처리하는 동안 사용할 수 있는 제한 도구입니다.
  • 비정상적인 계획 변경 및 위험한 도구 순서를 감지합니다.
  • 민감한 작업 전에 결정론적 정책 확인을 적용합니다.
  • 신뢰할 수 없는 콘텐츠가 외부 작업에 영향을 미치는 경우 사람의 승인이 필요합니다.

방어적인 프롬프트만으로는 충분하지 않습니다. 보안 규칙은 모델 외부에서 시행되어야 에이전트가 콘텐츠를 잘못 해석하는 경우에도 유효합니다.

7. 민감한 데이터 및 비밀을 보호하세요

에이전트가 처리할 수 있는 정보를 분류하고 정보가 이동할 수 있는 위치를 정의합니다. 개인 식별 정보, 재무 기록, 소스 코드, 계약서 및 자격 증명에는 다른 통제가 필요할 수 있습니다.

  • 서버 측 비밀 관리자에 API 키와 토큰을 저장하세요.
  • 프롬프트나 모델 표시 컨텍스트에 원시 자격 증명을 포함하지 마세요.
  • 테넌트, 사용자, 문서 및 필드 권한별로 검색 결과를 필터링합니다.
  • 모델 호출 전에 불필요한 민감한 필드를 수정하세요.
  • 전송 중인 데이터와 저장 중인 데이터를 암호화하세요.
  • 프롬프트, 출력 및 추적에 대한 보존 및 삭제 정책을 정의합니다.
  • 모델 제공자가 제출된 데이터를 유지하거나 학습하는지 검토하세요.

로깅은 조사 요구와 개인 정보 보호 사이의 균형을 유지해야 합니다. 모든 프롬프트와 도구 결과를 캡처하면 액세스 및 보존이 제어되지 않는 경우 새로운 민감한 데이터 저장소를 생성하는 동안 디버깅이 향상될 수 있습니다.

8. 격리 에이전트 실행

코드를 실행하고, 파일을 처리하고, 웹 사이트를 찾아보고, 종속성을 설치하는 에이전트는 격리된 환경에서 실행되어야 합니다. 컨테이너, 샌드박스, 제한된 네트워크 액세스, 임시 파일 시스템 및 실행 제한을 사용하십시오.

런타임은 한 작업이 다른 사용자의 파일이나 자격 증명에 액세스하는 것을 방지해야 합니다. 네트워크 허용 목록은 승인된 서비스에 대한 통신을 제한할 수 있습니다. 메모리, CPU, 시간, 출력 크기 및 에이전트 단계 수에 대한 제한을 설정합니다.

생성된 코드는 자격 증명을 직접 받아서는 안 됩니다. 신뢰할 수 있는 브로커는 샌드박스 및 모델 컨텍스트 외부에 비밀을 유지하면서 승인된 작업을 실행할 수 있습니다.

9. 결정론적으로 작업과 출력의 유효성을 검사합니다.

언어 모델은 확률적입니다. 비즈니스 제약 조건은 결정적 코드로 구현되어야 합니다.

도구 인수, 데이터베이스 변경, 재정적 가치, 수신자, 파일 경로, URL, 데이터 형식 및 작업 흐름 전환을 검증합니다. 에이전트가 처음 계획을 생성할 때뿐만 아니라 실행 직전에 허용 목록과 비즈니스 규칙을 적용합니다.

생성된 텍스트의 경우 필수 필드, 인용, 민감한 정보, 금지된 콘텐츠, 불확실성 공개 여부를 확인하세요. 고위험 출력에는 두 번째 검토자 또는 사람의 결정이 필요할 수 있습니다.

10. 전체 에이전트 워크플로를 기록하고 모니터링합니다.

기존 애플리케이션 로그에는 최종 API 응답만 표시되는 경우가 많습니다. 에이전트 보안을 위해서는 전체 궤적(

  • 사용자 및 에이전트 ID)에 대한 가시성이 필요합니다.
  • 에이전트 버전, 모델, 지침 및 활성화된 도구입니다.
  • 검색된 소스 및 신뢰 분류입니다.
  • 도구 이름, 검증된 인수, 결과 및 오류.
  • 승인 요청 및 사용자 결정.
  • 정책 거부, 재시도, 대체 및 최종 결과.

비정상적인 액세스, 반복적인 권한 실패, 예상치 못한 도구 순서, 높은 토큰 또는 작업 볼륨, 금지된 시스템에 접근하려는 시도, 승인 또는 거부 비율의 급격한 변화에 대한 경고를 생성합니다.

11. 에이전트를 지속적으로 평가하고 레드팀을 구성합니다.

보안 테스트에는 현실적인 워크플로와 적대적인 사례가 포함되어야 합니다. 테스트:

  • 직접 및 간접 프롬프트 주입.
  • 무단 데이터 요청 및 테넌트 간 액세스.
  • 사람의 승인을 우회하려고 시도합니다.
  • 악성 도구 대응 및 손상된 문서.
  • 예상치 못한 도구 조합과 과도한 자율성.
  • 출력, 로그 또는 외부 호출을 통한 데이터 추출.
  • 사용할 수 없는 서비스, 부분적인 실패 및 재시도 동작.

모델, 프롬프트, 도구, 데이터 소스, 정책 또는 조정 논리가 변경될 때마다 평가 제품군을 실행하세요. NIST AI 위험 관리 프레임워크 및 Generative AI 프로필은 이 수명주기 전반에 걸쳐 AI 위험을 관리하고 측정하는 데 유용한 기반을 제공합니다.

12. 철회 및 사고 대응 준비

모든 프로덕션 에이전트에는 테스트된 종료 경로가 필요합니다. 팀은 다음 작업을 수행할 수 있어야 합니다.

  • 에이전트를 즉시 비활성화합니다.
  • 토큰을 취소하고 자격 증명을 교체하세요.
  • 전체 시스템을 재배포하지 않고 도구를 제거하거나 권한을 줄입니다.
  • 워크플로 실행을 중지하고 대기 중인 작업을 방지합니다.
  • 영향을 받은 사용자, 기록, 외부 시스템을 식별합니다.
  • 민감한 데이터를 보호하면서 증거를 보존하세요.
  • 되돌릴 수 있는 변경 사항을 롤백하고 책임 있는 소유자에게 알립니다.

경고를 받을 사람, 에이전트를 일시 중지할 수 있는 사람, 사건 분류 방법, 법률, 규정 준수, 고객 또는 파트너에게 통보해야 하는 시기를 정의합니다. 사고가 발생하기 전에 프로세스를 테스트하십시오.

이러한 보안 제어의 우선순위를 지정하는 방법

에이전트의 잠재적인 영향부터 시작하세요. 읽기 전용 내부 지식 도우미와 자율 금융 대리인은 동일한 제어 요구 사항을 가져서는 안 됩니다.

  1. 워크플로 매핑: 사용자, 데이터, 도구, 작업 및 외부 종속성을 식별합니다.
  2. 위험 분류: 민감도, 자율성, 가역성 및 잠재적 폭발 반경을 평가합니다.
  3. 권한 경계 설정: 에이전트가 읽고 수행할 수 있는 작업을 정확하게 정의합니다.
  4. 결정적 제어 추가: 모델 외부에서 정책을 시행합니다.
  5. 테스트 및 모니터링: 자율성을 확대하기 전에 예상되는 행동과 적대적인 행동을 검증하세요.

읽기 전용 액세스 및 위험도가 낮은 작업부터 시작하세요. 워크플로우가 신뢰할 수 있는 동작을 보여주고 조직이 이를 안전하게 모니터링하고 중지할 수 있는 경우에만 자율성을 높이십시오.

자주 묻는 질문

AI 에이전트의 가장 큰 보안 위험은 무엇입니까?

가장 큰 영향을 미치는 위험은 조작된 행동과 과도한 권한이 결합된 경우가 많습니다. 에이전트가 민감한 데이터나 강력한 도구에 액세스할 수 있는 경우 신속한 주입은 훨씬 더 위험해집니다.

시스템이 AI 에이전트를 보호할 만큼 신속합니까?

아니요. 시스템 지침은 동작을 안내하는 데 도움이 되지만 결정적인 보안 경계는 아닙니다. 인증, 권한 부여, 검증, 격리, 승인 및 모니터링은 애플리케이션 및 연결된 서비스에 의해 시행되어야 합니다.

모든 에이전트 작업에 사람의 승인이 필요합니까?

아니요. 위험도가 낮고 되돌릴 수 있으며 잘 테스트된 작업이 자동으로 실행될 수 있습니다. 승인은 영향이 크거나 모호한 작업에 초점을 맞춰 작업 흐름을 사용할 수 없게 만들지 않고도 감독이 효과적으로 유지되도록 해야 합니다.

상담원 권한을 얼마나 자주 검토해야 합니까?

정기적으로 그리고 에이전트가 소유자, 범위, 도구, 모델, 데이터 소스 또는 환경을 변경할 때마다 권한을 검토하세요. 사용하지 않는 액세스 권한을 즉시 제거하세요.

MCP 서버는 기본적으로 안전합니까?

MCP는 프로토콜과 인증 기능을 정의하지만 각 서버와 클라이언트는 안전하게 구현되어야 합니다. 기업은 민감한 시스템을 연결하기 전에 서버 소유권, 권한, 토큰 처리, 도구 동작, 로깅 및 업데이트를 검증해야 합니다.

결론

보안 AI 에이전트에는 강력한 모델이나 신중하게 작성된 프롬프트 이상의 것이 필요합니다. 기업에는 ID, 권한, 도구, 데이터, 실행, 검증, 모니터링 및 사고 대응 전반에 걸쳐 심층적인 방어가 필요합니다.

Nextchain은 조직이 맞춤형 AI 에이전트, RAG 시스템, MCP 통합 및 보안 비즈니스 자동화를 구축하는 데 도움을 줍니다. Nextchain 보안 및 운영 요구 사항에 맞는 AI 에이전트 아키텍처를 계획합니다.

소스