공개 인터넷 안전 프로그램

인터넷을 안전하게.

NullSquare는 공개적으로 드러난 명백한 보안 설정 오류를 찾아 해당 조직에 비공개로 알립니다. 같은 프로그램이 공개 오픈소스 코드도 조사하여, 재현하고 고치고 증명할 수 있는 문제를 찾습니다.

NullSquare의 모든 업무 전반
11,179
드러난 리스크
6,742
검증됨
449
심각·높음
152
고유 CVE

메시지를 받으신 이유

저희 에이전트가 귀 조직 소유 도메인에서 공개 인터넷에 노출된 것을 발견했습니다. 팀에서 확인하고 닫으실 수 있도록 비공개로 알려 드립니다. 다른 누구에게도 알리지 않았고, 공개하지도 않았습니다.

이 프로그램이 확인하는 것

이 프로그램은 공개 인터넷에서 이미 보이는 것만 봅니다:

  • 원래 그러면 안 되는데 인터넷에서 접근 가능한 서비스.
  • 찾은 사람이면 누구나 들어갈 수 있는 관리자 화면.
  • 공개된 채로 계속 돌아가고 있는 개발·디버깅 도구.
  • 내보내면 안 될 파일을 내주고 있는 디렉터리 목록.
  • 운영 중인 호스트에 그대로 남아 있는 기본 배포 페이지.
  • 우리가 찾은 것과 같은 방식으로 누구나 찾을 수 있는 비슷한 설정 오류.

에이전트는 해당 도메인이나 서비스를 지목하고 어떤 종류의 문제인지 말할 만큼만 가져갑니다. 그 이상으로 들어가지 않습니다.

오픈소스 연구

통보는 노출된 공격 표면을 줄여 줍니다. 그 아래의 코드를 고쳐 주지는 않습니다. 그래서 이 프로그램은 근원에서도 일합니다. 공개 오픈소스 리포지터리를 한 번에 하나씩 골라, 일회용 샌드박스 안에서 살펴보며 증명할 수 있는 보안 문제를 찾습니다.

에이전트가 취약하다고 주장하는 것은 확인된 리스크가 아닙니다. 스캐너 출력도 마찬가지입니다. 재현되고, 수정이 버티고, 그 둘이 다른 사람이 다시 돌려볼 수 있을 만큼 잘 기록되기 전까지는 아무것도 인정하지 않습니다.

  1. 01고정리포지터리는 운영 자격 증명이 없는 일회용 샌드박스로, 정확한 커밋에서 클론됩니다.
  2. 02기준선연구에 앞서 프로젝트 자체의 빌드와 테스트를 돌려, 원래 무엇이 통과하고 있었는지 파악합니다.
  3. 03조사에이전트는 샌드박스 안에서, 고정된 그 한 리비전을 상대로 코드를 읽고 실행해 봅니다.
  4. 04재현후보는 탐색 과정의 잔여 상태가 전혀 없는 깨끗한 체크아웃에서 재현될 때에만 인정됩니다.
  5. 05패치합리적인 범위에서 가장 작은 수정, 그리고 프로젝트 구조상 가능한 경우 회귀 테스트 하나.
  6. 06검증패치 전후로 재현 절차를 다시 돌리고, 프로젝트 자체의 검사도 한 번 더 실행합니다.
  7. 07검토결과를 받아들일지 물릴지는 사람이 정합니다. 무엇도 자동으로 랩을 떠나지 않습니다.

통과를 주장하려고 테스트를 지우거나 건너뛰거나 약화하는 일은 절대 없습니다. 기준에 못 미치면 답은 ‘확인된 리스크 없음’이며, 무엇을 시도했고 무엇을 확인할 수 없었는지와 함께 기록합니다. 어느 쪽이든 실행은 같은 패키지를 냅니다:

증거 묶음

내부용이며, 사람이 검토하고, 랩이 스스로 공개하는 일은 결코 없습니다.

summary.md
무엇을 시도했고, 무엇을 찾았고, 무엇을 확인할 수 없었는지.
risk.md
근본 원인, 영향을 받는 코드 경로, 그리고 확신도에 대한 정직한 평가.
reproduction/
패치되지 않은 리비전에서의 명령과 관찰된 증거.
patch.diff
고정된 커밋에 묶인 최소한의 수정.
tests/
패치 전에는 실패하고 이후에는 통과하는 회귀 테스트.
verification.md
전후 결과, 그리고 빌드·테스트·린트 출력.
run-metadata.json
리포지터리, 정확한 커밋, 모델, 소요 시간, 비용.

이 프로그램이 하지 않는 것

  • 비밀번호 추측, 자격 증명 대입, 인증 우회는 하지 않습니다.
  • 악용, 파괴적 테스트, 권한 상승, 취약점 연쇄는 하지 않습니다.
  • 비공개 파일, 고객 레코드, 소스 코드, 인증이 필요한 콘텐츠를 수집하지 않습니다.
  • 발견한 문제를 공개하거나 판매하거나 공개 색인에 올리지 않습니다.
  • 연구 중에는 운영 중이거나 호스팅된 환경을 테스트하지 않습니다. 작업은 오직 로컬 클론을 상대로 이루어집니다.
  • 포크, 브랜치, 커밋, 푸시, 풀 리퀘스트, 이슈를 만들지 않습니다. 랩은 리포지터리 쓰기 권한을 갖지 않습니다.
  • 랩이 스스로 메인테이너에게 연락하거나, 권고문을 내거나, CVE를 신청하거나, 바운티에 제출하지 않습니다.
  • 공개 코드 호스트를 대량으로 스캔하지 않습니다. 리포지터리는 한 번에 하나씩, 의도적으로 고릅니다.

개인정보와 데이터 취급

통보는 해당 도메인의 적절한 공개 연락처로 직접 보냅니다. 탐지 세션은 메시지 전달 후 폐기하며, NullSquare는 이 프로그램에서 나온 리스크의 검색 가능한 데이터베이스를 두지 않습니다.

연구 실행은 공개 소스 코드만을 대상으로 합니다. 샌드박스는 실행 후 파기되고, 증거 묶음은 내부에 남습니다. 어떤 결과를 메인테이너에게 가져가는 일이 있다면, 그것은 사람이 내리는 별개의 의도적 결정입니다.

이메일 발송, 남용 방지, 수신 거부에 관한 최소한의 기록은 별도로 보관될 수 있습니다. 이 기록에는 복사한 대상 데이터나 익스플로잇 출력이 들어 있지 않습니다.

통보를 확인하거나 답신하기

정상적인 ‘Secure the internet’ 메시지는 자격 증명, 결제, API 키, 시스템 접근을 절대 요구하지 않습니다. 메시지에 답신하거나, 수신 거부를 요청하거나, 연락처를 정정하거나, 발신 출처를 NullSquare에 직접 확인하실 수 있습니다.

null@nullsquare.net