
Python으로 AI 도구의 허가 도메인 차이점 추출하기
요약
Python을 사용하여 액세스 로그 내 AI 도구의 허가 도메인 사용 여부를 식별하는 방법을 소개합니다. 서브도메인 일치 여부를 정확히 판별하는 로직을 통해 보안 및 감사 프로세스를 효율적으로 구축할 수 있습니다.
핵심 포인트
- 도메인 일치 시 서브도메인까지 허용하는 로직 구현
- 단순 포함(in) 방식 대신 endswith를 활용한 정확한 판별
- 회사 도메인과 실제 서비스 URL 간의 차이 관리 필요성
- 로그 데이터를 활용한 단계적 AI 도구 사용 감사 방법
AI 도구를 사용하는 사람에게 "어떤 URL을 열고 있나요?"라고 물었을 때, 즉시 대답할 수 있을까요?
저는 오늘 아침, AI 서비스 주변의 트래킹(Tracking)이나 학습 이용에 관한 뉴스를 보고, 입력 내용보다 먼저 외부 도메인을 확인하는 것이 더 빠르겠다는 생각이 들었습니다. 누가 무엇을 붙여넣었는지 완벽하게 추적하는 것은 부담이 큽니다. 첫 단계는 액세스 로그(Access Log)나 이용 신청 CSV에서 "허가되지 않은 AI 계열 도메인"을 찾아내는 것만으로도 충분합니다.
이 방법은 은근히 효과적입니다.
허가된 도메인을 한 줄씩 작성합니다.
# allow_domains.txt
chatgpt.com
openai.com
...
이용 로그는 최소한 url 열이 있으면 작동합니다.
user,url
sales,https://chatgpt.com/c/abc
sales,https://platform.openai.com/docs
...
# check_ai_domains.py
import csv
import sys
...
실행합니다.
python check_ai_domains.py access_log.csv allow_domains.txt
제 환경에서는 다음과 같이 출력되었습니다.
OK 1 chatgpt.com https://chatgpt.com/c/abc
OK 1 platform.openai.com https://platform.openai.com/docs
CHECK 1 claude.ai https://claude.ai/new
...
흐름은 이렇습니다.
여기서 중요한 것은, openai.com을 허가했을 때 platform.openai.com은 통과시키고, notopenai.com은 통과시키지 않는 것입니다.
대충 if "openai.com" in host라고 작성하면, notopenai.com까지 OK가 됩니다. 반대로 완전 일치(Exact Match)만 사용하면, platform.openai.com을 매번 별도로 등록해야 합니다. 그래서 host == d or host.endswith("." + d) 방식을 사용하고 있습니다.
또 하나, 회사명과 서비스 URL은 일치하지 않을 수 있습니다. 위의 예시에서는 anthropic.com을 허가했더라도, 실제로 이용자가 여는 것은 claude.ai였습니다. 이 부분은 사람이 직접 확인하여 허가 리스트에 추가하거나 사내 규칙을 수정해야 하는 영역입니다. 코드가 멋대로 OK 처리를 하게 해서는 안 됩니다.
이 체크는 처음부터 감사(Audit) 시스템을 구축하자는 이야기가 아닙니다. Chrome 방문 기록 내보내기, 프록시 로그(Proxy Log), SaaS 이용 신청 CSV로도 시작할 수 있습니다. 일주일에 한 번이라도 CHECK 항목만 확인하면, "모르는 AI 도구가 늘어나고 있는지", "허가 리스트가 오래되었는지"를 알 수 있습니다.
AI 활용 규칙을 만들 때 추상적인 금지 사항만 나열하면 현장에서 막히게 됩니다. URL을 도메인 단위로 묶어서 허가 여부를 확인한다. 우선 그 정도 수준까지 구체화하면 영업이나 기획 부서에서도 대화에 참여할 수 있습니다. 갑자기 완벽한 감사 로그를 목표로 하기보다, 이 작은 차이점 표(Difference Table)부터 시작하는 것이 더 빠릅니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기