# Show GN: Dir2md + Spicy: LLM용 Markdown/JSONL 컨텍스트와 보안 리포트를 한 번에 뽑는 리포지토리 스캐너

> Clean Markdown view of GeekNews topic #24850. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24850](https://news.hada.io/topic?id=24850)
- GeekNews Markdown: [https://news.hada.io/topic/24850.md](https://news.hada.io/topic/24850.md)
- Type: show
- Author: [flamehaven01](https://news.hada.io/@flamehaven01)
- Published: 2025-12-05T18:13:03+09:00
- Updated: 2025-12-05T18:13:03+09:00
- Original source: [github.com/flamehaven01](https://github.com/flamehaven01/Dir2md)
- Points: 3
- Comments: 2

## Topic Body

안녕하세요. 세 달 전쯤 Dir2md를 처음으로 소개한 적이 있습니다.  
이후 다양한 프로젝트에 적용하면서 구조적 한계가 드러났고, 이에 따라 알고리즘·보안·출력 파이프라인 전체를 재정비했습니다.  
  
---  
#### ❔Dir2md는  
Dir2md는 복잡한 디렉터리 구조를 **스마트 샘플링, 보안 마스킹, 토큰 예산 제어를 갖춘 AI-friendly Markdown·JSONL 컨텍스트로 변환하는 도구**입니다. AI-assisted development에 최적화된 형태로 레포를 자동 정리해줍니다.  
  
---  
#### 🔧 무엇이 달라졌나 — 3개월간의 전체 재정비 결과  
  
  
##### 1) AI 최적화 엔진 재설계  
- 파일 단위 **헤드/테일 스마트 샘플링** 도입  
- **토큰 예산 자동 배분** 로직 정교화  
- **중요 파일 우선 선택 구조** 정비  
- Markdown, JSON, JSONL, manifest **다중 출력 파이프라인 구성**  
  
  
##### 2) Spicy(보안·위험 분석기) 도입  
- 실행 시 기본 활성화되는 **내장 리스크 스캐너** 탑재  
- ok → critical **5단계 심각도 체계** 적용  
- 레포 단위 **0~100 위험 점수** 산출  
- 파일/라인/카테고리/대응 가이드 포함 **Actionable Risk Table** 출력  
  
  
##### 3) 보안 마스킹 엔진 강화  
- API 키, JWT, OAuth, DB URL, PEM 등 주요 패턴 **자동 마스킹**  
- 사용자 정의 정규식 및 **패턴 파일 로딩 기능** 도입  
  
##### 4) SimHash 기반 중복 제거 도입   
- 유사 파일 및 빌드 산출물 제거  
- LLM 입력 컨텍스트에서 **중복 토큰 낭비 최소화**  
  
  
##### 5) Preset 시스템 확장  
- `raw`, `pro`, `ai`, `fast` 네 가지 모드 구성  
- `ai` 모드에 **6000 토큰 예산 + 쿼리 기반 파일 랭킹** 포함  
  
---  
#### 🌶️ 매운맛(Spicy)이란?  
  
Spicy는 한마디로 “보안에 관대한 적이 없는, 눈매 매서운 시니어 개발자 같은 자동 리뷰어”입니다.  
  
Dir2md는 “디렉토리를 문서화”만 하는 도구가 아니라, 레포를 AI에게 넣기 전에 반드시 필요한 보안·품질 점검까지 한 번에 수행합니다.  
  
##### 1) 민감정보 탐지  
  
- API Key, OAuth Client Secret, JWT, DB URL, PEM 키 등 실제 사고로 이어질 수 있는 패턴 탐지  
  
##### 2) 약한 암호화·취약한 보안 사용 분석  
  
- 취약 알고리즘, 불안전한 키 처리 등 보안상 문제가 있는 코드 검출  
  
  
##### 3) 인젝션 가능성 진단  
  
- SQL/Command/Code Injection과 비슷한 패턴을 검출  
  
  
##### 4) 로그·디버그를 통한 데이터 노출  
  
- 민감한 정보가 출력되는 코드/설정을 탐지  
  
  
##### 5) 접근 제어 문제  
  
- 인증·권한 관련 허점이 있는 패턴 분석  
- README에 언급된 구성상의 위험 신호도 같이 감지  
  
---  
  
#### 📊 내부 프로덕션 9개 레포 기준 실측 결과  
  
Dir2md + Spicy 재설계 후 어제 기준 측정된 실제 수치는 다음과 같습니다:  
  
- **레포당 평균 2.4개의 high·critical 급 민감정보 탐지**  
  - API 키, PEM 개인키, DB URL, bearer token 등  
- **컨텍스트 크기 평균 68% 감소**  
  - 128k → ~41k tokens (모든 의미 있는 파일은 유지)  
- **보안 리뷰 시간: 기존 3.5시간 → 11초**  
- **도입 이후 LLM 프롬프트로 유출된 비밀정보: 0건**  
  
> 이 결과는 **스마트 샘플링 · SimHash 중복 제거 · Spicy 위험 분석 · 마스킹 엔진**이 결합되었을 때 발생하는 실제 운영 환경 성능입니다.  
  
---  
### ⭐ 프로젝트에 도움이 되었다면  
  
Dir2md + Spicy는 오픈소스입니다.  
지금 보고 계신 기능 대부분은 **사용자 피드백과 스타(⭐) 덕분에 발전**할 수 있었습니다. 다시 한번 감사드립니다.   
  
- 👉 **GitHub Star 한 번이 큰 힘이 됩니다!**  
- 👉 버그·아이디어 제안도 언제든 환영합니다.

## Comments



### Comment 48008

- Author: flamehaven01
- Created: 2025-12-19T16:28:21+09:00
- Points: 1

**📌 dir2md v1.1.2 이후 주요 업데이트 요약**  
  
* **v1.2.1 (보안/신뢰성 패치)**  
  
  * Markdown ``` 인젝션 취약점 수정 → fence 자동 이스케이프  
  * 외부 툴(`vulture`) subprocess 제거 → RCE 벡터 차단  
  * silent exception 제거, 경고 로그 강화  
  * glob 처리 단순화 (gitignore 규칙 준수)  
  * 기본 exclude를 `defaults.json`으로 분리 + 우선순위 시스템 도입  
  
* **v1.2.0 (지능형 자동 최적화)**  
  
  * 설정 없이 동작하는 **토큰 60~70% 절감 파이프라인**  
  
    * Gravitas 압축 (심볼 치환)  
    * Python AST 기반 semantic sampling  
  * `--query` 사용 시 자동 오타 교정 + 검색 확장  
  * preset 중심 설계로 플래그 대폭 축소 (raw/fast/pro/ai)  
  * 외부 NLP/LLM 의존성 없이 구현  
  
* **v1.1.3**  
  
  * Phantom code 감지: PATH 상 dead code 분석 도구 자동 탐지  
  
👉 요약하면, **1.2.x부터는 “설정 줄이고, 보안·결정성·AI 친화성”에 집중한 릴리즈**입니다.  
(하위 호환 유지, CLI 브레이킹 없음)  
  
출처: CHANGELOG

### Comment 47462

- Author: flamehaven01
- Created: 2025-12-09T17:54:30+09:00
- Points: 1

🚂 dir2md 1.1.2 릴리스!  
이번 업데이트는 겉으로는 작아 보이지만 실사용 안정성에 직결되는 변경들만 모았습니다.  
  
🛡 Security  
  
🔸기본/고급 마스킹 정규식 사전 컴파일 → ReDoS 위험 감소  
🔸1MB 이상 파일은 읽기 전에 스킵하고 manifest에 기록만 남김  
  
⚙️ Performance  
🔸토큰 추정에 LRU 캐시(2048) 적용 → 대형 리포에서 속도 향상  
🔸빈 문자열도 최소 1토큰 처리 → “0 토큰” 모호성 제거  
  
🧩 UX / Behavior  
🔸스킵된 파일은 플레이스홀더 해시/요약을 남겨 투명성 강화  
🔸커스텀 마스킹 패턴은 컴파일 실패 시 경고 후 무시 (조용한 실패 방지)  
  
✅ Tests  
🔸22 passed, 2 skipped  
  
작은 릴리스지만 테스트는 전부 돌렸습니다.   
  
이번 버전의 목표는 단 하나:  
“CI와 실제 프로덕션 코드에 매일 돌려도 되는가?”  
여기에 한 걸음 더 가까워졌습니다.  
  
https://github.com/flamehaven01/Dir2md/releases/tag/v1.1.2
