본문으로 건너뛰기Lockpick
문서

방화벽에서 Lockpick 허용하기

방화벽이나 봇 보호가 Lockpick을 막는다면, Signature-Agent 헤더로 서명된 요청을 통과시키세요.

방화벽, 봇 검사, 로그인 벽은 스캔을 멈출 수 있습니다. 사이트를 보기 전에 차단되면 보고서에는 차단됨으로 표시되고, Cloudflare나 Vercel의 봇 검사처럼 무엇이 막았는지 알려 줍니다. 이 경우 점수는 매기지 않지만, 공개 기록은 여전히 확인하며, 자동 점검은 일시 중지되고 그 사실을 알려 줍니다. Deep 스캔 도중에 봇 보호가 작동하면, 보고서는 그 전까지 읽은 내용을 모두 유지하고, 봇 보호가 작동하고 있다고 알려 주며, 아래 규칙을 추가하는 AI 에이전트용 프롬프트를 제공합니다. Lockpick을 통과시키면 다음 스캔이 끝까지 실행됩니다.

Lockpick이 자신을 소개하는 방법

스캔은 일반 Chrome이나 Edge 브라우저와 같은 헤더를 보내며, 사용자 에이전트도 포함됩니다. 그래서 스캔은 방문자처럼 내 사이트를 봅니다. 어차피 사용자 에이전트는 아무것도 증명하지 못합니다. 누구나 복사할 수 있기 때문입니다.

대신 Lockpick은 내 사이트로 보내는 모든 요청에 Web Bot Auth로 서명합니다. 이는 봇이 자신이 누구인지 증명하기 위한 공개 표준입니다. 각 요청에는 이 헤더가 들어 있으며, 내 도메인에 대한 짧은 유효 기간의 서명은 Lockpick의 키만 만들 수 있습니다. 여기에 일치하는 Signature-Input 헤더가 함께 붙습니다.

Signature-Agent: "https://bots.lockpick.app"

공개 키는 https://bots.lockpick.app/.well-known/http-message-signatures-directory에 게시되어 있습니다. 이 서명을 확인하는 봇 보호는 실제 Lockpick 스캔과 그 이름을 빌려 쓰는 다른 요청을 구분할 수 있습니다. Lockpick을 검증된 봇으로 등록한 제공자는 내가 따로 규칙을 만들지 않아도 통과시킵니다. 내 제공자가 그렇게 하지 않는다면, 또는 내 규칙이 모든 봇을 차단하거나 도전하게 한다면, 아래 규칙을 추가하세요.

허용하는 방법

방화벽이나 봇 보호에서 Signature-Agent 헤더에 bots.lockpick.app이 포함된 경우 봇 검사와 요청 속도 제한을 건너뛰는 규칙을 추가하세요. Lockpick은 고정된 IP 주소 목록에서 스캔하지 않으므로, 주소가 아니라 이 헤더로 허용하세요.

  • Vercel. 프로젝트의 Firewall에서 사용자 지정 규칙을 추가하세요. 조건은 Request Header signature-agent가 bots.lockpick.app을 포함하는 것이고, 동작은 Bypass입니다. 이 규칙은 도전하거나 거부하는 모든 사용자 지정 규칙보다 위에 있어야 합니다. Attack Challenge Mode가 켜져 있으면 알려진 봇을 제외한 모든 방문자에게 도전하며, 사용자 지정 규칙으로는 이를 해제할 수 없으므로, 끈 뒤에 다시 확인하세요.
  • Cloudflare. 다음 표현식을 가진 사용자 지정 규칙을 추가하세요. any(http.request.headers["signature-agent"][*] contains "bots.lockpick.app")이며, 동작은 Skip입니다. 나머지 사용자 지정 규칙, 요청 속도 제한, 관리형 규칙, Super Bot Fight Mode(유료 요금제)를 건너뛰도록 설정하고, 이 규칙을 맨 위에 두세요. 무료 요금제의 Bot Fight Mode는 어떤 규칙으로도 건너뛸 수 없으므로, Lockpick이 통과하려면 이를 꺼야 합니다.
  • 기타 방화벽. 요청 헤더로 봇 보호를 건너뛰는 규칙을 찾아보세요. 차단 페이지에서 누가 응답했는지 알 수 있으면 보고서는 Akamai, Imperva, Sucuri, AWS WAF, Azure Front Door, DataDome 또는 PerimeterX라고 이름을 표시하고, 어느 방화벽이 응답했는지 알 수 없을 때는 "방화벽"이라고 표시합니다.

Cloudflare와 Vercel의 봇 검사

봇 검사는 방문자에게 기다리라고 하거나 사람이라는 것을 증명하라고 요청하는 페이지입니다. 때로는 일반적인 "200 OK" 상태로 나타납니다. Lockpick은 Cloudflare와 Vercel이 보내는 표지로 이것을 인식하고, 즉시 멈추며, 이를 해결하거나 우회하려고 시도하지 않습니다. 다른 주소로 다시 시도하지도 않습니다.

민감한 경로 하나를 차단하는 방화벽은 제 역할을 하는 것이므로, 그 사실만으로 스캔이 멈추지는 않습니다. Lockpick이 공개되어 있으면 안 되는 파일(예: /.env 또는 /wp-config.php.bak)이나 흔한 경로(예: /admin)를 확인할 때 방화벽이 차단 또는 도전 페이지로 응답하면, 보고서는 그 경로를 보호됨으로 기록하고 스캔은 계속됩니다. 연속으로 여러 확인이 거부된 경우에만 Lockpick은 홈페이지를 다시 읽습니다. 방금 전에 제공했던 페이지를 방화벽이 거부한다면, 방화벽이 Lockpick 자체를 막고 있는 것이므로 스캔은 멈춥니다. Deep은 민감한 파일 확인을 경로 및 API 확인 뒤에 두며, 스캔마다 순서를 바꿉니다. 또한 호스트가 제공할 수 있는 파일만 확인합니다. 빌드 결과물만 게시되는 Vercel, Netlify, 또는 Shopify나 Webflow 같은 사이트 빌더에서는 .env, .git, 데이터베이스 덤프, 서버 파일을 건너뛰고 대신 내 경로를 확인합니다.

사이트에 부담을 주지 않는 이유

  • 모든 스캔에는 고정된 한도가 있습니다. Pulse는 최대 10개, Deep 스캔은 최대 200개의 요청입니다.
  • 요청은 한꺼번에 보내지 않고 간격을 두고 보냅니다.
  • 사이트가 "요청이 너무 많습니다"라고 응답하거나, 실패하기 시작하거나, 접근을 거부하면 스캔은 일찍 멈춥니다.
  • 발견한 모든 페이지에 대해 robots.txt 규칙을 따르며, Lockpick을 위해 작성된 규칙을 사용하고, 그런 규칙이 없으면 모든 크롤러의 규칙을 사용합니다.
  • 방문자가 여는 페이지와 그 페이지가 불러오는 파일은 예외입니다. 방문자의 브라우저처럼, robots.txt가 크롤러에게 접근하지 말라고 해도 스캔은 홈페이지, 불러오는 스크립트, /.well-known/security.txt를 읽습니다.
  • robots.txt를 읽을 수 없으면 스캔은 이 파일들만 읽고 다른 모든 페이지는 건너뜁니다.
  • 로그인하지 않고, 양식을 제출하지 않으며, 아무것도 바꾸지 않습니다.

도움이 되었나요?

이 페이지 목차