Files
clawsec/wiki/ko/exploitability-scoring.md
David Abutbul b37162a33d feat(i18n): add multilingual wiki scaffolding, language switcher, and… (#212)
* feat(i18n): add multilingual wiki scaffolding, language switcher, and translation QA pipeline

* docs(readme): adopt picoclaw-style multilingual link bar

* fix(i18n): repair localized index links and tighten partial-pair QA

* ci(i18n): fail on broken markdown links in README/wiki

* ci(i18n): add changed-files mode for markdown link checks

* i18n(de): use local Argos MT to fill untranslated German sections

* i18n(es,fr): fill untranslated sections via local Argos workflow

* i18n(ja): fill untranslated sections with scoped local Argos pass

* i18n(ko): fill untranslated sections with scoped local Argos pass

* fix(i18n): address review feedback

---------

Co-authored-by: David Abutbul <David.a@prompt.security>
2026-04-29 09:00:31 +03:00

16 KiB

Exploitability 부식 방법론

개요

ClawSec의 악용성 득점 체계는 AI 대리인 배치 (OpenClaw/NanoClaw)를 위해 특별히 디자인된 상황에 인식 취약성 평가를 제공합니다. 모든 환경을 똑같게 대우하는 일반적인 CVSS 점수와는 달리, 우리의 득점은 AI 대리인의 유일한 공격 표면 및 사용법 본을 고려하여 경고 피로를 감소시키고 행동 가능한 위협을 우선시합니다.

득점 수준

| 레벨 | 관능 | 의미 | |---|---|| | high | 긴요한/고 | 일반적인 에이전트 배포, 즉각적인 관심 필요 | | medium | 중형 | 구성에 따라 활용 가능 | 보증 조사 | | low | 저소음 | 에이전트 컨텍스트, 저소득층 | | unknown | 알 수없는 | 악용성을 평가하는 충분한 자료 |

득점 요인

# # # # # # # # # # 1. CVSS 기본 점수 (기본값)

분석은 CVSS 기본 점수를 기초로 시작합니다.

  • CVSS ≥ 9.0: 긴 수명 → 초기 점수 high
  • CVSS 7.0-8.9: 높은 심각성 → 초기 점수 high
  • CVSS 4.0-6.9: 중간 심각성 → 초기 점수 medium
  • CVSS 1.0-3.9: 낮은 severity → 초기 점수 low
  • ** CVSS**: → 초기 점수 사이트맵

# # # # # # # # # # 2. 공격 벡터 분석 (CVSS 미터)

분석가는 CVSS v2, v3.0 및 v3.1 벡터를 구문합니다.

네트워크 접근성

  • AV:N (네트워크): 네트워크에 원격으로 악용
  • AV:A (Adjacent): 로컬 네트워크 액세스를 요구합니다.
  • AV:L (Local): 로컬 시스템 액세스 필요
  • AV:P (Physical): 물리적 접근

** 에이전트에 중요 **: Network-accessible 취약점은 일반적으로 네트워크 서비스로 실행되거나 외부 API 호출을 할 수 있기 때문입니다.

인증 요건

  • PR:N / Au:NONE: 인증 필요 없음 → 점수 상승
  • PR:L / Au:SINGLE: 낮은 특전
  • PR:H / Au:MULTIPLE: 요구되는 높은 특권 → 득점

** 에이전트에 중요 **: Unauthenticated 악용은 공개적으로 노출되는 대리인 APIs를 위해 중요합니다.

사용자 상호 작용

  • UI:N: 사용자 상호 작용이 필요 없음 → 점수 상승
  • UI:R: 사용자의 상호 작용을 요구 → 점수를 감소

** 에이전트에 중요 **: 에이전트는 종종 자율적으로 작동하므로 사용자 상호 작용이 덜 중요합니다.

공격 Complexity

  • AC:L: 낮은 복잡성 → 점수 상승
  • AC:M / AC:H: 중간/고단성 → 중립 또는 점수를 감소

** 에이전트에 중요 **: Low-complexity 악용은 자동화되고 대량 공격에 사용됩니다.

# # # # # # # # # # 3. 취약점 유형 (Deployment Context)

ClawSec은 취약점 유형이 AI 에이전트 배포에 영향을 미치는 방법에 따라 점수를 조정합니다.

대리인 Context에 있는 높 토크 유형

** 원격 코드 실행 (RCE)* * 이름

Score: Always HIGH
Rationale: RCE is critical in agent deployments

AI Agent는 arbitrary 코드를 함수의 일부로 실행합니다. RCE 취약점은 공격자가 납치 에이전트 실행 흐름, exfiltrate credentials, 또는 다른 시스템에 피벗을 수 있습니다.

** 서버 측 요청 위조 (SSRF) * * 이름

Score: Elevated to HIGH if CVSS ≥ 6.0
Rationale: SSRF affects agents making external requests

에이전트는 외부 API, 내부 서비스에 액세스, 그리고 원격 리소스를 호출. SSRF는 공격자를 허용합니다:

  • 내부 클라우드 메타데이터 서비스 접근 (AWS IMDSv1, GCP 메타데이터)
  • 내부 네트워크에 Pivot
  • DNS 터널링을 통한 Exfiltrate 데이터

**Path Traversal / 디렉토리 트레이널 * * 이름

Score: Elevated to HIGH if CVSS ≥ 6.0
Rationale: Path traversal affects agents with file access

Agents는 파일을 읽고, 스크립트를 실행하고, codebases를 관리합니다. Path traversal 활성화:

  • 민감한 구성 파일 읽기 (.env, credentials)
  • SSH 키, API 토큰 접근
  • 긴요한 시스템 파일

**공유 **

Score: Always HIGH
Rationale: Command injection is critical in agent deployments

RCE와 마찬가지로 에이전트는 종종 시스템과 상호 작용하는 쉘 명령을 실행합니다. 명령 주입은 가득 차있는 체계 타협을 허용합니다.

중간 리스크 유형

*Prototype 오염 (Node.js) * 이름

Score: Elevated from LOW to MEDIUM
Rationale: Prototype pollution can escalate in Node.js agents

많은 에이전트 프레임 워크는 Node.js에서 실행됩니다. Prototype 오염은 다음과 같습니다.

  • 인증 체크
  • 특전 에스컬레이션
  • 서비스 부인

** SQL 주입 / NoSQL 주입 **

Score: Elevated to HIGH if network-accessible and unauthenticated
Rationale: Injection affects agents with database access

데이터베이스의 대화 기록, 사용자 데이터 또는 도구 결과를 저장하는 에이전트는 주입 공격에 취약합니다.

# # # # # 낮잠 유형

**Cross 사이트 스크립트 (XSS) * * 이름

Score: Reduced to MEDIUM if not network-accessible
Rationale: XSS has limited impact in headless agents

일반적으로 브라우저에서 HTML을 렌더링하지 마십시오. XSS 충격을 줄입니다. 그러나 에이전트 관리 UI 또는 채팅 인터페이스의 XSS는 우려가 있습니다.

# # # # # # # # # # 4. 폭발성

--check-exploits가 활성화되면 분석자는 공개 악용에 대한 참조 URL을 확인합니다.

Exploit 지표:

  • 악용-db.com / 악용-database.com
  • 패킷stormsecurity.com
  • github.com/exploit, github.com/poc
  • metasploit 프레임 워크 모듈
  • "/exploit", "/poc", "/proof-of-concept" 포함 URL

** 핵심 고각: **

  • lowmedium (유효한)
  • mediumhigh (유효한)
  • unknownmedium (유효한 + CVSS > 0)

Rationale: 공격자에 대한 기술 장벽을 낮추고 자동화 된 악용의 저명한 증가.

득점 알고리즘

해석기는 이 결정 나무를 따릅니다:

1. Parse CVSS score → set baseline (high/medium/low/unknown)
2. Parse CVSS vector → analyze attack characteristics
3. Adjust for attack vector:
   - Network-accessible + no auth + no UI → elevate to HIGH
   - Local-only access → reduce HIGH to MEDIUM
4. Adjust for vulnerability type:
   - Check against agent-specific risk categories
   - Elevate or reduce score based on deployment context
5. Check for public exploits (if enabled):
   - Elevate score if exploits detected
6. Generate rationale explaining the final score

예제

예제 1 : 긴 RCE (높은 폭발성)

{
  "cve_id": "CVE-2024-12345",
  "cvss_score": 9.8,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
  "type": "remote_code_execution",
  "description": "Unauthenticated RCE in Express.js framework"
}

** 분석 출력 : **

{
  "exploitability_score": "high",
  "exploitability_rationale": "Critical CVSS score (9.8); remotely exploitable without authentication; RCE is critical in agent deployments"
}

**왜 높은 **: 긴요한 CVSS + 네트워크 접근 가능 + 아니 auth + RCE 유형.

예제 2 : 에이전트 API의 SSRF (높은 폭발성)

{
  "cve_id": "CVE-2024-23456",
  "cvss_score": 7.3,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L",
  "type": "server_side_request_forgery",
  "description": "SSRF in webhook handler allows internal network access"
}

** 분석 출력 : **

{
  "exploitability_score": "high",
  "exploitability_rationale": "High CVSS score (7.3); remotely exploitable without authentication; SSRF affects agents making external requests"
}

Why HIGH: SSRF는 API 호출을 하는 에이전트에 대 한 중요 한 (최대). 인증없이 네트워크 접근 가능 위험.

예제 3 : 공공 폭발 (높은 폭발성)을 가진 경로 트레이널

{
  "cve_id": "CVE-2024-34567",
  "cvss_score": 6.5,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
  "type": "path_traversal",
  "references": [
    "https://exploit-db.com/exploits/51234",
    "https://nvd.nist.gov/vuln/detail/CVE-2024-34567"
  ]
}

** 분석 출력 (-check-exploits 포함) : **

{
  "exploitability_score": "high",
  "exploitability_rationale": "Medium CVSS score (6.5); network accessible; path traversal affects agents with file access; public exploit available (1 source)"
}

**왜 높은 **: 경로 traversal + 에이전트 파일 액세스 + 공공 악용 높은 악용성에 중간 CVSS 상승.

예제 4 : 에이전트 UI의 XSS (중간 폭발성)

{
  "cve_id": "CVE-2024-45678",
  "cvss_score": 7.1,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L",
  "type": "cross_site_scripting",
  "description": "Stored XSS in agent management dashboard"
}

** 분석 출력 : **

{
  "exploitability_score": "medium",
  "exploitability_rationale": "High CVSS score (7.1); network accessible; XSS has limited impact in headless agents"
}

왜 MEDIUM: 높은 CVSS에도 불구하고, XSS는 에이전트 배포에 덜 중요 (헤드리스 작동). 사용자의 상호 작용을 요구합니다.

예제 5 : 지역 Privilege 에스컬레이션 (중간 폭발성)

{
  "cve_id": "CVE-2024-56789",
  "cvss_score": 8.8,
  "cvss_vector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H",
  "type": "privilege_escalation",
  "description": "Local privilege escalation via symbolic link attack"
}

** 분석 출력 : **

{
  "exploitability_score": "medium",
  "exploitability_rationale": "High CVSS score (8.8); requires local access"
}

**왜 MEDIUM **: 높은 CVSS에도 불구하고 로컬 액세스가 필요합니다. 일반적으로 로컬 에스컬레이션이 제한된 영향이 있는 컨테이너/샌드박스 환경에서 실행됩니다.

예 6 : Exploit (High Exploitability)의 프로토 타입 오염

{
  "cve_id": "CVE-2024-67890",
  "cvss_score": 5.3,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N",
  "type": "prototype_pollution",
  "description": "Prototype pollution in lodash merge function",
  "references": [
    "https://github.com/exploit/prototype-pollution-poc",
    "https://snyk.io/vuln/SNYK-JS-LODASH-1234567"
  ]
}

** 분석 출력 (-check-exploits 포함) : **

{
  "exploitability_score": "high",
  "exploitability_rationale": "Medium CVSS score (5.3); remotely exploitable without authentication; prototype pollution can escalate in Node.js agents; public exploit available (1 source)"
}

왜 HIGH: Node.js Agent + public exploit + network-accessible에 있는 Prototype 오염은 온건한 CVSS에도 불구하고 auth = 높은 위험이 없습니다.

ClawSec Workflows의 사용

자동화된 득점 (NVD 급식)

poll-nvd-cves.yml 워크플로우는 새로운 CVE를 자동적으로 평가합니다.

# Workflow step
python utils/analyze_exploitability.py --json --check-exploits < cve-data.json

advisories/feed.json의 자문은 다음을 포함합니다:

{
  "id": "CVE-2024-12345",
  "severity": "high",
  "exploitability_score": "high",
  "exploitability_rationale": "Critical CVSS score (9.8); remotely exploitable without authentication; RCE is critical in agent deployments",
  "attack_vector_analysis": {
    "is_network_accessible": true,
    "requires_authentication": false,
    "requires_user_interaction": false,
    "complexity": "low"
  }
}

수동 분석

보안 연구원은 수동으로 CVE를 분석 할 수 있습니다 :

# Basic analysis
echo '{"cve_id":"CVE-2024-12345","cvss_score":7.3,"type":"ssrf"}' | \
  python utils/analyze_exploitability.py --json

# With exploit detection
echo '{"cve_id":"CVE-2024-12345","cvss_score":7.3,"references":["https://exploit-db.com/exploits/51234"]}' | \
  python utils/analyze_exploitability.py --json --check-exploits

Exploitability에 의해 필터링

사용자는 악용성 점수에 의해 고문을 필터링 할 수 있습니다:

# Get only high-exploitability advisories
curl -s https://clawsec.prompt.security/feed.json | \
  jq '.advisories[] | select(.exploitability_score == "high")'

# Prioritize by exploitability and severity
curl -s https://clawsec.prompt.security/feed.json | \
  jq '[.advisories[] | select(.exploitability_score == "high" and .severity == "critical")] | sort_by(.cvss_score) | reverse'

Backfilling Existing Advisories (역사적 유지보수)

사이트맵 QXZ는 One-off 저장소 유지 보수를 위한 역사적인 유지 보수 유틸리티로 유지됩니다. 정상적인 자문 세대의 기본 경로는 아닙니다.

선호하는 경로:

  1. 명세 CI canonical 경로: init/reset과 NVD 워크플로우를 실행하여 NVD의 자문을 재개하고 파이프라인에 있는 Artifacts를 서명합니다.
  2. 명세 로컬 개발자 경로: ./scripts/populate-local-feed.sh --force를 실행하여 지역 피드를 분산시킵니다.

명시적으로 레거시 피드 콘텐츠를 복구 할 때 backfill을 사용합니다.

커뮤니티 공헌

커뮤니티 회원은 악용성 평가를 제출할 수 있습니다.

  1. 명세 ** GitHub Issue를 통해 등록 **: CVE를 악용성 컨텍스트로 보고하기 위한 자문 템플릿 사용
  2. 명세 ** 자동화된 분석**: community-advisory.yml 워크플로우는 커뮤니티에 등록한 CVE를 자동으로 평가합니다.
  3. 명세 ** 수동 검토 **: 유지자 검토 및 승인
  4. 명세 Feed Update : 승인 된 자문은 악용성 점수로 피드에 추가됩니다.

제한 및 미래 작업

현재 제한

  1. 명세 Static Analysis: Scoring은 CVE metadata를 기반으로 동적 실행 시간 분석이 아닙니다. 2.No Version Detection: 특정 버전이 취약하다면 확인하지 않습니다.
  2. 명세 ** 일정 **: 부분적인 mitigation 또는 Defense-in-depth을 고려하지 마십시오.
  3. 명세 Limited Context: 정확한 에이전트 구성 또는 배포 툴을 알 수 없습니다.

미래 향상

  1. 명세 **EPSS 통합 **: EPSS (Exploit Prediction Scoring System) 확률 점수
  2. 명세 KEV Matching: CISA KEV(Known Exploited Vulnerabilities) 카탈로그를 사용한 Cross-reference
  3. 명세 Agent Profiling: 배포된 에이전트 기능과 노출된 API를 고려
  4. 명세 Mitigation Detection: WAF 규칙, 샌드박스링, 기타 보상 제어를 확인
  5. 명세 **ML 기반 득점 **: 기계 학습을 사용하여 악용성을 예측합니다.

참조

# # # # # # # # # 관련 기사

악용성 득점 방법론을 개량하기 위하여:

  1. 명세 Submit Test Case: utils/analyze_exploitability.py에 대한 테스트 케이스 추가
  2. 명세 Report False Positives/Negatives: CVE 예제에서 GitHub 이슈 열기
  3. 명세 Propose Scoring Adjustments: 합리적이고 예로 PR 제출
  4. 명세 Share Agent Context: Contribute 에이전트별 취약성 패턴

See CONTRIBUTING.md for detailed contribution guidelines.


**가입 **: Prompt Security **라이센스 **: AGPL-3.0-or-later **최근 업데이트 **: 2026-03-01