개인 항공권 예약을 위한 안전한 AI 에이전트 설계
이 에이전트는 무단 사용자가 다른 사람을 사칭하는 것을 방지하기 위한 강력한 인증 조치로 구축되어 개인 데이터가 안전하게 유지되고 상호 작용이 합법적인지 확인합니다. 이 시스템은 겉으로는 무해해 보이는 개인 지원 도구에 대해서도 강력한 보안 기반의 중요성을 강조합니다.
구글 엔지니어들은 빌드 타임 도구와 런타임 도구의 중요한 차이점을 설명하고, 보안 취약점을 해결하며, 견고한 아키텍처 솔루션을 제안합니다.
이 에이전트는 무단 사용자가 다른 사람을 사칭하는 것을 방지하기 위한 강력한 인증 조치로 구축되어 개인 데이터가 안전하게 유지되고 상호 작용이 합법적인지 확인합니다. 이 시스템은 겉으로는 무해해 보이는 개인 지원 도구에 대해서도 강력한 보안 기반의 중요성을 강조합니다.
에이전트의 전반적인 보안은 기본 데이터베이스의 보안과 직접적으로 연결되어 있어 중요한 취약점입니다. '혼란스러운 대리인' 공격 패턴은 사용자가 에이전트를 조작하여 권한을 오용하여 무단 데이터에 접근하게 하는 일반적인 위협입니다. 이러한 유형의 공격은 에이전트 시스템에서 신중한 권한 관리의 필요성을 강조합니다.
데이터 유출은 에이전트가 동시에 개인 데이터, 신뢰할 수 없는 콘텐츠, 그리고 해당 콘텐츠와 데이터를 외부 사용자에게 노출할 수 있는 능력을 가지고 있을 때 가능합니다. 이 세 가지 요소의 수렴은 공격자가 악용할 수 있는 치명적인 취약점을 만듭니다.
악의적인 내부자는 분류 에이전트와 같은 신뢰할 수 있는 시스템을 악용하여 급여 기록과 같이 의도하지 않은 데이터베이스를 쿼리하도록 지시할 수 있습니다. 에이전트가 신뢰할 수 있는 시스템 내에서 작동하고 합법적인 권한을 가지고 있기 때문에 쿼리를 실행하여 심각한 보안 실패와 무단 데이터 노출로 이어집니다. 이 시나리오는 겉으로는 안전해 보이는 환경에서도 에이전트에 광범위한 권한을 부여하는 위험성을 강조합니다.
이 분리는 에이전트가 최종 사용자에게 승인된 특정 데이터에만 접근할 수 있도록 보장하여 권한 상승 또는 오용을 방지합니다. 적절한 신원 격리는 안전한 AI 시스템을 구축하는 기본 단계입니다.
에이전트 매개변수는 에이전트가 즉석에서 파생하는 동적이고 신뢰할 수 없는 입력으로, 잠재적으로 취약합니다. 반대로 애플리케이션 매개변수는 시스템 무결성 및 보안을 유지하기 위해 에이전트의 제어 범위 밖에 있어야 하는 사실적 제약 조건입니다. 이러한 역할을 명확하게 정의하면 에이전트가 무단 또는 안전하지 않은 결정을 내리는 것을 방지할 수 있습니다.
데이터베이스 자격 증명, 호스트, 원시 SQL과 같은 민감한 정보를 에이전트 자체에 저장하는 것은 높은 수준의 위험을 초래합니다. Toolbox 시스템은 '소스 프리미티브'를 구현하여 연결 세부 정보를 에이전트의 직접 제어에서 벗어나게 함으로써 이 문제를 해결합니다. 대신 사용자는 YAML 파일에 연결 세부 정보를 사전 구성하여 이 중요한 정보를 중앙 집중화하고 보호함으로써 보안을 강화합니다.
에이전트 보안을 위해 데이터베이스 상호 작용에 대한 세분화된 제어를 구현하는 것이 필수적입니다. 여기에는 쓰기 도구를 제거하고 데이터베이스 드라이버가 읽기 전용 쿼리에 대해 구성되었는지 확인하여 우발적이거나 악의적인 데이터 수정을 방지하는 것이 포함됩니다. 또한 허용된 데이터셋을 사용하면 폭발 반경을 제한하여 에이전트가 접근할 수 있는 데이터의 범위를 제한하는 데 도움이 됩니다. 추가적으로 출력 크기를 제한하면 과도한 정보 노출을 방지하여 잠재적인 데이터 유출을 완화합니다.
Toolbox는 에이전트의 무제한 SQL 생성에서 벗어나 커스텀 도구를 도입하여 보안을 강화합니다. YAML 구성 파일에서 정확한 SQL 문을 정의하여 신뢰할 수 있고 안전한 쿼리만 실행되도록 보장할 수 있습니다. 커스텀 도구 이름과 설명은 에이전트에 더 나은 컨텍스트를 제공하고, 준비된 문을 활용하면 SQL 주입 취약성을 완화하는 데 도움이 됩니다. 이 접근 방식은 동적 SQL 실행과 관련된 위험을 크게 줄입니다.
설명적인 지침을 제공하는 것은 중복 매개변수를 피하고 에이전트 상호 작용을 간소화하는 데 중요합니다. 또한 읽기 및 쓰기 작업을 분리하면 수동 승인 흐름을 용이하게 하여 추가적인 보안 및 제어 계층을 추가합니다. 이러한 관행은 보다 안정적이고 안전한 AI 에이전트 작업에 기여합니다.
우리는 도구가 결과에 집중할 것을 강력히 권장합니다. 우리는 원자적인 REST API에 대해 생각해서는 안 됩니다.
일반적인 HTTP 오류 대신 에이전트는 재시도 가능한 정보를 받아 실패로부터 지능적으로 복구할 수 있어야 합니다. 입력 구조를 단순화하면 복잡한 원시 오류를 피할 수 있어 오류 해결 프로세스가 더 간단하고 효율적으로 이루어집니다. 지능형 피드백에 대한 이러한 초점은 에이전트가 자체 수정하고 보다 일관되게 수행할 수 있도록 합니다.
개인 식별 정보(PII)를 보호하려면 에이전트의 제어에서 제거해야 하며, 이는 두 가지 주요 방법으로 달성할 수 있습니다. 첫째, 제한된 매개변수는 애플리케이션 수준에서 사용자 ID를 바인딩하여 에이전트가 직접 접근하거나 조작하는 것을 방지하는 데 사용됩니다. 둘째, OpenID JWT 토큰을 사용하여 인증된 매개변수를 구현하면 신원 클레임을 추출할 수 있어 에이전트가 PII를 직접 처리하지 않도록 보장합니다. 이 제로 트러스트 접근 방식은 민감한 데이터를 격리하여 보안을 크게 강화합니다.
이러한 기술에 대해 더 자세히 알고 싶은 분들을 위해 문서와 GitHub 저장소를 살펴보는 것을 적극 권장합니다. 특히 Eval Bench 저장소는 AI 도구의 효과와 성능을 테스트하기 위한 귀중한 리소스를 제공합니다.
자막에서 근거가 되는 대목을 찾아 답합니다.
이 채널 새 영상도 이렇게 정리해 드릴까요?
Tech Bridge에 새 영상이 올라오면, 방금 읽으신 것처럼 정리해서 메일로 보내 드릴게요.
이 채널은 지난 7일 동안 15편 올렸어요.
숏츠는 빼고 보내 드려요. 메일이 필요 없어지면 언제든 구독을 끄실 수 있어요.