AI 에이전트의 보안은 도구의 보안 수준에 달려 있습니다
AI 에이전트를 강화하는 데 많은 시간을 할애합니다. 권한 범위를 설정하고, 코드를 샌드박스화하며, 출력을 모니터링합니다.
그러다 에이전트가 서드파티 도구를 로드하는 순간, 그동안의 보안 작업은 물거품이 됩니다.
에이전트의 안전성은 호출하는 에이전트와 도구의 안전성에 달려 있습니다. 에이전트는 다른 모든 에이전트와 레지스트리, ID 평면(identity plane), 게이트웨이를 공유합니다. 도구 하나에서 발생한 단 한 번의 실패가 시스템 전체로 확산될 수 있습니다.
대부분의 팀은 에이전트는 보호하지만 생태계는 잊어버립니다. 인프라를 보호하기 위해 다음 여섯 가지 전략을 사용하십시오.
디지털 지문(digital fingerprints)을 사용하십시오. 월요일에는 안전해 보이던 도구가 목요일에는 적대적으로 변할 수 있습니다. 버전을 고정(pin)하고 도구 설명과 스키마의 해시값을 사용하십시오. 도구가 로드될 때마다 이 지문을 다시 확인하십시오. 지문이 변경되면 도구 실행을 중단하십시오.
도구 오염(tool poisoning)을 방지하십시오. 도구의 설명은 모델을 위한 명령 채널입니다. 악성 도구는 설명을 이용해 프롬프트 인젝션을 유도합니다. 도구 메타데이터를 적대적인 입력값처럼 취급하십시오. 숨겨진 문자, HTML 주석, 또는 "이전 명령을 무시하십시오"와 같은 지침이 있는지 스캔하십시오.
이름 혼동을 방지하십시오. 악성 서버는
send_email대신send_emai1과 같이 신뢰할 수 있는 이름과 유사한 이름을 사용합니다. 거의 중복되는 이름은 플래그를 지정하십시오. 혼동을 피하기 위해 검증된 서버 ID를 기준으로 모든 도구에 네임스페이스를 지정하십시오.단일 게이트웨이를 구축하십시오. 모든 트래픽을 감사 가능한 단일 통제 지점(choke point)을 통해 라우팅하십시오. 이 게이트웨이는 호출자를 인증하고, 응답을 스캔하며, 속도 제한(rate-limit)을 적용해야 합니다. 게이트웨이에서 오류를 발견하면 요청을 거부해야 합니다. 단순히 로그만 남기고 계속 진행해서는 안 됩니다.
실질적인 킬 스위치(kill switch)를 만드십시오. 대부분의 킬 스위치는 메인 에이전트만 중단시킵니다. 이 경우 서브 에이전트와 도구 세션은 계속 실행됩니다. 진정한 중단 신호는 모든 서브 에이전트에 전달되어야 하며, 모든 세션을 안전한 상태로 남겨두어야 합니다.
안전 시스템을 테스트하십시오. 테스트하지 않은 킬 스위치는 무용지물입니다. 스위치를 작동했을 때 서브 에이전트가 실제로 중단되는지 확인하기 위해 훈련(drill)을 실시하십시오.
AI 도구를 소프트웨어 종속성처럼 취급하십시오. 버전 고정, 서명, 지문 생성 및 검증과 같은 동일한 위생 수칙을 적용하십시오.
현재 에이전트가 로드하는 도구들을 어떻게 검증하고 계십니까? 승인한 도구가 변경되었을 때 이를 감지할 수 있습니까?
Source: https://dev.to/brennhill/your-ai-agent-is-only-as-secure-as-the-tools-and-agents-it-calls-53p7
Optional learning community: https://t.me/GyaanSetuAi
