Skip to content

[FEATURE] NAVER 사칭 로그인 폼 테스트 fixture 추가 #18

Description

@minsoo0506

기능 추가/수정

설명

URL 검역 엔진의 콘텐츠 분석 단계에서 브랜드 사칭 로그인 폼을 탐지할 수 있는지 검증하기 위해 NAVER 사칭 로그인 폼 테스트 fixture를 추가한다.

Image

이 fixture는 기존 정상 로그인 페이지 fixture인 mju-sso-login과 대비되는 true-positive 성격의 테스트 사이트로 사용한다.

목적:

  • 정상 로그인 페이지와 브랜드 사칭 로그인 페이지를 구분할 수 있는지 확인
  • 로그인 폼이 포함된 페이지에서 NAVER 브랜드명 노출을 탐지하는지 확인
  • 공식 NAVER 로고가 포함된 로그인 UI에서 브랜드 사칭 신호를 탐지하는지 확인
  • 이미지 alt 텍스트 기반 브랜드 사칭 신호를 탐지하는지 확인
  • credential form action이 외부로 향할 때 위험 신호로 잡히는지 확인
  • 실제 피싱 페이지와 유사한 화면 구성을 통해 E2E 테스트 정확도를 높임

구현 범위:

  • test-sites/naver-impersonation-login 테스트 사이트 추가
  • NAVER 로그인 화면을 연상시키는 정적 페이지 구현
  • 페이지 title 또는 주요 텍스트에 NAVER 브랜드명 포함
  • 공식 NAVER 로고 이미지 사용
  • 로고 이미지 alt 텍스트에 NAVER 포함
  • 아이디/비밀번호 입력 필드 포함
  • 외부 credential form action 탐지를 위한 안전한 더미 action 추가
  • 실제 입력값 수집/저장/전송 금지
  • 실제 NAVER 로그인 API 호출 금지
  • robots.txt 추가
  • noindex,nofollow 메타데이터 설정
  • 테스트 fixture 식별 문구 추가
  • metadata.yaml에 목적, 원본/로고 출처, 안전장치 기록
  • tests/corpus/urls.yaml에 테스트 URL과 기대 신호 추가

예상 탐지 신호:

  • BRAND_IMPERSONATION_FORM
  • LOGO_ALT_IMPERSONATION
  • CREDENTIAL_FORM_EXTERNAL

안전장치:

  • 실제 credential 수집, 저장, 전송 금지
  • 실제 NAVER 로그인 API 호출 금지
  • form action은 테스트용 더미 URL만 사용
  • 로고 사용 목적과 출처를 metadata.yaml에 기록
  • 모든 페이지에 THIS IS A SECURITY TEST PAGE 식별 문구 포함
  • 검색엔진 노출 방지를 위해 robots.txtnoindex,nofollow 적용
  • 배포는 GSB 오염 가능성을 줄이기 위해 fixture 전체를 하루 안에 일괄 배포하고 검증하는 방식으로 진행
  • 검증 완료 후 배포 사이트는 즉시 내림

🗒 체크리스트

  • 구현할 기능에 대한 설계를 마쳤는가?
  • 테스트 코드를 작성했는가?
  • API 명세서(Swagger 등)를 업데이트했는가?
  • test-sites/naver-impersonation-login 디렉토리를 추가했는가?
  • NAVER 브랜드명을 포함한 로그인 폼 UI를 구현했는가?
  • 공식 NAVER 로고 이미지를 포함했는가?
  • 로고 이미지 alt에 NAVER 텍스트를 포함했는가?
  • 비밀번호 입력 필드를 포함했는가?
  • 외부 credential form action 테스트 케이스를 포함했는가?
  • 실제 credential 수집/저장/전송이 불가능한 구조인지 확인했는가?
  • 실제 NAVER 인증 API를 호출하지 않는지 확인했는가?
  • robots.txtnoindex,nofollow를 추가했는가?
  • 테스트 fixture 식별 문구를 추가했는가?
  • metadata.yaml에 fixture 목적, 로고 출처, 안전장치를 기록했는가?
  • tests/corpus/urls.yaml에 기대 신호를 기록했는가?

참고자료

  • 기존 정상 로그인 fixture: test-sites/mju-sso-login
  • 기존 corpus 파일: tests/corpus/urls.yaml
  • 브랜드 목록: app/services/domain_heuristic/brands.txt

NAVER 브랜드 매칭 기준:

  • naver.com
  • navercloud.com
  • navercorp.com

주요 검증 대상:

  • BRAND_IMPERSONATION_FORM
  • LOGO_ALT_IMPERSONATION
  • CREDENTIAL_FORM_EXTERNAL

Metadata

Metadata

Assignees

Labels

feature새로운 기능/특징

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions