security.txt 생성기 — RFC 9116 파일 만들기와 검사

연락처, 만료일, 암호화, 정책 필드가 있는 유효한 security.txt(RFC 9116)를 만들고, 기존 파일을 검사하고, /.well-known/용으로 다운로드하세요.

이메일 주소, https:// 신고 양식, 전화번호. 이메일만 적으면 mailto:가 붙습니다. 선호하는 연락처를 맨 위에 두세요.

1년 이내의 RFC 3339 날짜·시간입니다. 만료되기 전에 갱신하도록 캘린더에 알림을 설정하세요.

PGP 공개 키 자체가 아니라 키의 URL(https://, dns:, openpgp4fpr:).

쉼표로 구분한 언어 태그. 예: en, fr, pt-BR.

이 파일이 위치한 https:// URL. 서명한다면 사실상 필수입니다.

취약점 공개 정책: 범위, 면책 조항, 대응 방식.

문제를 신고한 연구자에게 감사를 표하는 페이지(명예의 전당).

보안 분야 채용 공고.

기계 판독 가능한 보안 권고를 게시하는 벤더용: provider-metadata.json의 URL.

유효함: 필수 필드가 모두 있고 모든 값이 RFC 9116을 따릅니다.

security.txt
…
파일을 둘 위치
  • HTTPS를 통해 https://yourdomain.com/.well-known/security.txt에서 text/plain; charset=utf-8으로 제공하세요. 원한다면 /security.txt를 이 주소로 리디렉션하세요.
  • Next.js, Astro, Vite와 대부분의 정적 호스팅: public/.well-known/security.txt로 저장하세요. WordPress, Apache, nginx: 웹 루트에 .well-known 폴더를 만드세요.
  • 자체 사이트를 제공하는 각 하위 도메인에는 별도의 파일이 있어야 합니다(또는 주석으로 메인 파일을 안내하세요).
  • 선택: gpg --clearsign security.txt로 서명하고 서명된 결과를 게시하세요. 서명이 위치까지 보장하도록 Canonical을 포함하세요.

모든 작업이 브라우저에서 실행됩니다. 입력한 내용은 전송되거나 저장되지 않습니다. 모든 무료 도구 보기.

문제를 발견하셨거나 개선할 점이 있나요? 모든 메시지를 읽고 빠르게 고칩니다.

이 무료 security.txt 생성기는 보안 연구자에게 사이트의 취약점을 어떻게 신고하면 되는지 알려 주는, RFC 9116으로 표준화된 작은 텍스트 파일을 만들어 줍니다. 연락처와 만료일을 입력하고, 필요하면 암호화 키, 공개 정책, 감사 페이지, 선호 언어, 정식 URL도 넣으세요. 입력하는 동안 RFC 기준으로 검사되며, /.well-known/security.txt에 바로 올릴 수 있는 security.txt로 다운로드됩니다.

이 파일이 없으면 사이트의 허점을 발견한 사람이 어디로 보내야 할지 추측해야 하고, 신고는 고객 지원 메일함이나 소셜 미디어로 가거나 아예 사라집니다. 파일은 5분이면 만들 수 있고, 많은 보안 스캐너와 버그 바운티 연구자가 확인합니다. 두 번째 탭은 이미 게시한 파일을 검사합니다. 이 도구는 파일에 서명하지 않으며(서명은 gpg를 쓰세요), 페이지가 네트워크 요청을 하지 않으므로 실제 사이트의 파일을 가져오지도 않습니다.

사용 방법

  1. Contact를 하나 이상 입력하세요: 보안 이메일, 신고 양식 URL, 전화번호. 선호하는 것을 맨 앞에 두세요.
  2. 버튼 중 하나로 Expires를 설정하거나(6개월이 좋은 기본값) RFC 3339 날짜·시간을 입력하세요.
  3. 있는 선택 필드를 추가하세요: PGP 키 URL, 공개 정책, 감사 페이지, 읽을 수 있는 언어, 파일의 정식 URL.
  4. 빨간색으로 표시된 항목을 고치세요. 노란색 항목은 권장 사항입니다.
  5. security.txt를 다운로드해 https://yourdomain.com/.well-known/security.txt에 text/plain으로 게시하세요. Expires를 갱신하도록 알림을 설정하세요.

자주 묻는 질문

security.txt란 무엇인가요?

웹사이트나 제품의 보안 취약점을 신고하는 방법을 적어 두는 /.well-known/security.txt 위치의 일반 텍스트 파일입니다. 2022년 4월 IETF에서 RFC 9116으로 발표되었습니다. 필수 필드는 Contact와 Expires 두 개뿐이고, 나머지(Encryption, Acknowledgments, Preferred-Languages, Canonical, Policy, Hiring)는 선택 사항입니다.

security.txt 파일은 어디에 두나요?

https://yourdomain.com/.well-known/security.txt에 두고, HTTPS로 콘텐츠 유형 text/plain; charset=utf-8로 제공하세요. 루트의 예전 위치인 /security.txt도 일부 도구가 여전히 읽으므로, 그곳에 사본을 두거나 리디렉션해도 됩니다. Next.js, Astro, Vite와 대부분의 정적 호스팅에서는 파일을 public/.well-known/에 넣으세요. 별도의 사이트인 호스트 이름마다 자체 파일이 있어야 합니다.

Expires 필드가 필수인 이유는 무엇인가요?

오래된 연락처 정보가 영원히 신뢰받지 않도록 하기 위해서입니다. RFC 9116은 Expires를 필수로 정하고 1년 이내의 날짜를 권장합니다. 날짜가 지나면 연구자와 스캐너는 파일을 오래된 것으로 취급해야 합니다. 6개월로 정하고 캘린더에 갱신 알림을 두는 것이 현실적이며, 생성기는 날짜가 지났거나 1년보다 멀면 경고합니다.

security.txt에 서명해야 하나요?

서명은 선택 사항이지만 권장됩니다. 공개 키를 게시한 키로 gpg --clearsign security.txt를 실행하고(Encryption 필드가 그 키를 가리킬 수 있습니다), 서명된 결과물을 대신 올리세요. 서명한다면 Canonical 필드를 넣어, 한 URL에서 가져온 서명본이 다른 URL에서 유효한 것처럼 쓰이지 않게 하세요.

버그 바운티 플랫폼 링크를 연락처로 써도 되나요?

네. Contact는 모든 https:// URI를 받으므로 HackerOne, Bugcrowd, Intigriti, YesWeHack 프로그램 페이지나 자체 신고 양식도 유효합니다. 많은 조직이 플랫폼 링크와 이메일 주소를 선호 순서대로 함께 적습니다.

RFC 9116 필드 한눈에 보기

• Contact (필수, 반복 가능): mailto:, https:, tel: URI. 순서가 선호도를 나타냅니다.

• Expires (필수, 정확히 한 번): 2027-04-30T23:59:59Z 같은 RFC 3339 날짜·시간. 1년 이내를 권장합니다.

• Encryption (반복 가능): 공개 키를 받을 수 있는 위치로 https://, dns:(OPENPGPKEY 레코드), openpgp4fpr:(지문) 형식. 키 자체를 붙여 넣지 마세요.

• Acknowledgments (반복 가능): 신고자에게 감사를 전하는 페이지.

• Preferred-Languages (한 번): 쉼표로 구분한 언어 태그, 예: en, fr.

• Canonical (반복 가능): 이 파일이 있어야 할 URL.

• Policy (반복 가능): 취약점 공개 정책.

• Hiring (반복 가능): 보안 관련 채용 공고.

• CSAF (반복 가능, OASIS 등록): CSAF 보안 권고 피드의 provider-metadata.json.

웹 URI는 https://를 써야 합니다. #으로 시작하는 줄은 주석입니다.

공개 정책에 써야 할 내용

Policy 링크는 연구자가 신고해도 안전한지 알아보는 곳입니다. 범위(어떤 도메인과 앱), 범위 밖 항목(서비스 거부, 사회 공학, 자동 스캐너 결과), 신고 확인 및 수정 속도, 보상 여부, 그리고 정책을 따르는 선의의 연구에 법적 조치를 취하지 않겠다는 면책(세이프 하버) 조항을 밝히세요. 길고 법률적인 페이지보다 짧고 명확한 페이지가 더 유용한 신고를 받습니다.

security.txt와 robots.txt

둘은 나란히 있지만 하는 일이 다릅니다. robots.txt는 크롤러에게 가져가지 말아야 할 것을 요청하고, security.txt는 사람들에게 보안 담당자에게 연락하는 방법을 알려 줍니다. security.txt나 /.well-known/을 Disallow에 넣지 마세요. 연구자와 스캐너가 읽어야 하며, robots.txt에서 막는다고 숨겨지지도 않습니다.

관련 무료 도구

  • robots.txt 생성기 — 모두 허용, 스테이징, WordPress 프리셋과 AI 크롤러 섹션(학습은 차단, AI 검색은 유지)으로 robots.txt를 만들고, 사이트를 색인에서 빠지게 만드는 실수를 경고받으세요.
  • 비밀번호 생성기 — 강력한 무작위 비밀번호, 기억하기 쉬운 패스프레이즈, PIN을 생성하세요. 모든 처리가 브라우저에서 이루어지며 아무것도 전송되거나 저장되지 않습니다.
  • 메타 태그 생성기 — 페이지 제목, 설명, 소셜 카드 정보를 입력하면 실시간 글자 수 카운터와 함께 올바르게 이스케이프된 완전한 <head> 블록을 만들어 줍니다.
  • JWT 디코더 — JWT의 헤더와 페이로드를 디코딩하고, 만료 시간을 알기 쉽게 확인하고, HS·RS·PS·ES 서명을 검증하거나 새 토큰에 서명하세요. 브라우저 밖으로 나가는 것은 없습니다.