OneWebDesk

security.txt 점검

/.well-known/security.txt 존재 여부와 필수 항목을 점검합니다.

security.txt 점검 도구는 사이트의 /.well-known/security.txt 파일이 존재하는지, 그리고 그 안에 보안 연구자가 취약점을 신고할 때 필요한 항목이 제대로 들어 있는지 확인합니다. 도메인만 입력하면 서버가 표준 위치를 직접 조회해 Contact·Expires·Encryption·Policy·Acknowledgments 같은 필드를 추출하고, 누락된 항목을 한눈에 보여 줍니다.

security.txt는 RFC 9116으로 표준화된 텍스트 파일입니다. 보안 문제를 발견한 사람이 어디로 연락해야 하는지 명확히 알려 주어, 신고가 엉뚱한 부서로 흘러가거나 공개되어 버리는 일을 막아 줍니다. 이미 많은 정부·기업 사이트가 이 파일을 운영하고 있으며, 보안 성숙도를 보여 주는 기본 신호로 자리잡았습니다.

security.txt(RFC 9116)란

security.txt는 사이트의 보안 연락처와 취약점 신고 정책을 기계·사람 모두 읽을 수 있게 적어 두는 표준 텍스트 파일입니다. 표준 위치는 /.well-known/security.txt이며, 과거 관행으로 루트 경로(/security.txt)에 두기도 합니다. 이 도구는 두 위치를 모두 시도합니다.

주요 필드

  • Contact (필수): 신고를 받을 이메일·URL·전화. 한 개 이상 있어야 합니다.
  • Expires (필수): 이 파일의 정보가 유효한 만료 시각. 지나면 갱신해야 합니다.
  • Encryption: 암호화 신고를 위한 공개키 위치.
  • Policy: 취약점 공개·신고 정책 문서 링크.
  • Acknowledgments: 기여한 연구자에게 감사하는 페이지.
  • Preferred-Languages / Canonical: 선호 언어, 파일의 정규 URL.

작성·운영 팁

파일은 가능하면 HTTPS로 제공하고, 운영 환경에서는 PGP 등으로 서명해 위·변조를 방지하는 것이 좋습니다. Expires는 보통 1년 이내로 두고 주기적으로 갱신합니다. 연락처가 살아 있는지, 만료가 지나지 않았는지 정기 점검하면 신고 누락을 줄일 수 있습니다. security.txt는 보안 성숙도의 한 신호일 뿐이므로, 보안 헤더 점검으로 HSTS·CSP 같은 기본 방어도 함께 갖췄는지 확인하면 좋습니다.

자주 묻는 질문

security.txt는 어디에 둬야 하나요?
표준 위치는 /.well-known/security.txt 입니다. 일부 사이트는 호환을 위해 루트(/security.txt)에도 둡니다. 이 도구는 두 곳을 모두 확인합니다.
Contact와 Expires는 꼭 있어야 하나요?
네. RFC 9116에서 Contact와 Expires는 필수입니다. Contact가 없으면 신고 경로가 없는 셈이고, Expires가 없으면 정보의 최신성을 보장할 수 없습니다.
파일이 없으면 보안에 문제가 있는 건가요?
취약점 자체를 뜻하지는 않습니다. 다만 신고 창구가 명시되지 않아 보안 연구자가 연락처를 찾기 어렵습니다. 운영을 권장합니다.
입력한 도메인 정보가 외부로 전송되나요?
조회는 우리 서버가 해당 사이트의 표준 경로에만 요청을 보냅니다. 사설 IP·내부 주소 등은 SSRF 방어로 차단되며, 결과는 60초간만 캐싱됩니다.
Expires가 지났다고 나오면요?
파일은 있지만 만료 시각이 과거라는 뜻입니다. 정보가 오래되었을 수 있으니 사이트 운영자라면 Expires를 갱신하세요.

관련 도구

웹 보안