나는 내 AI 에이전트에게 axios에 대해 물었다. 그것은 0.03ms 안에 모든 것을 알았다.

발행: (2026년 4월 6일 오전 01:56 GMT+9)
10 분 소요
원문: Dev.to

Source: Dev.to

위에 제공된 텍스트만으로는 번역할 내용이 없습니다. 번역을 원하는 본문을 알려주시면 한국어로 번역해 드리겠습니다.

설정

VulnGraph은 9개의 권위 있는 소스를 하나의 메모리‑맵 파일로 사전 결합한 취약점 인텔리전스 그래프입니다. 이 그래프는 Model Context Protocol (MCP) — AI 에이전트가 도구에 접근할 수 있게 하는 새로운 표준 — 를 통해 16개의 도구를 노출합니다.

저는 이를 에이전트에 연결하고 axios에 관한 질문을 시작했습니다.

13 CVEs. 7 High Severity. 0.14 ms.

첫 번째 호출 — lookup_package — 은 전체 취약점 프로파일을 반환했습니다:

CVE심각도CVSSEPSSPoC
CVE‑2025‑27152높음7.70.07 %3
CVE‑2025‑58754높음7.50.11 %
CVE‑2026‑25639높음7.50.05 %
CVE‑2021‑3749높음7.58.26 %1
CVE‑2024‑39338중간4.02.88 %
CVE‑2023‑458570.13 %3
CVE‑2019‑1074213.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를 점수화했습니다.

우선순위CVE위험 점수수준해결 기한
1CVE‑2021‑37495.62MEDIUM7 days
2CVE‑2025‑271525.60MEDIUM7 days
3CVE‑2026‑256393.75LOW30 days
4CVE‑2024‑393382.04LOW30 days
5CVE‑2023‑458571.75LOW30 days

뭔가 눈에 띄나요? CVE‑2021‑3749는 CVE‑2025‑27152보다 낮은 CVSS 점수에도 불구하고 더 높은 순위를 차지합니다. EPSS가 8.26 %(92번째 백분위)로, 실제 공격에 이용될 가능성이 훨씬 높습니다. CVSS만으로는 이를 놓쳤을 것이며, 대부분의 취약점 스캐너도 이를 놓쳤을 것입니다.

Deep Dive: SSRF in axios (CVE‑2025‑27152)

나는 에이전트에게 CVE‑2025‑27152에 대해 더 깊이 파고들라고 요청했다. get_exploit_intel 도구가 0.034 ms 만에 전체 위협 컨텍스트를 매핑했다:

  • Severity: HIGH (CVSS 7.7)
  • Exploit Maturity: POC — GitHub에 공개된 3개의 증명 개념(exploit)
  • Weakness: CWE‑918 (Server‑Side Request Forgery)
  • KEV Listed: No (아직 실제 사례는 없음)
  • EPSS: 0.07 % — 현재 낮은 발생 확률

CWE‑918 스레드를 따라가자, VulnGraph는 SSRF가 그래프 내 1,401 CVEs에 걸쳐 분류되어 있음을 보여주었다. 가장 위험한 것은? 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
익스플로잇 인텔get_exploit_intel, trending_threats
그래프map_attack_surface, get_related
타임라인get_timeline
배치scan_sbom, scan_lockfile
메타graph_stats

467,939 노드. 9 소스. 한 파일.

VulnGraph는 9개의 권위 있는 소스에서 데이터를 미리 결합합니다:

SourceRecordsWhat It Provides
CVE List V5342,360모든 공개 취약점
EPSS324,894공격 가능성 — 실제로 공격될 가능성이 높은 취약점
CISA KEV1,557실제로 악용된 것으로 확인된 취약점
OSV43,606영향을 받는 버전 범위가 포함된 생태계 권고
ExploitDB30,409공개된 익스플로잇
PoC‑in‑GitHub14,826개념 증명 코드
MITRE ATT&CK18,224기술, 위협 행위자, 악성코드
Nuclei Templates3,999자동 스캔 템플릿
CWE745약점 분류 체계

그래프는 mmap을 통해 ≈ 100 µs에 열리며, 포인트 조회는 < 1 ms 안에 수행됩니다. 네트워크 호출도 없고, 콜드 스타트도 없으며, 속도 제한도 없습니다.

모든 응답에는 data_freshness 래퍼가 포함되어 각 소스가 마지막으로 동기화된 시점을 정확히 표시합니다 — 오래된 취약점 데이터는 데이터가 없는 것보다 더 위험하기 때문입니다.

왜 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만이 아니라 triage합니다
  • 사고 대응 에이전트가 CVE → 패키지 → 기법 → 위협 행위자를 매핑합니다
  • CI/CD 게이트가 실제로 악용되는 취약점이 있는 배포를 차단합니다

사용해 보기

vulngraph.tools – 전체 467 K 노드 그래프가 WebAssembly를 통해 브라우저에서 실행됩니다. 모든 CVE를 검색하고, 관계를 탐색하며, 실시간 데이터 최신성을 확인하세요.

VulnGraph는 메모리 매핑된 바이너리 파일을 기반으로 하는 Rust 그래프 엔진입니다: 467,939 노드, 602,467 엣지, 9개의 소스, 서브밀리초 수준의 쿼리 지연. 에이전트를 위해 구축되었습니다.

0 조회
Back to Blog

관련 글

더 보기 »