나는 내 AI 에이전트에게 axios에 대해 물었다. 그것은 0.03ms 만에 모든 것을 알았다.
I’m happy to translate the article for you, but I’ll need the full text you’d like translated. Could you please paste the content (excluding the source line you already provided) here? Once I have it, I’ll translate it into Korean while preserving the original formatting, markdown, and any code blocks.
설정
VulnGraph은 9개의 권위 있는 소스를 하나의 메모리‑맵 파일로 사전 결합한 취약점 인텔리전스 그래프입니다. 이는 Model Context Protocol (MCP) — AI 에이전트가 도구에 접근할 수 있게 하는 새로운 표준 — 을 통해 16개의 도구를 노출합니다.
저는 이를 에이전트에 연결하고 axios에 대한 질문을 하기 시작했습니다.
13 CVEs. 7 High Severity. 0.14 ms.
첫 번째 호출 — lookup_package — 은 전체 취약점 프로파일을 반환했습니다:
| CVE | Severity | CVSS | EPSS | PoCs |
|---|---|---|---|---|
| CVE‑2025‑27152 | HIGH | 7.7 | 0.07 % | 3 |
| CVE‑2025‑58754 | HIGH | 7.5 | 0.11 % | — |
| CVE‑2026‑25639 | HIGH | 7.5 | 0.05 % | — |
| CVE‑2021‑3749 | HIGH | 7.5 | 8.26 % | 1 |
| CVE‑2024‑39338 | MEDIUM | 4.0 | 2.88 % | — |
| CVE‑2023‑45857 | — | — | 0.13 % | 3 |
| CVE‑2019‑10742 | — | — | 13.52 % | — |
각 행에는 CVSS 기본 점수, EPSS 활용 확률(다음 30 일 내 활용 가능성), 그리고 GitHub 및 ExploitDB에서 수집한 PoC(Proof‑of‑Concept) 개수가 포함됩니다. 모두 사전 결합된 상태이며, 즉시 확인할 수 있습니다.
axios@1.6.0은 안전한가?
{
"package": "axios",
"version": "1.6.0",
"vulnerable": true,
"cve_count": 13,
"highest_severity": "HIGH"
}
0.019 ms. 에이전트는 이제 이 버전을 어떤 코드에서도 제안하지 않아야 함을 알고 있습니다.
무엇을 먼저 고쳐야 할까요?
VulnGraph는 단순히 CVE를 나열하지 않습니다 — 우선순위를 매깁니다. assess_risk 도구는 CVSS 심각도, EPSS 확률, 익스플로잇 성숙도, 노출 컨텍스트를 고려한 가중 모델로 상위 axios CVE를 점수화했습니다.
| Priority | CVE | Risk Score | Level | Fix Within |
|---|---|---|---|---|
| 1 | CVE‑2021‑3749 | 5.62 | MEDIUM | 7 days |
| 2 | CVE‑2025‑27152 | 5.60 | MEDIUM | 7 days |
| 3 | CVE‑2026‑25639 | 3.75 | LOW | 30 days |
| 4 | CVE‑2024‑39338 | 2.04 | LOW | 30 days |
| 5 | CVE‑2023‑45857 | 1.75 | LOW | 30 days |
뭔가 눈에 띄나요? CVE‑2021‑3749는 CVSS 점수가 낮음에도 불구하고 CVE‑2025‑27152보다 높은 순위를 차지합니다. EPSS가 8.26 %(92번째 백분위)로, 실제 공격에 이용될 가능성이 훨씬 높습니다. CVSS만으로는 이 점을 놓쳤을 것이며, 대부분의 취약점 스캐너도 이를 놓쳤을 것입니다.
심층 분석: axios의 SSRF (CVE‑2025‑27152)
나는 에이전트에게 CVE‑2025‑27152에 대해 더 깊이 파고들라고 요청했다. get_exploit_intel 도구가 전체 위협 컨텍스트를 0.034 ms에 매핑했다:
- 심각도: HIGH (CVSS 7.7)
- Exploit Maturity: POC — GitHub에 공개된 3개의 POC(Proof‑of‑Concept) 익스플로잇
- 취약점: CWE‑918 (Server‑Side Request Forgery)
- KEV Listed: No (아직 실제 환경에서 관찰되지 않음)
- EPSS: 0.07 % — 현재 확률 낮음
CWE‑918 스레드를 따라가자, VulnGraph는 그래프 내에서 SSRF가 1,401 개의 CVE에 걸쳐 분류되어 있음을 밝혀냈다. 가장 위험한 것은? CVE‑2021‑40438 — Apache mod_proxy SSRF, EPSS 94.4 %, CISA KEV 등재, CVSS 9.0.
하나의 CVE가 그래프 전체에 걸친 취약점 클래스를 풀어내는 실마리를 제공했다.
그래프 탐색
get_related 도구는 CVE‑2025‑27152에서 모든 연결을 단일 탐색으로 추적했습니다:
CVE-2025-27152
├─ affects → npm:axios
├─ affects → cpe:axios:axios
├─ has_poc → GitHub-PoC:CVE-2025-27152:0
├─ has_poc → GitHub-PoC:CVE-2025-27152:1
├─ has_poc → GitHub-PoC:CVE-2025-27152:2
└─ classified_as → CWE-918 (SSRF)
이는 여섯 개의 별도 API 호출을 이어붙인 것이 아니라, 사전 결합된 데이터를 통한 단일 홉입니다. 0.05 ms.
이것은 단지 axios였습니다
데모에서는 VulnGraph의 16개 MCP 도구 중 7개를 사용했습니다. 전체 도구 세트:
| 카테고리 | 도구 |
|---|---|
| 조회 | lookup_cve, lookup_package, lookup_weakness |
| 검색 | search_vulnerabilities, search_packages |
| 분석 | analyze_dependencies, assess_risk, check_version |
| Exploit Intel | get_exploit_intel, trending_threats |
| 그래프 | map_attack_surface, get_related |
| 타임라인 | get_timeline |
| 배치 | scan_sbom, scan_lockfile |
| 메타 | graph_stats |
467,939 노드. 9 소스. 하나의 파일.
VulnGraph는 9개의 권위 있는 소스로부터 데이터를 미리 결합합니다:
| 소스 | 레코드 | 제공 내용 |
|---|---|---|
| CVE List V5 | 342,360 | 발표된 모든 취약점 |
| EPSS | 324,894 | 공격 가능성 — 공격될 가능성이 높은 취약점 |
| CISA KEV | 1,557 | 확인된 적극적으로 악용되는 취약점 |
| OSV | 43,606 | 영향을 받는 버전 범위가 포함된 생태계 권고 |
| ExploitDB | 30,409 | 공개된 익스플로잇 |
| PoC‑in‑GitHub | 14,826 | 개념 증명 코드 |
| MITRE ATT&CK | 18,224 | 기술, 위협 행위자, 악성코드 |
| Nuclei Templates | 3,999 | 자동 스캔 템플릿 |
| CWE | 745 | 취약점 분류 체계 |
그래프는 mmap을 통해 ≈ 100 µs에 열리며, 포인트 조회는 < 1 ms 안에 수행됩니다. 네트워크 호출이 없고, 콜드 스타트도 없으며, 속도 제한도 없습니다.
각 응답에는 data_freshness 엔벨로프가 포함되어 각 소스가 마지막으로 동기화된 정확한 시점을 표시합니다 — 오래된 취약점 데이터는 데이터가 없는 것보다 더 나쁘기 때문입니다.
Why MCP?
Model Context Protocol은 AI 에이전트에게 도구 접근 권한을 부여하기 위한 신흥 표준입니다. VulnGraph는 이를 네이티브하게 구현하고 있으며 — JSON‑RPC를 통해 16개의 도구를 제공하고, HTTP 또는 stdio를 통해 사용할 수 있습니다.
MCP와 호환되는 모든 에이전트는 이러한 도구들을 자동으로 발견할 수 있습니다. 에이전트가 tools/list를 호출하면 16개의 취약점 인텔리전스 도구와 전체 입력 스키마를 확인하고 바로 쿼리를 시작합니다 — 문서도, 통합 코드도 필요 없습니다.
{
"method": "tools/call",
"params": {
"name": "check_version",
"arguments": {
"ecosystem": "npm",
"package": "axios",
"version": "1.7.4"
}
}
}
0.019 ms 후, 에이전트는 axios@1.7.4가 안전한지 여부를 알게 됩니다.
이것이 가능하게 하는 것
- 코드 리뷰 에이전트가 병합 전에 취약한 종속성을 표시합니다
- 보안 코파일럿이 실제 익스플로잇 인텔리전스를 기반으로, CVSS만이 아니라, 위험을 분류합니다
- 사고 대응 에이전트가 CVE → 패키지 → 기법 → 위협 행위자를 매핑합니다
- CI/CD 게이트가 활발히 악용되는 취약점이 포함된 배포를 차단합니다
사용해 보기
vulngraph.tools – 전체 467 K‑노드 그래프가 WebAssembly를 통해 브라우저에서 실행됩니다. 모든 CVE를 검색하고, 관계를 탐색하며, 데이터 최신성을 실시간으로 확인하세요.
VulnGraph는 메모리‑맵드 바이너리 파일을 기반으로 하는 Rust 그래프 엔진으로, 467,939개의 노드, 602,467개의 엣지, 9개의 소스, 서브밀리초 수준의 쿼리 지연 시간을 제공합니다. 에이전트를 위해 설계되었습니다.