* 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>
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
** 핵심 고각: **
low→medium(유효한)medium→high(유효한)unknown→medium(유효한 + 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 저장소 유지 보수를 위한 역사적인 유지 보수 유틸리티로 유지됩니다. 정상적인 자문 세대의 기본 경로는 아닙니다.
선호하는 경로:
- 명세 CI canonical 경로: init/reset과 NVD 워크플로우를 실행하여 NVD의 자문을 재개하고 파이프라인에 있는 Artifacts를 서명합니다.
- 명세 로컬 개발자 경로:
./scripts/populate-local-feed.sh --force를 실행하여 지역 피드를 분산시킵니다.
명시적으로 레거시 피드 콘텐츠를 복구 할 때 backfill을 사용합니다.
커뮤니티 공헌
커뮤니티 회원은 악용성 평가를 제출할 수 있습니다.
- 명세 ** GitHub Issue를 통해 등록 **: CVE를 악용성 컨텍스트로 보고하기 위한 자문 템플릿 사용
- 명세 ** 자동화된 분석**:
community-advisory.yml워크플로우는 커뮤니티에 등록한 CVE를 자동으로 평가합니다. - 명세 ** 수동 검토 **: 유지자 검토 및 승인
- 명세 Feed Update : 승인 된 자문은 악용성 점수로 피드에 추가됩니다.
제한 및 미래 작업
현재 제한
- 명세 Static Analysis: Scoring은 CVE metadata를 기반으로 동적 실행 시간 분석이 아닙니다. 2.No Version Detection: 특정 버전이 취약하다면 확인하지 않습니다.
- 명세 ** 일정 **: 부분적인 mitigation 또는 Defense-in-depth을 고려하지 마십시오.
- 명세 Limited Context: 정확한 에이전트 구성 또는 배포 툴을 알 수 없습니다.
미래 향상
- 명세 **EPSS 통합 **: EPSS (Exploit Prediction Scoring System) 확률 점수
- 명세 KEV Matching: CISA KEV(Known Exploited Vulnerabilities) 카탈로그를 사용한 Cross-reference
- 명세 Agent Profiling: 배포된 에이전트 기능과 노출된 API를 고려
- 명세 Mitigation Detection: WAF 규칙, 샌드박스링, 기타 보상 제어를 확인
- 명세 **ML 기반 득점 **: 기계 학습을 사용하여 악용성을 예측합니다.
참조
- CVSS v3.1 사양: https://www.first.org/cvss/v3.1/specification-document
- CVSS v2 가이드: https://www.first.org/cvss/v2/guide
- EPSS: https://www.first.org/epss/
- **CISA KEV **: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- NVD API: https://nvd.nist.gov/developers/vulnerabilities
# # # # # # # # # 관련 기사
악용성 득점 방법론을 개량하기 위하여:
- 명세 Submit Test Case:
utils/analyze_exploitability.py에 대한 테스트 케이스 추가 - 명세 Report False Positives/Negatives: CVE 예제에서 GitHub 이슈 열기
- 명세 Propose Scoring Adjustments: 합리적이고 예로 PR 제출
- 명세 Share Agent Context: Contribute 에이전트별 취약성 패턴
See CONTRIBUTING.md for detailed contribution guidelines.
**가입 **: Prompt Security **라이센스 **: AGPL-3.0-or-later **최근 업데이트 **: 2026-03-01