블로그로 돌아가기

AI Agent 탐지 고도화: 클라이언트 일관성을 위한 네 가지 준비

탐지의 중심이 단일 속성에서 전체 세션으로 이동하면서 클라이언트 요구사항도 높아지고 있습니다. 환경 내부의 일관성, 환경 간 분리, 상태 연속성, 네트워크 출구와 지역 설정의 정합성이 중요합니다.

지난 1년 동안 AI Agent는 브라우저 도구 호출에서 백오피스 로그인, 주문 처리, 이메일 답변까지 업무 흐름의 더 깊은 영역을 맡게 되었습니다. 동시에 위험 관리 시스템의 판단 방식도 바뀌고 있습니다. 특정 브라우저 속성 하나만 보는 대신 전체 세션을 펼쳐서 평가하는 방향입니다.

탐지는 단일 속성에서 전체 세션으로 이동하고 있다

플랫폼이 AI 탐지 기능을 설명할 때는 세션 전체의 행동 신호를 언급합니다. 포인터 움직임이 지나치게 규칙적인지, 입력 속도와 리듬이 비정상적인지, 페이지가 포커스를 얻지 못한 상태에서도 입력이 계속되는지, 페이지가 보이지 않을 때에도 포인터 활동이 있는지, 그리고 전체 작업의 앞뒤가 일관적인지 등을 살핍니다.

이 신호들의 공통점은 특정 파라미터 하나의 진위에 의존하지 않는다는 점입니다. 일정 시간 동안의 연속성을 보기 때문에 단일 속성만 조정하는 방식은 이런 판단에 거의 효과가 없습니다.

세션 밖에도 연관성 판단 계층이 있다

행동 신호 외에도 종합적인 위험 관리는 브라우저 환경, Cookie, 로그인 상태, 네트워크 환경, 계정 이력을 함께 볼 수 있습니다. 환경이 일관되게 유지되는지, Cookie·로컬 스토리지·로그인 상태가 이어지는지, 환경이 너무 자주 바뀌는지, 네트워크에 비정상적인 점프가 있는지, 여러 계정이 같은 브라우저 환경을 공유하는지, 행동이 정상적인 업무 흐름과 맞는지 등을 종합합니다.

이 판단은 두 계층으로 나눌 수 있습니다. 하나는 브라우저 실행 환경으로, 환경과 로그인 상태가 연속성을 유지할 수 있는지를 결정합니다. 다른 하나는 Agent의 실행 전략으로, 전체 작업이 자동화처럼 보이는지에 영향을 줍니다. 둘 중 어느 한쪽에 문제가 생겨도 작업을 안정적으로 유지하기 어렵습니다.

환경 불일치가 자동화로 판단될 수 있는 이유

반대로 생각하면 더 분명합니다. 실제 사용자가 한 기기로 사이트를 방문하면 서로 맞아떨어지는 많은 단서를 남깁니다. 출구 IP가 특정 지역에 있다면 시스템 시간대도 보통 가까운 지역이어야 하고, 자주 사용하는 언어도 IP 지역과 합리적으로 맞아야 합니다. 화면 해상도, 글꼴 목록, GPU 정보도 서로 조화를 이뤄야 하며, Cookie와 로그인 상태는 방문할 때마다 처음부터 시작하는 것이 아니라 시간에 따라 서서히 변해야 합니다.

불일치 자체가 이상 신호입니다. 출구는 프랑크푸르트인데 브라우저 시간대는 로스앤젤레스에 고정되어 있거나, 한 시간에는 한 종류의 글꼴과 해상도를 쓰다가 다음 시간에는 전혀 다른 조합을 쓰거나, 같은 환경에서 10분 동안 다섯 계정에 로그인하는 경우가 그렇습니다. 각각도 의심스럽지만 함께 나타나면 일반적인 사람의 행동으로 설명하기 더 어렵습니다.

플랫폼의 논리는 복잡하지 않습니다. 일반 사용자는 보통 그렇게 행동하지 않습니다. 따라서 일관성을 유지하는 비용은 클라이언트가 부담하게 됩니다.

클라이언트가 준비할 수 있는 네 가지 영역

AI Agent 检测从会话行为与客户端环境两层进行一致性判断,并对应环境自洽、任务隔离、状态连续和地理参数对齐四项准备

첫째, 환경 내부의 정합성입니다. 시간대, 언어, 해상도, 글꼴, GPU 등의 파라미터가 서로 충돌하지 않아야 합니다.

둘째, 환경 간 독립성입니다. 각 작업에 자체 데이터 디렉터리, 자체 파라미터, 자체 네트워크 출구를 두어 여러 신원이 같은 기기 환경에 연결되지 않도록 합니다.

셋째, 상태 연속성입니다. Cookie, 로컬 스토리지, 로그인 상태를 환경별로 따로 저장하고 재시작 후에도 복원할 수 있어야 합니다. 매번 처음부터 다시 로그인하는 방식은 피해야 합니다.

넷째, 출구와 지역 파라미터의 정렬입니다. 출구 지역이 다른 국가로 바뀌면 환경의 시간대와 언어도 함께 바뀌어 장기적인 모순이 생기지 않도록 합니다.

앞의 두 항목은 주로 환경 계층의 문제이고, 뒤의 두 항목은 환경 계층과 스케줄링 로직에 걸쳐 있습니다. 팀이 동시에 수십 개의 Agent를 운영하면 이런 요구는 보통 환경 관리 계층으로 모입니다. 독립 환경, 독립 출구, 일괄 설정을 한곳에서 관리하는 식이며 PurpleMark는 이 계층의 기능을 제공하는 도구 중 하나입니다.

예전 방식 중 효과가 줄어든 것들

User-Agent만 바꾸는 방식은 흔하지만 하위 특성이 그대로라면 UA와 실제 환경의 모순이 오히려 더 두드러집니다. IP만 바꾸는 것도 마찬가지입니다. 기기 특성과 행동 리듬이 변하지 않으므로 출구만 바꿔서는 문제가 해결되지 않습니다. 시크릿 모드는 로컬 스토리지에 영향을 줄 뿐 기기 특성과는 관계가 없습니다.

여러 작업을 같은 환경에 넣는 것도 불리합니다. 동시에 실행할 때 서로의 Cookie와 로그인 상태를 덮어쓸 수 있고, 여러 신원이 같은 환경에서 나온다는 사실 자체가 연관성 신호가 됩니다. 또한 모든 대기 시간을 하나의 고정값으로 늘리면 그 규칙성 자체가 식별 가능한 특징이 됩니다.

판단 기준

특징을 얼마나 깊이 숨겼는지에 집착하기보다 질문을 바꾸는 편이 낫습니다. 환경 내부가 논리적으로 일관적인가, 환경끼리 서로 독립적인가, 행동 리듬이 일반적인 사람의 사용 패턴과 맞는가를 봐야 합니다. 이 세 가지가 모두 충족되어야 안정적인 실행을 논할 수 있습니다.

경계

탐지를 통과할 수 있다고 해서 작업 권한을 얻은 것은 아닙니다. 대상 플랫폼의 서비스 약관과 robots 규칙을 준수하고, 허위 신원 정보를 사용하지 말며, 기술적 보호 조치를 우회하지 말고, 요청 빈도를 통제하며, 상대 서비스의 정상 운영에 영향을 주지 않아야 합니다.