Skip to content

Security: ChoHyeonChan/maskingtape

SECURITY.md

보안 정책

maskingtape는 개인정보를 가리는 도구입니다. 그래서 이 저장소에서는 탐지 누락(마스킹 실패)도 보안 결함으로 취급합니다 — 가려졌어야 할 값이 그대로 남았다면, 그것은 기능 부족이 아니라 유출입니다.

지원 버전

버전 보안 수정
0.2.x ✅ 지원
0.1.x ❌ 미지원 — 0.2.0에서 실제 유출 경로 두 건을 고쳤습니다. 업그레이드를 권합니다

무엇이 보안 문제인가

  • 탐지 누락 — 개인정보인데 가려지지 않고 원문이 남는 경우
  • 부분 마스킹 — 값의 일부만 가려져 나머지로 원본을 추정할 수 있는 경우
  • 원문 유출 경로 — 에러 메시지·로그·예외 추적·임시 파일에 원문이 남는 경우
  • 가명처리 역추적 — 가명에서 원본을 되돌릴 수 있는 경우
  • 경계 우회 — 로컬로 제한된 LLM 접속 주소를 외부로 돌릴 수 있는 경우
  • 자원 고갈 — 특정 입력으로 정규식이 폭발하거나(ReDoS) 메모리가 고갈되는 경우

오탐(개인정보가 아닌데 가려지는 것)은 보안 문제가 아니라 일반 버그입니다. 버그 이슈로 올려 주세요.

신고 방법

⚠️ 재현 예시에는 반드시 합성(가짜) 데이터만 사용해 주세요. 실제 개인정보가 담긴 문서·로그·스크린샷은 올리지 마세요. 신고를 확인하는 과정에서 그 자체가 또 다른 유출이 됩니다. 주민등록번호는 체크섬만 맞춘 가짜 값이면 충분합니다 (예: 800101-1234560).

  1. 비공개 신고(권장)Security Advisories로 비공개 제보. 저장소 관리자만 볼 수 있습니다.
  2. 공개 이슈 — 악용 위험이 낮다고 판단되면 보안 이슈 템플릿을 써 주세요.

판단이 서지 않으면 비공개 경로를 택해 주세요.

담아 주시면 좋은 것

  • 어떤 값이, 어떤 입력에서, 어떻게 노출되는지
  • 재현 가능한 최소 입력 (합성 데이터)
  • 사용한 버전 (python -c "import maskingtape; print(maskingtape.__version__)") 과 실행 방식 (CLI / 라이브러리 / MCP / API)
  • 규칙 전용인지 --llm을 켰는지

처리

접수하면 확인 후 재현을 시도하고, 재현되면 회귀 테스트를 먼저 추가한 뒤 고칩니다 (같은 유출이 다시 열리지 않게 하기 위해서입니다). 진행 상황은 해당 이슈나 advisory에 남깁니다.

이 도구의 한계

maskingtape는 완전한 비식별화를 보장하지 않습니다. 무엇을 보장하고 무엇을 보장하지 않는지는 README의 「지원 범위와 한계」에 정리해 두었습니다. 알려진 미탐 표기도 거기 적혀 있습니다. 민감한 문서를 외부로 내보내기 전에는 사람이 결과를 확인해 주세요.

There aren't any published security advisories