GitHub가 10월 2일 저장소 보안 권고에 기밀 댓글을 추가했다. 보안 권고는 공개 저장소의 유지관리자가 취약점을 비공개로 논의하고 수정한 뒤 공개하는 절차다.

기밀 댓글은 저장소 쓰기 권한이 있는 사람만 볼 수 있다. 쓰기 권한이 없는 제보자와 초대 협업자는 댓글을 볼 수 없고 알림도 받지 않는다.

이전에는 권고의 모든 댓글이 제보자를 포함한 협업자 전원에게 보였다. 그래서 악용 의심이나 조사 세부 사항은 다른 곳으로 옮겨 논의해야 했고, 그 내용은 권고 기록에서 빠졌다.

대상은 비공개 취약점 제보를 켠 공개 저장소이며, GitHub Free·Pro·Team·Enterprise Cloud에서 쓸 수 있다.

GraphQL API는 기밀 댓글을 제공하지만 REST API는 반환하지 않는다. REST만 읽는 연동은 권고 대화의 일부만 보게 된다.

주의할 점: 고정되는 공개 범위와 권한 변화

댓글을 게시한 뒤에는 기밀과 일반 사이를 바꿀 수 없다. 공개 범위는 게시하는 순간 정해진다.

열람 권한은 현재 저장소 권한을 따른다. 쓰기 권한을 잃은 사람은 기밀 댓글을 더 읽을 수 없고, 기밀 댓글 조회는 감사 로그에 기록된다.

이 공개 규칙만으로 제보자가 특정 메모를 실제로 읽었는지는 알 수 없다. 여기서 설명한 것은 권한 모델이며, 비공개 권고를 직접 시험한 결과는 아니다.

게시 전에 정하는 읽을 대상

기밀 댓글이 유용한 지점은 게시 전에 읽을 대상을 정할 때다. 제보자에게 재현 정보를 요청하는 내용은 일반 댓글처럼 그 사람이 볼 수 있는 경로에 있어야 전달된다.

내부 도구는 어떤 API 경로로 댓글을 읽는지와 현재 권한을 함께 확인한다.

REST에서 댓글이 보이지 않는다는 사실은 유지관리자의 논의가 없었다는 증거가 아니다.

기밀 댓글은 대화를 숨기는 기능이 아니라, 게시하는 순간 읽을 사람을 고정하는 기능이다.