차단 투명성
차단 투명성은 요청이 차단되었다는 사실뿐만 아니라 정확히 왜 차단되었는지를 보여줍니다. 이 기능은 차단된 모든 제출에 대해 상세한 사유 코드, 점수 세부 내역, 실행 가능한 설명을 제공합니다.
사유 코드
차단되었거나 의심스러운 모든 요청에는 어떤 행동 신호가 차단을 유발했는지 설명하는 하나 이상의 사유 코드가 부여됩니다.
| Code | Description | Action |
|---|---|---|
| FAST_TYPING | 사람이 입력하기에는 너무 빠른 속도로 문자가 입력되었습니다. 평균 키 입력 간격이 자연스러운 임계값보다 낮습니다. | 실제로 타이핑이 빠른 사용자는 CAPTCHA 챌린지를 풀어 사람임을 증명할 수 있습니다. |
| NO_KEY_VARIANCE | 모든 키 입력의 타이밍이 동일했습니다. 자연스러운 타이핑에는 항상 속도의 변화가 있습니다. | 이는 강력한 봇 지표입니다. 자동화 도구는 편차 없이 텍스트를 붙여넣습니다. |
| SHORT_KEY_DWELL | 키를 너무 빨리 놓았습니다. 사람은 키를 몇 밀리초 동안 누르고 있지만, 자동화 도구는 즉시 놓습니다. | 키보드 매크로 도구나 브라우저 자동화에서 흔히 나타납니다. |
| NO_TYPING_PAUSES | 단어나 문장 사이에 자연스러운 멈춤이 없습니다. 사람은 생각하거나 읽는 동안 잠시 멈춥니다. | 양식이 한 번에 연속으로 작성되었음을 나타냅니다 — 자동화 스크립트의 전형적인 특징입니다. |
| LINEAR_MOUSE_PATH | 마우스가 완벽한 직선으로 움직였습니다. 사람의 마우스 움직임에는 자연스러운 곡선과 흔들림이 있습니다. | Selenium이나 Puppeteer 같은 자동화 프레임워크는 기본적으로 직선 경로를 생성합니다. |
| ABNORMAL_MOUSE_SPEED | 마우스가 부자연스러운 속도로 움직였습니다 — 불가능할 정도로 빠르거나 완벽하게 일정한 속도입니다. | 실제 마우스 움직임에는 가속과 감속 패턴이 있습니다. |
| NO_MOUSE_MOVEMENT | 세션 중에 마우스 움직임이 전혀 감지되지 않았습니다. | 모바일 사용자는 당연히 마우스가 없습니다. 이 코드는 모바일 기기에서 낮은 가중치가 적용됩니다. |
| NO_FOCUS_EVENTS | 페이지가 한 번도 포커스되지 않았거나 양식 작성 중에 탭이 보이지 않았습니다. | 헤드리스 브라우저는 포커스 이벤트를 올바르게 발생시키지 않는 경우가 많습니다. |
| MISSING_BROWSER_FEATURES | 예상되는 브라우저 API가 없거나 예상치 못한 값을 반환합니다. | 헤드리스 브라우저와 자동화 도구는 WebGL, AudioContext 또는 Canvas 지원이 없는 경우가 많습니다. |
| INCONSISTENT_CAPABILITIES | 보고된 브라우저 기능이 User-Agent 문자열과 일치하지 않습니다. | 봇 운영자는 User-Agent를 위조하면서 브라우저 기능을 맞추는 것은 잊는 경우가 많습니다. |
| NO_FINGERPRINTS | 브라우저 핑거프린트를 수집할 수 없었습니다 (Canvas, WebGL, AudioContext). | 헤드리스 브라우저이거나 매우 강력한 개인 정보 보호 설정을 사용하고 있음을 나타낼 수 있습니다. |
| FINGERPRINT_BLACKLISTED | 브라우저 핑거프린트 해시가 차단 목록에 있는 알려진 봇 핑거프린트와 일치합니다. | 해당 핑거프린트는 이전에 자동화 도구의 것으로 식별되었습니다. |
| DATACENTER_IP | 요청이 알려진 데이터 센터 IP 대역(AWS, GCP, Azure 등)에서 발생했습니다. | 정상적인 사용자가 데이터 센터 IP에서 접속하는 경우는 드뭅니다. VPN 사용자는 이 코드가 발생할 수 있습니다. |
점수 세부 내역
각 요청은 7개의 하위 점수로 구성된 종합 점수(0.0–1.0)를 받습니다. 대시보드는 어떤 카테고리가 낮은 점수를 유발했는지 이해할 수 있도록 세부 내역을 보여줍니다.
| Category | Description | Weight |
|---|---|---|
| 키보드 | 타이핑 속도, 키 입력 간격, 키 누름 시간 패턴. | 30% |
| 일시 정지 | 타이핑 중 단어와 문장 사이의 자연스러운 멈춤. | 20% |
| 마우스 | 마우스 움직임 엔트로피, 경로 곡률, 클릭 패턴. | 20% |
| 속도 | 마우스 움직임의 속도 분포와 가속 패턴. | 5% |
| 컨텍스트 | 페이지 포커스, 탭 가시성, 상호작용 타이밍. | 10% |
| 스크롤 | 스크롤 행동과 페이지 상호작용 깊이. | 5% |
| 기능 지원 | 브라우저 기능 일관성과 핑거프린트 검증. | 10% |
차단 로그
차단 로그 탭은 차단되었거나 의심스러운 모든 요청의 페이지네이션된 목록을 보여줍니다. 각 항목에는 타임스탬프, 판정, 점수, 사유 코드, 페이지 경로, 국가가 포함됩니다. 행을 클릭하면 전체 점수 세부 내역이 있는 상세 패널이 열립니다.
- 타임스탬프 — 요청이 수신된 시각
- 판정 — 봇(빨간색) 또는 의심(주황색)
- 점수 — 종합 행동 점수
- 사유 — 발생한 사유 코드를 배지로 표시
- 페이지 — 양식이 있던 페이지
- 국가 — 방문자의 지리적 위치
점수 분포
점수 분포 탭은 모든 행동 점수의 히스토그램을 보여줍니다. 막대는 색상으로 구분됩니다: 초록색(≥ 0.7, 사람), 주황색(0.4–0.7, 의심), 빨간색(< 0.4, 봇). 정상적인 사이트에서는 대부분의 요청이 초록색 영역에 나타납니다.
Interpretation
빨간색 영역에 많은 요청이 보인다면 사이트가 활발한 봇 공격을 받고 있을 수 있습니다. 보안 정책을 사용하여 자동 차단 임계값을 구성하세요.
WordPress 플러그인 분석
WordPress 플러그인에는 차단 통계를 WordPress 관리자 화면에서 바로 보여주는 내장 분석 페이지(SilentShield → Analytics)가 포함되어 있습니다. 확장 설정에서 '상세 추적'을 활성화하면 데이터 수집이 시작됩니다.
- 요약 카드: 오늘 차단, 이번 주, 이번 달, 차단율
- 일별 차단 수를 보여주는 타임라인 차트
- 보호 모듈별 세부 내역 (타이머, 허니팟, Captcha, IP 차단 등)
- 사유 코드 빈도 표
- 상세 패널이 있는 페이지네이션된 차단 로그
- API 모드 차단에 대한 점수 세부 내역 (SilentShield 하위 점수 표시)
Standalone Mode
독립 실행 모드(SilentShield API 없이)에서는 플러그인이 어떤 보호 모듈이 요청을 차단했는지(예: SUBMIT_TOO_FAST, HONEYPOT_FILLED, CAPTCHA_WRONG)를 이해하기 쉬운 설명과 함께 기록합니다.
API Mode
API 모드에서는 '상세 추적'이 활성화된 경우 플러그인이 SilentShield 사유 코드(FAST_TYPING, NO_MOUSE_MOVEMENT 등), 행동 점수, 전체 점수 세부 내역을 추가로 기록합니다.
개인 정보 보호
차단 로그에는 개인 식별 정보가 절대 포함되지 않습니다. IP 주소는 SHA-256 해시로 저장됩니다. User-Agent 문자열은 기록되지 않습니다. 데이터는 구성된 보존 기간(기본값: 30일)이 지나면 자동으로 삭제됩니다.