
인기 있는 오픈소스 저장소를 모니터링하고 AI를 사용하여 커밋이 보안 취약점을 패치하는 시점을 감지하는 모니터링 허브입니다. 종종 CVE가 할당되기도 전에 감지합니다. 발견된 내용은 레트로 테마의 웹사이트와 RSS 피드로 게시됩니다.
CVE 발표 전에 보안 패치에 대해 알아보세요.
인기 있는 오픈소스 저장소를 모니터링하고 AI를 사용하여 커밋이 보안 취약점을 패치하는 시점(종종 CVE가 할당되기 전)을 감지하는 모니터링 허브입니다. 발견 사항은 복고풍 테마의 웹사이트와 RSS 피드로 게시됩니다.
이 프로젝트는 Eugene Lim(@spaceraccoon)의 spaceraccoon/vulnerability-spoiler-alert-action의 사용 예시입니다.
원래 개념과 연구는 블로그 게시물 Discovering Negative Days: LLM Workflows for Vulnerability Research 에 문서화되어 있습니다. 이 게시물은 LLM을 사용하여 CVE가 할당되기 전에 보안 패치를 식별하는 방법을 탐구하며, 수정 사항이 적용된 시점과 공개 공개 사이의 기간에 취약점을 포착하여 일반적인 '제로데이'를 '네거티브데이'로 전환합니다.
Every 6 hours
|
v
+-------------------------------------------+
| GitHub Actions Cron |
+-------------------------------------------+
|
v
+-------------------------------------------+
| vulnerability-spoiler-alert-action |
| scans repos listed in the workflow |
+-------------------------------------------+
|
v
+-------------------------------------------+
| Claude AI / OpenAI analyzes each diff |
| - Is this a security patch? |
| - What vulnerability does it fix? |
| - Can we write a PoC exploit? |
+-------------------------------------------+
|
v
+-------------------------------------------+
| Create GitHub Issue with full analysis |
+-------------------------------------------+
|
v
+-------------------------------------------+
| Rebuild website + RSS |
| Deploy to GitHub Pages |
+-------------------------------------------+
| 프로젝트 | 저장소 |
|---|---|
| Express | expressjs/express |
| Node.js | nodejs/node |
| Django | django/django |
| Flask | pallets/flask |
| Rails | rails/rails |
| Apache HTTPD | apache/httpd |
| nginx | nginx/nginx |
| Grafana | grafana/grafana |
발견 사항을 분류하려면 이슈에 레이블을 추가하세요:
| 레이블 | 의미 |
|---|---|
true-positive | 실제 취약점으로, 수동 또는 자동으로 확인되었습니다. CVE가 할당될 때까지는 녹색 VERIFIED 배지로 표시되며, 그 후에는 CONFIRMED로 표시됩니다. |
cve:CVE-<ID> | 일치하는 CVE (CVE 검사기가 자동으로 적용하거나 수동으로 적용). 확인된 발견 사항을 CONFIRMED로 승격시킵니다. 실제 CVE만 인정됩니다 — GHSA 전용 권고는 승격되지 않습니다. |
false-positive | 실제 취약점이 아님 - 흐리게 표시되고 접을 수 있는 섹션으로 이동됩니다. |
true-positive 레이블은 있지만 cve:CVE-… 레이블이 없는 발견 사항은 verified입니다 — 실제로 확인되었지만 여전히 CVE가 발표되기 전의 '네거티브데이' 기간에 있습니다. CVE 검사기는 CVE가 일치할 때까지 확인된 발견 사항을 계속 재확인합니다.
레이블이 추가되거나 제거되면 사이트가 자동으로 다시 빌드됩니다.
오른쪽 상단의 Fork 버튼을 클릭하세요.
Settings > Secrets and variables > Actions로 이동하여 다음 중 하나를 추가하세요:
| 시크릿 | 설명 |
|---|---|
ANTHROPIC_API_KEY | console.anthropic.com에서 발급받은 Claude API 키 |
OPENAI_API_KEY | platform.openai.com에서 발급받은 OpenAI API 키 |
GITHUB_TOKEN은 GitHub Actions에서 자동으로 제공됩니다. 사용하려는 AI 공급자의 키만 추가하면 됩니다.
monitor.yml을 업데이트하여 선호하는 공급자와 모델을 지정하세요.
Settings > Pages로 이동하여 소스를 GitHub Actions로 설정하세요.
Actions 탭으로 이동하여 워크플로우를 활성화하세요. 모니터는 6시간마다 자동으로 실행됩니다.
Actions > Monitor Vulnerabilities > Run workflow를 통해 수동으로 트리거할 수 있습니다.
.github/workflows/monitor.yml의 repositories JSON 배열을 편집하여 저장소를 추가하거나 제거하세요.
기본적으로 모니터는 6시간마다 실행됩니다. .github/workflows/monitor.yml에서 cron 표현식을 편집하세요:
schedule:
- cron: '0 */6 * * *' # Every 6 hours
MIT 라이선스 - 자세한 내용은 LICENSE를 참조하세요.
이 도구는 방어적 보안 연구 및 승인된 보안 테스트 용도로만 사용하세요. 항상 책임 있는 공개 관행을 준수하십시오.