사이버 보안

AI 에이전트가 귀하의 신원을 가장할 때: 상속된 자격 증명이 인간과 기계를 혼동하게 하다

사용자의 Azure 자격 증명을 사용한 소프트웨어 에이전트에 대한 실제 측정 결과, 시스템이 해당 에이전트의 작업을 사용자 본인의 이름으로 기록한 것으로 나타났다. 두 개의 프로덕션 저장소에서 권한은 2개에서 107개까지 달라졌다. 이 사례는 접근 범위와 감사가 로그에 표시된 신원보다 연결 경로와 그룹 구성원 자격에 더 크게 좌우될 수 있음을 보여준다.

2026-10-08
3 분 읽기
529 조회수
certi.news Editorial Team
AI 에이전트가 귀하의 신원을 가장할 때: 상속된 자격 증명이 인간과 기계를 혼동하게 하다

AI 에이전트가 인간 사용자의 자격 증명을 사용해 데이터베이스에 접근하면, 시스템은 계정 뒤에 숨은 «에이전트 신원»을 얻는 것이 아니라 사용자 본인을 보게 된다. 이는 Azure, Azure CLI 및 sqlcmd를 사용하는 프로덕션 환경에서 Naseeb Ahmed Mian이 수행한 측정의 핵심 결론이다.

검사 대상 설정에서 소프트웨어 에이전트의 스킬은 Azure CLI를 통한 인증을 사용해 sqlcmd 명령으로 데이터베이스에 연결했다. 이 명령은 사용자가 로그인한 후 캐시된 액세스 토큰을 추출해 데이터베이스에 제공한다. 그 결과 사용자가 직접 쿼리를 작성했든 에이전트가 실행했든, 연결은 사용자의 이름과 사용자의 장치 이름 및 sqlcmd 도구와 함께 표시됐다.

감사 로그는 자격 증명을 보지만 의도는 보지 못한다

세션 로그에는 사용자의 로그인 이름, 워크스테이션 이름 및 클라이언트 인터페이스가 표시됐지만, 에이전트가 실행한 작업을 구분하는 필드는 포함되지 않았다. 이에 따라 인간과 자동화된 쿼리가 로그에서 동일하게 보이며, 후속 제어 장치는 실행 출처에 따라 요청률 제한, 승인 단계 또는 서로 다른 보존 정책을 적용할 수 없다.

문제는 보안 조사에만 국한되지 않는다. 몇 달 전에 실행된 쿼리에 대해 나중에 이의가 제기되더라도, 로그는 사용자가 직접 작성했는지 아니면 자동화 도구가 실행했는지를 입증하지 못한다. 로그는 해당 작업을 자격 증명에 정확히 귀속하지만, 의도와 실제 행위자에 대해서는 침묵한다.

액세스 토큰은 무엇을 보여주는가?

Azure CLI가 전달한 토큰에는 user_impersonation 범위와 인증에 다중 인증 요소가 포함됐음을 나타내는 클레임이 들어 있었다. 실질적으로 에이전트가 수행하는 모든 작업에는 사용자가 다중 인증을 통과했다는 증거가 함께 전달되며, 설령 그 인증이 몇 시간 전에 다른 작업의 맥락에서 이루어졌더라도 마찬가지다.

또한 토큰의 84분 수명이 에이전트 실행의 종료를 반드시 의미하는 것은 아니다. CLI는 새로 고침 토큰을 사용해 토큰을 자동으로 갱신하므로, 새로 고침 토큰이 만료되거나 사용자의 계정이 비활성화될 때까지 감독되지 않은 실행이 계속될 수 있다.

그룹 구성원 자격이 그림을 확장한다

역할 할당을 검사한 결과 행은 하나뿐이었으며, 비프로덕션 구독의 Reader 역할이었다. 그러나 액세스 토큰에는 37개 그룹이 포함되어 있었고, 직접 구성원 자격 쿼리에서는 중첩된 그룹이 존재하는 가운데 34개 그룹이 나타났다. 접근과 관련된 그룹에는 SQL 데이터베이스 뷰어, 권한 상승 사용자, 리소스 기여자 및 데이터베이스 관리자와 같은 역할이 포함됐다.

위험한 점은 이러한 구성원 자격이 데이터 계층에서 실제 권한을 보유할 수 있으며, 제어 평면 역할 검사에는 반드시 나타나지 않는다는 것이다. 따라서 기존 방식으로 검토할 때 에이전트의 접근 범위가 제한적으로 보이더라도, 그룹 구성원 자격으로 인해 더 큰 능력을 부여받을 수 있다.

실제로 무엇이 달라지는가?

동일한 신원을 한 시간 간격으로 두 개의 프로덕션 저장소에서 테스트하자 결과는 크게 달랐다. 한 곳에서는 신원이 CONNECT와 SELECT 권한만 보유했으며 보안 계층에 연결할 수 없었다. 반면 다른 프로덕션 분석 엔드포인트에서는 430개 테이블과 함께 읽기, 쓰기, 스키마 정의 및 데이터베이스 관리 권한을 포함한 107개 권한이 나타났다.

이 비교는 권한 범위가 신원만으로 결정되지 않으며, 접근 경로와 엔진, 엔드포인트에 연결된 제어 장치도 결정적인 요소임을 보여준다. 문서상 읽기 전용인 엔드포인트라 하더라도 다른 엔진을 통해 데이터가 호출될 때 보안 규칙이 반드시 그대로 적용되는 것은 아니다.

certi.news의 편집적 해석: 문제는 에이전트가 «신원이 없다»는 것이 아니라, 독립적인 자동화 신원의 신속한 대체물로 인간의 신원이 사용됐다는 데 있다. 이는 귀속, 권한 범위의 확대, 철회라는 세 지점에서 무너진다. 또한 측정 결과, 보안 데이터베이스에서 삭제 권한을 보유한 자격 증명이 있었던 환경이 감사 로그가 활성화되지 않은 유일한 환경인 것으로 나타났다. 그룹 구성원 자격의 일관성, 발급된 토큰 내부에서 임시 권한이 계속 유지되는지 여부, 기관이 단순한 자격 증명 소유자가 아니라 실행 의도까지 기록할 수 있는 능력에 관한 중요한 질문은 여전히 열려 있다.

뉴스 출처
The New Stack - Software Development
원문 보기 ↗
c
작성자

certi.news Editorial Team

핵심 내용

AI 에이전트가 Azure CLI를 통해 인간 사용자의 자격 증명을 사용하면 감사 로그에 에이전트의 활동이 인간 사용자의 이름으로 표시되어 인간이 수행한 작업과 자동화된 작업이 명확히 구분되지 않습니다. 또한 그룹 멤버십과 액세스 경로로 인해 실제 권한이 기존 역할 검사에서 나타나는 범위를 넘어설 수 있습니다.

  • 에이전트는 사용자의 Azure CLI 세션에서 추출한 액세스 토큰을 사용했으며, 연결에는 사용자의 이름과 장치, sqlcmd 도구가 표시되었습니다.
  • 감사 로그에는 에이전트가 실행한 쿼리와 사용자가 작성한 쿼리를 구분하는 필드가 없었습니다.
  • 액세스 토큰에는 user_impersonation 범위와 다중 인증을 나타내는 정보가 포함되어 있었으며, 토큰을 갱신하면 비대화형 실행이 계속될 수 있습니다.
  • 토큰에는 37개의 그룹이 표시되었지만 직접 멤버십 쿼리에는 34개의 그룹이 표시되었고, 멤버십에는 데이터에 대한 광범위한 액세스 권한을 부여할 수 있는 역할이 포함되어 있었습니다.
  • 두 프로덕션 저장소의 권한은 CONNECT 및 SELECT만 부여된 수준부터 읽기·쓰기, 스키마 정의, 데이터베이스 관리를 포함한 107개 권한까지 달랐습니다.
  • 이 측정 결과는 액세스 범위가 사용자 ID만이 아니라 연결 경로, 엔진, 엔드포인트 제어에 따라 달라진다는 점을 보여줍니다.

자주 묻는 질문

에이전트의 활동은 감사 로그에 어떻게 표시되었나요?

에이전트가 실행했다는 것을 보여주는 필드 없이 인간 사용자의 이름과 장치 이름, sqlcmd 도구가 함께 표시되었습니다.

액세스 토큰의 유효 기간이 에이전트 실행 기간을 의미하나요?

반드시 그렇지는 않습니다. 언급된 토큰의 유효 기간은 84분이지만 Azure CLI는 새로 고침 토큰을 사용해 토큰을 갱신할 수 있으므로, 새로 고침 토큰이 만료되거나 계정이 비활성화될 때까지 실행이 계속될 수 있습니다.

실제 권한이 역할 검토에 나타나는 것보다 더 클 수 있는 이유는 무엇인가요?

그룹 멤버십이 데이터 계층의 권한을 부여할 수 있으며, 이러한 권한이 제어 평면 역할 검사에 항상 표시되는 것은 아니기 때문입니다.

두 프로덕션 저장소의 권한은 동일했나요?

아니요. 한 저장소의 액세스는 CONNECT와 SELECT로 제한되었지만, 다른 프로덕션 분석 엔드포인트에서는 430개 테이블에 대해 107개의 권한이 나타났습니다.

같은 카테고리

추천 기사

모든 뉴스 보기