기술

커스텀 에이전트에 보안 기능을 구축한 방법

작성자 Sean Keenan, Jacob Brackett

소요 시간: 3

커스텀 에이전트 출시 과정에서 핵심은 이 새로운 AI 워크플로가 고객에게 최대한 안전하도록 보장하는 것이었습니다.

오늘날 대부분의 AI 에이전트는 단일 사용자를 위해 구축되며, 해당 사용자에게 매핑되는 비교적 단순한 권한 세트를 가지고 있습니다. 그러나 협업 환경에서 에이전트들은 서로 다른 요구사항을 가집니다. 모든 권한을 부여하는 것은 위험하며, 그렇다고 아무것도 허용하지 않으면 거의 쓸모가 없게 됩니다.

Notion의 커스텀 에이전트는 이 두 가지를 균형 있게 조율하기 위해 세심한 주의를 기울여 왔습니다. 협업 환경에서 적절한 수준의 지원(예: 작업 할당)을 제공할 수 있을 만큼 충분한 접근 권한을 부여하되, 기본적으로 에이전트가 위험한 작업(예: 모든 콘텐츠 삭제)을 하지 못하도록 엄격한 제약을 적용하는 것입니다. Notion은 수년간 고객이 워크스페이스를 관리할 수 있도록 정교한 권한 부여 및 거버넌스 제어 기능을 구축해 왔으며, 동일한 구조를 활용하여 사용자가 에이전트를 세밀하게 제어할 수 있도록 하여 워크스페이스에서 최대한의 보안을 유지할 수 있도록 했습니다.

기본적으로 제어

커스텀 에이전트는 '무(無)에서 구축하는' 보안 모델을 사용합니다. 이 모델에서 에이전트는 대부분의 리소스에 대한 접근 권한 없이 시작되며, 이는 어떤 것도 읽고, 쓰고, 상호작용할 수 있는 권한이 없음을 의미합니다.

이 접근 방식은 많은 개인용 AI 어시스턴트와 의도적으로 대조를 이룹니다. 대개 이러한 어시스턴트는 광범위한 접근 권한으로 시작하고, 사용자가 에이전트 안전 지침이 누락되지 않도록 확인해야 합니다. Notion은 안전을 모델의 의사 결정에 맡기고 싶지 않습니다. 대신, 접근 제어 및 결정론적 계층에 안전이 내재되기를 원했습니다.

이를 통해 사용자에게 세분화된 제어 기능을 제공하여 각자의 사용 사례에 맞는 적절한 보안 결정을 내릴 수 있도록 하면서도, 고급 사용자가 놀라울 정도로 강력한 자율 에이전트를 구축할 수 있도록 지원해 왔습니다.

리소스 수준 권한

기본적으로 최소한의 권한을 부여하는 것은 바람직하지만, 사용자가 자신의 애플리케이션에 필요한 권한을 쉽게 구축하고 이해할 수 있도록 하는 것도 중요합니다.

주목할 만한 몇 가지 기능은 다음과 같습니다.

  • 페이지 수준의 세분화된 권한: 사용자는 광범위한 워크스페이스 사용 권한뿐만 아니라 특정 페이지에 대한 보기 또는 편집 권한을 부여할 수 있습니다.

  • Slack 공식 API 통합: Slack을 위한 공식 API 통합을 제공함으로써, 간편하게 설정 가능한 세분화된 권한을 MCP에서는 불가능한 방식으로 구현할 수 있습니다.

  • 이메일: 이메일을 보내기 전에 확인할지 여부를 선택할 수 있습니다.

  • MCP API 통합: MCP API 통합을 사용할 때는 리소스 기반이 아니지만, 사용 가능하게 할 도구를 지정할 수 있으며, 특정 유형의 작업을 요청하거나 항상 허용할지 여부를 설정할 수 있습니다.

보안 보호 조치 및 경고

에이전트가 실제로 작업을 수행하는 런타임 중 예상치 못한 동작에 대해서도 고려해야 했습니다. 그 결과 다중 계층 보안 접근 방식을 채택했습니다. 즉, 권한 제어와 런타임 명령어 주입 완화 조치를 병행하는 것입니다.

명령어 주입 방지: 명령어 주입은 AI 에이전트에게 있어서 가장 크고 널리 알려진 어려움 중 하나입니다. 아직 해결되지 않은 문제지만, Notion은 모든 명령어 주입이 탐지될 것이라고 가정하며 시스템을 설계하지는 않습니다(비록 많은 경우를 탐지하긴 하지만요). 대신, 우리는 명령어 주입의 영향을 차단하기 위한 계층적 제어 기능을 설계하는 동시에 외부 데이터의 태깅 및 모니터링에 특별히 주의를 기울여 잠재적 공격을 식별할 수 있도록 했습니다. 의심스러운 점이 발견되거나 에이전트가 공격 가능성을 시사하는 작업을 수행하는 경우, 해당 에이전트를 중지시키고 사용자에게 확인을 요청할 수 있습니다.

경고 시스템: 에이전트가 위험할 수 있는 행동을 하려는 경우, 일시정지하고 먼저 사용자에게 확인을 요청합니다. 이 과정이 어떻게 수행되는지는 사용자가 에이전트를 구성 중인지 실행 중인지에 따라 달라집니다. 위험한 작업을 수행할 수 있는 에이전트를 구성할 때, 사용자에게 간단한 확인부터 워크스페이스 관리자 승인이 필요한 경우까지 다양한 수준의 팝업 알림을 제공합니다. 에이전트가 런타임 중에 위험한 작업을 수행하면, 해당 커스텀 에이전트의 소유자에게 반드시 확인을 받도록 강제합니다. 이 작업은 플랫폼 전반에 걸쳐 권한 및 보안에 대한 Notion의 다각적인 접근 방식을 반영합니다.

수정(삭제 버튼): 에이전트가 Slack에 잘못된 내용을 게시하는 등 실수를 저질렀을 경우, 에이전트 소유자가 해당 메시지를 삭제할 수 있습니다. 단순해 보이지만, 피해를 예방하는 것뿐만 아니라 피해가 발생했을 때 사용자가 되돌릴 수 있는 방법을 제공하는 것이 중요합니다.

Notion 권한 모델의 진화 과정

이 모델을 구현하기 위해 Notion은 내부적으로, 그리고 외부 고객을 대상으로 광범위한 알파 테스트 프로그램을 진행했습니다. 특히 규모가 점차 확대될 때 보안이 실제로 어떻게 작동하는지 스트레스 테스트를 수행하고자 했습니다. 알파 테스트 기간이 끝날 무렵, Notion에는 3,000개 이상의 내부 커스텀 에이전트가 생성되었고 알파 고객들은 25,000개 이상의 커스텀 에이전트를 만들었습니다.

여기서 매우 빠르게 몇 가지 교훈을 얻을 수 있었습니다. 예를 들어, 커스텀 에이전트의 초기 내부 버전들은 사용자들이 잠재적 결과를 이해하지 못한 채 너무 관대하게 권한을 부여하도록 유도했습니다. 그 결과 사용자들은 에이전트에게 Slack에 대한 광범위한 쓰기 권한을 부여하게 되었고, 여러 차례에 걸쳐 해당 에이전트들은 수백 명의 회원이 참여하는 전사적 채널인 #general에까지 게시물을 올렸습니다(에이전트는 모든 Slack 워크스페이스에 #general 채널이 있다는 사실을 알고 있답니다!). 분명히 이것은 사용자가 원하는 바가 아니었죠. 이로 인해 Notion은 Slack에 새로운 사용자 지정 '읽기 및 답장' 권한을 도입하게 되었습니다. 이 권한을 통해 에이전트는 자신이 명시적으로 트리거된 스레드에만 답장할 수 있습니다. Notion은 사용자에게 모든 권한을 허용하도록 강요하기보다, 사용자가 안전하게 업무를 수행할 수 있도록 하는 이와 같은 권한 설정을 도입하는 것이 당사의 임무라고 생각합니다.

이는 또한 MCP에만 전적으로 의존하지 않고 일부 자체 API 통합 기능을 구축하기로 한 신중한 결정으로 이어졌습니다. 앞서 살펴본 것처럼 오늘날 대부분의 MCP는 단일 사용자 사용 사례에 중점을 두고 설계되었기 때문에, 일반적으로 리소스 기반 권한이나 트리거를 기본적으로 처리하지 않습니다. Notion은 자체 API 통합 기능을 구축함으로써 고객의 추가 작업 부담 없이 당사의 권한 모델을 적용할 수 있는 통제권을 확보했습니다.

특히 자랑스럽게 생각하는 점은, 이 과정을 통해 당사 보안팀이 커스텀 에이전트의 가장 활발한 내부 사용자 중 하나로 자리매김했다는 것입니다. 예를 들어, 보안 경보를 분류하고 보강하기 위해 '스크러프(Scruff)'라는 에이전트를 구축했으며, AppSec 자동화, 코드 수정 생성, 적대적 테스트 실행을 위해 에이전트를 활용하고 있습니다. AI 제품팀과 보안팀 간의 진정한 공동 작업이 완성된 것입니다.

다음 단계

출시는 시작에 불과합니다. 제품과 전체 분야가 발전함에 따라 Notion은 더 나은 안전 및 보안 보호 장치에 대한 투자를 대폭 확대하고 있습니다. 향후 몇 달간 진행될 커스텀 에이전트 베타 기간은 고객과 함께 지속적으로 개선해 나가는 데에도 도움이 될 것입니다.

앞으로 몇 주, 그리고 몇 달 동안 Notion은 다음과 같은 과제를 해결할 예정입니다.

  • 고급 사용 사례를 위해 워크스페이스 관리자의 승인이 필요한 더 광범위한 권한 범위를 재도입

  • Workers 플랫폼을 기반으로 구축된 외부 API 통합에 세분화된 권한 기능을 확장

  • 추가적인 가이드라인이 마련되는 대로 다양한 사용 사례에 대한 추가적인 권한 모드를 고안

이러한 기술 구축은 아직 초기 단계에 있으며, 개선 방안에 대한 커뮤니티의 피드백을 환영합니다.

이 게시글 공유하기


지금 바로 사용해 보세요

웹이나 데스크톱에서 시작하세요

Mac과 Windows 앱도 있습니다.

iOS & Android 앱도 있어요

웹 앱

데스크톱 앱

Notion을 업무에 사용하고 계신가요? 영업팀에 문의하세요