I Built a Free API That Detects Phishing Sites Using AI Vision — And It Catches Prompt Injection Too

개요

PhishVision은 AI Vision을 활용하여 피싱 사이트를 탐지하고 프롬프트 인젝션 공격까지 식별하는 무료 REST API이다.

주요 내용

* 기존 피싱 탐지 방식의 한계: URL 평판 데이터베이스에 의존하는 기존 API는 새로운 피싱 사이트나 URL 스캐너에 탐지되지 않는 프롬프트 인젝션 공격에는 취약하다.
* PhishVision의 작동 방식:
* 헤드리스 Chromium 브라우저로 URL에 접속하여 실제 사용자처럼 페이지를 탐색한다.
* 페이지의 스크린샷(JPEG)과 눈에 보이거나 숨겨진 모든 텍스트를 추출한다.
* 추출된 이미지와 텍스트를 Vision AI에 전달하여 포렌식 분석가의 프롬프트와 함께 분석한다.
* 분석 결과를 구조화된 JSON 형식으로 반환하며, 탐지된 위협 유형, 브랜드 사칭 여부, 시각적 이상 징후, 숨겨진 페이로드 탐지 여부 등을 포함한다.
* 프롬프트 인젝션 탐지: PhishVision은 document.body.innerText를 통해 숨겨진 텍스트까지 추출하고, Vision AI가 이러한 패턴을 탐지하도록 프롬프트를 구성하여 AI 에이전트나 챗봇을 겨냥한 공격에 대응한다.
* 기술 아키텍처 및 최적화:
* 리소스 절약: 미디어, 폰트, 웹소켓 로딩을 차단하여 서버 리소스 사용량을 6-8배 절감하고 처리 속도를 높인다.
* 스크린샷 품질 최적화: Vision AI 분석에 불필요한 고품질 JPEG 대신 품질 50의 JPEG를 사용하여 파일 크기를 줄인다.
* 안정적인 브라우저 관리: finally{} 블록을 사용하여 브라우저 프로세스 종료를 보장하여 메모리 누수로 인한 서비스 충돌을 방지한다.
* 비동기 처리 및 웹훅: LLM 비전 처리 시간을 고려하여 비동기 백그라운드 작업 처리기를 구현했으며, 대량 작업 스캔 및 웹훅을 통한 결과 리포트 전달 기능을 제공한다.

시사점

PhishVision은 AI Vision을 활용한 혁신적인 접근 방식으로 기존 피싱 탐지 솔루션의 사각지대를 해소하고, 특히 AI 기반 시스템을 노리는 프롬프트 인젝션 공격에 대한 효과적인 방어 메커니즘을 제시한다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions