Postmark와 Gemini를 활용한 이메일 피싱 탐지 애플리케이션 'Swordphish' 구축 사례
🤖 AI 추천
이 콘텐츠는 Postmark의 인바운드 처리 및 API를 활용하여 이메일 피싱을 탐지하는 애플리케이션 'Swordphish'의 개발 과정을 상세히 설명합니다. 이메일 메타데이터 분석, Google Gemini를 활용한 AI 기반 콘텐츠 분석, SvelteKit과 FastAPI를 이용한 웹 애플리케이션 아키텍처 구축 경험을 공유하므로, 백엔드 개발자, 풀스택 개발자, 보안 엔지니어, 그리고 새로운 이메일 관련 서비스 구축에 관심 있는 개발자들에게 매우 유용합니다.
🔖 주요 키워드

핵심 기술
Postmark의 인바운드 이메일 처리 기능과 Messages API를 활용하여 이메일 메타데이터를 분석하고, Google Gemini LLM을 통해 이메일 콘텐츠의 피싱 위험도를 평가하는 애플리케이션 'Swordphish' 구축 사례를 다룹니다.
기술적 세부사항
- Postmark 활용:
- Inbound Processing 기능을 통해 이메일 수신 및 처리.
- Messages API를 사용하여 수신된 이메일의 JSON 데이터 검색.
Headers
,HtmlBody
,Attachments
등 이메일 메타데이터의 중요성 강조.
- 백엔드 개발:
- Python 기반의 FastAPI 프레임워크를 사용하여 API 엔드포인트 구현.
- SQLite를 로컬 데이터베이스로 사용.
- 이메일 수신 웹훅 처리 및 데이터 저장.
- Google Gemini 2.5 Flash를 호출하여 이메일 내용 분석.
- 프론트엔드 개발:
- SvelteKit 프레임워크를 사용하여 개발.
- API 응답 데이터를 단순하고 명확한 JSON 형식으로 가공하여 사용자에게 제공.
- 피싱 탐지 로직:
- 이메일 헤더 및 본문 내 피싱 관련 단어 및 구문 분석.
- AI(Gemini)를 활용하여 이메일 내용, 발신자 정보, 보안 측면에 대한 심층 분석 수행 (
aiAnalysis
,aiSenderAnalysis
,aiSecurityAnalysis
). Received-SPF
헤더에서 IP 주소를 추출하고, 이를 이용한 ASN 정보 조회 및 평판 확인.- SpamAssassin 결과(점수 및 테스트 항목)를 분석하여 스팸 위험도 시각화.
- 데이터 구조:
- Postmark API 응답의 복잡성을 줄이고 개발자가 쉽게 파싱할 수 있도록 단순하고 예측 가능한 JSON 구조를 유지.
- 프론트엔드에서 사용할 사용자 친화적인 JSON 객체 설계 예시 제공.
개발 임팩트
- 이메일 서비스의 메타데이터를 효과적으로 활용하여 보안 위협(피싱)을 실시간으로 탐지하고 시각화하는 방법을 제시합니다.
- API 기반 서비스 통합 시 API 응답 구조 분석의 중요성을 강조하고, 복잡한 데이터를 단순화하는 접근 방식을 공유합니다.
- LLM을 실제 보안 분석에 통합하는 구체적인 방법론과 가능성을 보여줍니다.
커뮤니티 반응
(본문 내 직접적인 커뮤니티 반응 언급 없음)
톤앤매너
개발자를 위한 기술 블로그 글로, 프로젝트의 기술적 구현 방법과 고려사항을 명확하고 실용적으로 설명하는 전문적인 톤을 유지합니다.
📚 관련 자료
postmark-python
Postmark API와 상호 작용하기 위한 공식 Python 라이브러리로, 이 프로젝트에서 Postmark의 인바운드 이메일 처리 및 메시지 검색 기능을 Python 백엔드에서 구현하는 데 직접적으로 사용될 수 있습니다.
관련도: 95%
FastAPI
이 프로젝트의 백엔드 개발에 사용된 웹 프레임워크로, 비동기 처리와 고성능 API 구축에 강점을 가지며, 본문에서 설명하는 Python 백엔드 구조의 핵심 기술입니다.
관련도: 90%
SvelteKit
이 프로젝트의 프론트엔드 개발에 사용된 프레임워크로, 서버 사이드 렌더링, TypeScript 통합 등 웹 애플리케이션 개발의 복잡성을 추상화하여 효율적인 프론트엔드 구축을 가능하게 합니다.
관련도: 85%