본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

RFC 9116(Request for Comments 9116)은 조직의 보안 취약점 신고 연락처와 공개 정책을 일정한 위치와 형식의 security.txt 파일로 안내하기 위한 기술 규격이다.

정식 제목은 A File Format to Aid in Security Vulnerability Disclosure이며, 2022년 4월 발행되었다. IETF의 합의를 거친 정보 제공용(Informational) RFC로, 인터넷 표준 트랙 규격은 아니다.[1]

취약점을 발견한 연구자가 신고 창구를 쉽게 찾도록 하는 것이 목적이다. security.txt는 사람이 읽고 프로그램이 해석할 수 있으며, 조직의 기존 취약점 공개 정책을 보완한다.[1]

게시 위치와 형식

편집 원본 편집
  • 위치: https://example.com/.well-known/security.txt
  • 전송: HTTPS 필수.
  • 형식: UTF-8 일반 텍스트. Content-Type: text/plain; charset=utf-8로 제공한다.
  • 문법: 필드는 이름: 값 형태로 한 줄씩 작성한다. 필드명은 대소문자를 구분하지 않으며, #으로 시작하는 줄은 주석이다.
  • 호환 경로: 루트의 /security.txt도 둘 수 있지만, 두 위치에 모두 존재하면 /.well-known/security.txt를 사용한다.
  • 적용 범위: 조회한 도메인 또는 IP 주소에 적용되며, 상위 도메인이나 하위 도메인으로 자동 확장되지 않는다.[2]

Contact와 Expires는 필수이며, 나머지 기본 필드는 선택 사항이다.[2] 필드의 용도와 반복 가능 여부는 IANA 등록부에서도 확인할 수 있다.[3]

필드 용도 반복 가능
Contact 취약점 신고 연락처 가능
Expires 정보의 유효기간이 끝나는 날짜와 시간 불가
Encryption 암호화 통신용 키를 얻을 수 있는 위치 가능
Policy 취약점 공개 정책의 위치 가능
Canonical 이 파일의 정식 URI 가능
Preferred-Languages 신고 시 선호하는 언어 목록 불가
Acknowledgments 신고 기여자를 소개하는 페이지 가능
Hiring 보안 관련 채용 페이지 가능
  • Contact: 이메일은 mailto:, 전화번호는 tel:을 사용한다. 여러 연락처는 선호 순서로 나열한다.
  • Expires: RFC 3339 형식으로 작성하며, 현재부터 1년 미만의 미래 시점이 권고된다.
  • Preferred-Languages: ko, en처럼 쉼표로 구분한다. 나열 순서는 우선순위를 뜻하지 않는다.[2]

확장 필드: 2026년 10월 11일 확인한 IANA 등록부에는 RFC 9116의 기본 필드 외에 CSAF와 Bug-Bounty도 등록되어 있다. 전자는 CSAF(Common Security Advisory Framework)의 provider-metadata.json 위치를, 후자는 True 또는 False로 버그 바운티 프로그램의 금전적 보상 제공 여부를 안내한다.[3]

다음은 서명 없는 구성 예시다. 게시 전에 주소를 실제 운영 값으로 바꾸고 만료일을 갱신한다.

Contact: mailto:[email protected]
Contact: https://example.com/security/report
Expires: 2027-04-01T00:00:00Z
Preferred-Languages: ko, en
Policy: https://example.com/security/policy
Encryption: https://example.com/security/pgp-key.asc
Canonical: https://example.com/.well-known/security.txt

운영 시 유의사항

편집 원본 편집
  • 정보 갱신: 만료된 파일과 변경된 연락처는 신고 누락이나 정보 유출을 초래할 수 있다.
  • 진위 확인: OpenPGP 평문 서명이 권고된다. 파일과 연결 자원의 변조 여부, 리디렉션 목적지를 확인한다.
  • 테스트 허가: 파일의 존재나 부재만으로 보안 테스트 허용 여부를 판단하지 않는다. 허용 범위는 공개 정책 등에서 별도로 확인한다.[2]