From 5781e5fa32d3a198a41991868f3af20ac799255b Mon Sep 17 00:00:00 2001 From: YONGBEOM GWON Date: Tue, 25 Aug 2026 14:08:34 +0900 Subject: [PATCH] =?UTF-8?q?docs(security):=20SECURITY.md=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=ED=95=98=EA=B3=A0=20=ED=94=BD=ED=86=A0=EA=B7=B8?= =?UTF-8?q?=EB=9E=A8=20=EB=82=B1=EB=A7=90=20=EC=88=98=EB=A5=BC=20=EC=8B=A4?= =?UTF-8?q?=EC=A0=9C=EC=99=80=20=EB=A7=9E=EC=B6=98=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SECURITY.md: 커뮤니티 헬스 파일 중 유일하게 비어 있던 칸. 신뢰할 수 없는 입력 (조작된 PDF·HWPX, 웹 데모 XSS)을 받는 도구인데 비공개 신고 경로가 없었다. 1인 프로젝트라 지킬 수 없는 SLA 는 약속하지 않고, 접수 확인 목표만 밝힌다. "변환 품질은 취약점이 아니다"를 범위 밖으로 명시해 일반 이슈와 갈라 둔다. - README: 픽토그램 "33개" → 32개. lexicon.py 의 실제 항목은 32개다 (len(LEXICON) == 32). 숫자를 정직성의 근거로 쓰는 저장소에서 문서와 코드가 어긋나 있었다. 이슈 #9 제목도 같이 고친다. --- README.md | 2 +- SECURITY.md | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 SECURITY.md diff --git a/README.md b/README.md index 4801785..4111f02 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,7 @@ render_html() 원문/쉬운본 나란히 HTML + 면책 + 배지 **개발자가 아니어도 할 수 있는 것** - [코퍼스 페어 추가](https://github.com/needsbuilder/ttobak/issues/11) — 지금 11쌍이고 전부 제가 지어낸 예시입니다. 실제 공공문서 기반 페어가 필요합니다 -- [픽토그램 낱말 추가](https://github.com/needsbuilder/ttobak/issues/9) — 글을 읽기 어려운 사람은 그림을 먼저 봅니다. 지금 33개뿐입니다 +- [픽토그램 낱말 추가](https://github.com/needsbuilder/ttobak/issues/9) — 글을 읽기 어려운 사람은 그림을 먼저 봅니다. 지금 32개뿐입니다 **코드로 시작하기 좋은 것** - [`good first issue`](https://github.com/needsbuilder/ttobak/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) 라벨을 보세요. 범위와 주의점을 이슈 안에 적어 뒀습니다 diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..8b25b6b --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,35 @@ +# 보안 취약점 신고 + +또박은 공공·행정 문서를 다루는 도구입니다. 문서 파싱(PDF·HWPX)과 웹 데모가 +신뢰할 수 없는 입력을 받으므로, 취약점 신고를 환영합니다. + +## 신고 방법 + +**공개 이슈로 올리지 마세요.** 저장소의 +[Security → Report a vulnerability](https://github.com/needsbuilder/ttobak/security/advisories/new) +로 비공개 신고해 주세요. GitHub Security Advisory 는 수정 전까지 내용이 공개되지 +않습니다. + +## 무엇을 신고할 가치가 있나 + +- 조작된 PDF·HWPX 로 파서에서 임의 코드 실행·경로 탈출·과도한 자원 소모를 유발 +- 웹 데모(`ttobak web`)의 XSS — 렌더된 HTML 은 사용자 입력을 담습니다 +- 로컬 파일이나 환경변수(API 키 등)가 출력·로그로 새는 경로 +- 라이선스 감사 게이트(`ttobak audit`)를 우회해 금지 의존성을 통과시키는 방법 + +## 범위 밖 + +- **변환 품질 자체는 취약점이 아닙니다.** 쉬운본이 부정확하거나 게이트가 왜곡을 + 놓치는 것은 일반 이슈로 올려 주세요. 특히 원문에 없던 사실이 추가되는 경우는 + 현재 Fidelity 게이트의 알려진 범위 밖이며 `README` 정직성 절에 명시돼 있습니다. +- 선택 의존성(Ollama 데몬, Anthropic API)의 취약점은 각 업스트림으로 신고해 주세요. + +## 응답 + +1인이 유지하는 프로젝트입니다. **영업일 기준 일주일 안에 접수 확인**을 목표로 하며, +수정 일정은 심각도와 제 여력에 따라 신고자와 상의해 정합니다. 지킬 수 없는 SLA 를 +약속하지 않겠습니다. + +## 지원 범위 + +최신 릴리스와 `main` 만 수정 대상입니다. 이전 태그로 소급 패치하지 않습니다.