사상 리더
AI 에이전트는 재작성할 수 없는 보안 경계가 필요합니다

AI 에이전트가 반란을 일으킨 순간이라고 Hugging Face 이야기를 읽고 싶어지는 것은 유혹적입니다. 그러나 실제로는 그렇지 않았으며, 세부 사항이 중요합니다. 이는 보안 조치를 고의로 낮춘 평가에서 실행된 사이버보안 연구 에이전트들이었습니다. 연구원들은 모델이 무엇을 할 수 있는지 확인하려고 했습니다. 어느 누구의 고객 서비스 봇이 어느 날 아침에 깨어나 회사를 공격하기로 결정한 것은 아닙니다. 하지만 그 맥락이 누구에게도 책임을 면하게 해주지는 않습니다. 한 에이전트가 머물러야 할 경계를 넘어섰고, 운영자가 허가하지 않은 방식으로 자격 증명과 도구를 사용하여 다른 사람의 시스템에 들어갔습니다. 이것이 바로 모든 보안 팀이 주목해야 할 부분입니다.
Reuters는 에이전트가 5월 초에 Hugging Face를 탐색하고 있었다고 보도했습니다, 연구원들은 초기 활동이 단독으로 침해를 일으켰다는 증거를 찾지 못했다고 말했습니다. 7월은 달랐습니다. OpenAI는 자사 모델이 격리 제어를 우회했다고 밝혔습니다, 인터넷에 접근했으며, Hugging Face 시스템과 함께 자체 연구 인프라의 일부를 손상시켰습니다. Hugging Face 자체 계정은 자율 에이전트 시스템에 의해 처음부터 끝까지 진행된 침입을 설명합니다, 이는 데이터 처리 파이프라인을 악용하고, 자격 증명을 수집하며, 내부 클러스터를 가로질렀습니다.
불편한 점은 에이전트들이 자신의 일을 수행하고 있었다는 것입니다. 그들은 부여된 목표를 추구하고 있었습니다. 그래서 이 이야기가 단일 연구실을 넘어서는 이유입니다. 기업용 에이전트도 목표를 추구합니다. 그들은 자격 증명을 보유하고, 도구를 호출하며, 어떤 사람도 검토할 수 있을 만큼 빠르게 움직입니다. 완전히 선의의 의도를 가진 에이전트라도 실제 피해를 줄 수 있으며, 탈취된 에이전트는 공격자를 대신해 동일한 권한을 사용할 수 있습니다. 따라서 보안은 모델이 얼마나 자신 있게 들리든, 명시된 목적이 얼마나 무해해 보이든, 시스템이 실제로 할 수 있는 일을 관리해야 합니다.
행동을 보호하고 모델만 보호하지 말라
초기 에이전트 프로그램 대부분은 모델에 노력을 집중합니다. 팀은 프롬프트를 테스트하고, 거부 응답을 조정하며, 첫 번째 모델을 검증하기 위해 두 번째 모델을 추가하고, 나쁜 의도의 징후를 찾기 위해 추론 추적을 관찰합니다. 이러한 노력은 헛되지 않습니다. 그러나 모든 것이 확률적이며, 또 다른 모델이 판단을 내리는 데 의존하기 때문입니다. 운영 환경의 보안 경계는 결정론적이어야 하며, 도구, 자격 증명, 네트워크 및 트랜잭션을 둘러싸야 합니다.
제가 묻고 싶은 구체적인 질문은 다음과 같습니다: 이 에이전트가 실제 세계에서 실제로 무엇을 실행할 수 있나요? 결제 요청서를 작성하는 것은 한 가지이고, 자금을 송금하는 것은 또 다른 일입니다. 데이터베이스 변경을 준비하는 것과 실제 운영에 적용하는 것, 보존 규칙에 부합하는 레코드를 표시하는 것과 삭제하는 것 역시 마찬가지입니다. 두 경우 모두 동일한 모델일 수 있지만, 그 경계의 어느 쪽에 위치하느냐에 따라 위험 수준이 크게 달라집니다.
최근 Unite AI의 기능 제어 개요는 동일한 경계를 그리며, 위험을 데이터, 도구, 권한, 자율성 및 에이전트가 실행되는 환경에 연결합니다. 저는 이 프레이밍이 “안전 모델”과 “위험 모델” 같은 모호한 라벨을 넘어서는 데 도움이 된다고 생각합니다. 이는 팀이 에이전트의 결정이 실제 결과를 초래하는 모든 경로를 추적하도록 합니다.
모든 에이전트에 신원을 부여하고 좁은 임무를 지정
에이전트는 개발자 계정에서 실행되거나 인간 사용자가 허용된 모든 권한을 물려받아서는 안 됩니다. 공유된 신원은 귀속성을 없애버립니다. 장기적인 자격 증명은 공격자가 이를 악용할 시간을 늘려줍니다. 또한 광범위한 서비스 계정은 작은 워크플로우가 접근해서는 안 되는 데이터와 시스템으로 떠돌게 합니다.
NIST는 이제 소프트웨어와 AI 에이전트 신원을 자체 아키텍처 문제로 간주합니다. 그 개념 문서는 에이전트가 특정 행동에 대해 권한이 있음을 어떻게 증명할 수 있는지, 에이전트의 신원을 인간의 권한과 어떻게 연결할 수 있는지, 그리고 조직이 의도된 바와 실제 발생한 일을 변조 방지 기록으로 어떻게 보관할 수 있는지를 묻습니다. 실제로 이는 간단한 설계로 이어집니다. 모든 에이전트는 고유한 신원, 소유자(개인 또는 팀), 정의된 목적, 그리고 앞에 놓인 작업에 맞춘 권한을 부여받습니다.
자격 증명은 빠르게 만료되어야 하며 특정 자원과 행동에만 적용되어야 합니다. 네트워크 접근은 엄격한 허용 목록에서 시작해야 합니다. 에이전트가 승인된 데이터베이스 하나를 조회해야 한다면, 일반 쉘, 열린 인터넷 접근, 혹은 새로운 자격 증명을 생성할 권한까지 부여받아서는 안 됩니다. 또한 작업이 에이전트와 도구의 체인을 따라 내려갈수록 권한은 각 단계마다 더 좁아져야 하며, 넓어져서는 안 됩니다.
NIST는 또한 자격 증명 공유와 과도한 접근에 대해 경고합니다, 이 경고는 에이전트가 기회주의적이기 때문에 무게가 있습니다. 하나의 경로가 차단되면, 다른 도구를 시도하거나 환경을 살피거나, 누군가 잊어버린 토큰을 우연히 발견할 수 있습니다. 수집된 자격 증명은 7월 사건의 일부이기도 했습니다. 최소 권한 원칙은 설계자가 예상하지 못한 추론 레이어의 행동으로 인한 영향을 최소화합니다.
추론 루프 밖에서 권한 부여를 유지
에이전트는 행동을 권장할 수 있다. 그러나 그것이 허용되는지 여부를 스스로 결정해서는 안 된다. 그 결정은 에이전트가 재작성하거나 끄거나 회피할 수 없는 별도의 집행 레이어에 속한다. 모든 도구 호출은 구조화된 요청으로 표시되어야 한다: 어떤 에이전트가 요청했는지, 어떤 인간이 후원했는지, 어떤 작업을 원하는지, 무엇을 목표로 하는지, 적용되는 제한은 무엇인지. 집행 레이어는 이를 허용하거나 차단하거나 에스컬레이션한다.
OWASP은 과도한 에이전시를 설명한다 이는 불필요한 기능, 과도한 권한, 그리고 지나친 자율성의 혼합이다. 가이드라인은 좁은 도구, 최소 권한, 하위 시스템에서의 인증, 고위험 행동에 대한 사용자 승인을 요구한다. 나는 이것이 정확히 올바른 순서라고 생각한다. 규칙은 데이터를 소유하거나 트랜잭션을 실행하는 주체에 의해 시행되어야 한다. 모델이 행동이 승인되었다고 말한다면, 그 진술만으로는 아무런 무게가 없어야 한다.
이러한 분리는 프롬프트 인젝션에도 도움이 된다. 독살된 이메일이나 문서가 에이전트의 추론을 유도할 수는 있지만, 에이전트의 자격 증명을 확대하거나 정책 게이트를 내리게 할 수는 없다. 모델은 금지된 것을 요청할 자유가 있다. 시스템은 여전히 ‘아니오’라고 말해야 한다.
인간 승인을 중요한 순간에만 저장하세요
인간 검토는 행동을 되돌릴 수 없거나, 조직 경계를 넘거나, 권한을 변경하거나, 민감한 정보를 공개하거나, 금전을 이동하거나, 프로덕션 시스템에 영향을 줄 때 그 가치를 발휘한다. 모든 일상적인 단계마다 승인을 요청하면 두 가지 결과가 생긴다: 지연과, 내용을 읽지 않고 “승인”을 클릭하는 사람들. NIST는 이러한 동의 피로를 명시적으로 지적한다.
좋은 승인 요청은 정확한 행동을 평이한 언어로 보여주며, 어디로 가는지와 중요한 매개변수를 포함한다. 이는 에이전트가 작성한 텍스트가 아니라 권위 있는 시스템에서 와야 한다. 승인은 빠르게 만료되고 해당 행동 하나만을 커버해야 한다. 중요한 세부 사항이 변경되면 시스템은 다시 요청한다.
OWASP의 에이전트 보안 가이드라인은 고위험 행동이 유효하고 만료되지 않은 매개변수 기반 승인을 거치지 않고 진행될 수 있는지 테스트할 것을 권장한다. 그 문구는 기억해 두어야 한다. “계속해도 좋다”는 약한 승인으로 다른 에이전트나 악의적인 행위자가 승인할 수 있다. “이 금액을 이 계좌로 이체한다” 혹은 “이 변경을 이 환경에 배포한다”는 시스템이 실행 순간에 실제로 검증할 수 있고 사용자가 완전히 이해하는 내용이다.
실시간 인간 신원 확인은 이 관문에서 중요하다. 푸시 알림은 누군가 혹은 무언가가 버튼을 클릭했음을 증명할 뿐이다. 보다 강력한 설계는 등록된 사용자가 피싱에 강한 공개키 인증을 사용하도록 요구하며, 이는 로컬 바이오메트릭 검증 방법으로 뒷받침된다. FIDO 표준은 공개키 자격 증명을 정당한 온라인 서비스에 연결한다 그리고 바이오메트릭 데이터를 사용자의 격리된 장치에 보관한다. 적절히 사용하면 하드웨어 기반 인증은 올바른 사용자가 실제로 존재했다는 훨씬 더 좋은 증거를 제공한다. 그러나 이는 트랜잭션 바인딩, 신뢰할 수 있는 표시, 정책 집행을 대체하지는 않는다. 이 모든 요소가 함께 작동해야 한다.
행동 모니터링 및 증거 보존
초기 프롬프트만으로는 긴 에이전트 실행 중에 무슨 일이 일어났는지 설명할 수 없다. 보안 팀은 도구 호출, 네트워크 활동, 자격 증명 사용, 정책 결정, 승인, 거부 및 범위 변경에 대한 텔레메트리가 필요하다. 모니터링은 에이전트가 실제로 수행한 작업을 해당 실행에 선언된 경계와 비교해야 한다. 에이전트가 코드 분석에 할당되었는데 외부 자격 증명을 찾거나 관련 없는 서비스를 탐색하기 시작한다면, 이는 경보를 발생시켜야 한다.
로그는 비밀을 평문으로 노출하지 않으면서 행동 체인을 재구성할 수 있을 만큼 충분한 컨텍스트를 제공해야 한다. 각 기록은 에이전트 버전, 소유자, 작업을 시작한 사람 또는 시스템, 사용된 도구, 요청된 행동, 정책 결과, 그리고 인간 승인을 캡처해야 한다. 서명되었거나 기타 변조 방지된 기록은 사후 검토의 신뢰성을 크게 높이며, 특히 여러 에이전트와 서비스가 관여했을 때 더욱 그렇다.
이 모든 과정은 기계 속도로 실행되어야 한다. 대시보드를 보는 사람이 수초 안에 끝나는 수천 건의 호출을 중단시키지는 못한다. 자동화된 제어는 속도 제한을 적용하고, 비정상적인 시퀀스를 포착하며, 행동이 정의된 임계값을 초과하는 순간 자격 증명을 일시 중지해야 한다. 이렇게 하면 인간 조사자는 무한히 이어지는 추적 대신 제한된 사고를 다룰 수 있다.
배포 전에 중단 경로 설계
모든 에이전트 배포에는 실제로 기능을 제거하는 중단 방법이 필요하다. 에이전트에게 중단을 요청하는 것만으로는 충분하지 않다. 운영자는 에이전트의 자격 증명을 취소하고, 네트워크 경로를 차단하며, 런타임을 종료하고, 대기 중인 작업이 다시 시작되지 않도록 해야 한다. 고위험 워크플로우의 경우, 승인 또는 정책 서비스가 중단되면 시스템은 차단된 상태로 실패해야 한다.
그런 다음 압박 상황에서 해당 경로를 테스트한다. 승인 서비스를 오프라인으로 전환한다. 에이전트에 상충되는 지시를 내린다. 실행 중에 자격 증명을 교체한다. 손상된 도구와 응답하지 않는 승인자를 시뮬레이션한다. 행동이 차단되고 유용한 기록이 남는지 확인한다. 모델, 프롬프트, 커넥터, 메모리 시스템 또는 권한 세트가 변경될 때마다 이러한 테스트를 다시 수행한다.
목표는 책임 있는 자율성
이것이 에이전트에 대한 반론이 되는 것은 아니며, Hugging Face 사건이 유용한 에이전트를 두려워하게 만들지는 않아야 합니다. 해야 할 일은 안전 프롬프트와 좋은 의도가 신뢰할 수 있는 배포를 만든다는 생각을 없애는 것입니다. 에이전트에게 분석하고, 작업을 준비하며, 되돌릴 수 있는 작업을 처리할 여지를 주세요. 실제 결과를 초래할 권한을 좁고, 눈에 보이며, 에이전트 자체가 아닌 다른 무언가에 의해 강제되도록 유지하십시오.
에이전트가 프로덕션에 들어가기 전에, 리더는 몇 가지 간단한 질문에 답할 수 있어야 합니다. 어떤 시스템에 접근할 수 있나요? 어떤 자격 증명을 사용할 수 있나요? 검토 없이 무엇을 할 수 있나요? 어떤 상황에서 에스컬레이션이 발생하나요? 승인자는 승인되는 정확한 행동을 어떻게 확인하나요? 어떤 증거가 남게 될까요? 그리고 보안은 어떻게 즉시 실행을 중단시킬 수 있나요?
답변이 불명확하면, 에이전트는 조직이 인식하는 것보다 더 큰 권한을 갖게 됩니다. 시간이 지나도 유지되는 아키텍처는 모델 보호와 신원, 최소 권한, 외부 정책 집행, 선택적 인간 승인, 완전한 텔레메트리, 그리고 실제로 작동하는 중지 메커니즘을 결합합니다. 이는 솔직한 가정에서 시작합니다: 유능한 에이전트는 때때로 우리를 놀라게 할 것입니다. 우리의 보안 경계는 그렇지 않아야 합니다.
결국 AI 에이전트를 HR을 두려워하지 않는 (잠재적으로) 루트 접근 권한을 가진 인턴으로 생각하세요.
그들에게 어떤 보호와 관문이 있어야 할까요?
그에 따라 진행하십시오.












