프로젝트 소개

표면 관측소는 명시된 대상 집합의 공개 표면을 수동적이고 매일 모니터링하는 프로젝트입니다. 단일한 보안 스냅샷을 만드는 대신, HTTP 보안 헤더, TLS 속성, DNS 레코드, 인증서 투명성 데이터를 주기적으로 수집해 모두 시계열로 저장합니다. 핵심 목표는 드리프트를 가시화하는 것입니다. 마이그레이션 후 사라진 헤더, 다른 기관이 발급한 인증서, 공개 로그에 새로 나타난 서브도메인 같은 변화입니다. 저장소는 HSTS, Content Security Policy, X-Content-Type-Options, Referrer 정책, security.txt 존재 여부, 인증서 유효성 같은 항목을 평가하는 자동화된 프로브를 유지합니다. 결과는 대상별 점수를 포함한 대시보드에 표시되며, 프로젝트가 명시적으로 부재와 구분하는 불확정 상태도 함께 나타냅니다. 전체 스냅샷은 변경이 있을 때만 보존되어 반복 데이터를 대량으로 저장하는 것을 피합니다. 구현은 프로브와 대시보드 생성에 Python 표준 라이브러리만 사용합니다. 데이터는 JSONL 형식의 append-only 시계열과 날짜별로 정리된 원시 스냅샷에 저장됩니다. 또한 관측된 표면이 변경된 날의 기록을 담은 Markdown 변경 일지도 있습니다. 대상 목록은 포함 근거와 함께 YAML 파일에 정의되며, 프로젝트는 무엇을 수집하는지, 무엇을 절대 수집하지 않는지, 대상 제거를 요청하는 방법을 설명하는 참여 규칙을 공개합니다. 프로젝트는 비침습적 수집을 강조합니다. 쿠키 값은 기록되지 않고, 어떤 요청도 상태를 변경하지 않으며, 관측을 허용하는 공개 정책이 있는 대상만 포함됩니다. 시간에 따른 웹 보안 태세를 추적하고, 자신의 대상을 알려진 참조와 비교하며, 공공 인프라의 점진적 변화를 이해하려는 사람에게 참고 자료로 유용합니다.