Metadata-Version: 2.4
Name: zero-day-defense
Version: 0.1.0
Summary: Data collection utilities for the Zero-Day Defense research project
Author: Research Team
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.31.0
Requires-Dist: tqdm>=4.66.0

# Zero-Day Defense Research Repository

이 저장소는 **LLM 기반 사전 신호 분석을 통한 소프트웨어 생태계 잠재 취약점 예측 시스템** 연구를 위한 코드와 실험 자료를 관리합니다. 초기 단계로, 다양한 생태계에서 필요한 데이터를 수집하기 위한 파이프라인을 제공합니다.

## 구성

- `src/zero_day_defense/`: 데이터 파이프라인의 Python 모듈
  - `config.py`: YAML 설정 로더 및 데이터 클래스 정의
  - `pipeline.py`: 생태계별 수집기를 오케스트레이션하는 파이프라인
  - `data_sources/`: 각 데이터 소스별 수집기 구현
- `scripts/collect_data.py`: 명령줄에서 파이프라인을 실행하기 위한 스크립트
- `config/example_config.yaml`: 수집 파이프라인 구성 예시
- `docs/`: 연구 문서 및 노트 (추후 확장 예정)

## 설치

Python 3.10 이상을 권장합니다.

```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

## 데이터 수집 실행

```bash
python scripts/collect_data.py config/example_config.yaml
```

`data/raw/` 디렉터리에 패키지별 JSON Lines 형식의 수집 결과가 저장됩니다. 설정 파일의 `cutoff_date` 값은 사전 신호 분석의 시간적 엄밀성을 보장하기 위해 사용됩니다.

## 환경 변수

- `GITHUB_TOKEN`: GitHub API 호출 시 인증 토큰을 지정하면 더 높은 rate limit을 확보할 수 있습니다.

## 다음 단계

1. 추가 데이터 소스(예: Libraries.io, Snyk 등) 통합
2. 수집 데이터 정규화 및 특징 추출
3. LLM 기반 잠재 위험 추론 모듈 설계
4. Historical Validation 파이프라인 구현

연구 계획의 다른 단계는 향후 커밋에서 순차적으로 구현될 예정입니다.
