One-pass CAPEC ingestion → generate per-domain attack pattern taxonomies for PromptKit security audits
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 38/100
Hướng nghiên cứu
Bắt đầu bằng việc đọc triển khai nhập CWE từ #228/#229, sau đó xem xét các bản tải xuống CAPEC và các tham chiếu schema. Phân bổ công việc trên .github/prompts/, .github/skills/, scripts/ingest-capec.py, data/capec/, taxonomies/ và manifest.yaml. Hoàn tất khi một lần chạy tạo ra các taxonomy CAPEC được lập phiên bản theo từng miền, kèm tham chiếu chéo đến CWE và bước xác minh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem / Motivation
PromptKit security audits currently scope what weakness to look for (via CWE taxonomies from #228), but do not scope how attackers exploit those weaknesses. CAPEC (Common Attack Pattern Enumeration and Classification) is the complementary MITRE database that classifies attack patterns — the adversary-side view of CWE weaknesses.
Adding CAPEC-derived taxonomies would let security audit prompts guide the LLM with domain-specific attack patterns, improving threat modeling and exploit path analysis.
CAPEC entries cross-reference CWE IDs, so the two taxonomy sets can be composed: "look for these weaknesses (CWE) using these attack patterns (CAPEC)."
Goal
Implement a pipeline (modeled on the CWE ingestion skill from #228/#229) that:
- Ingests the official CAPEC corpus (versioned XML) from MITRE: https://capec.mitre.org/data/downloads.html
- In a single run, generates per-domain CAPEC taxonomies (reusing the same 13-domain registry from #228).
- Cross-references CWE IDs in each CAPEC entry to enable CWE↔CAPEC composition at audit time.
Deliverables
/ingest-capec-taxonomiesprompt file (.github/prompts/) and matching CLI skill (.github/skills/)- Reusable Python script at
scripts/ingest-capec.py - Per-domain taxonomy files:
taxonomies/capec-<domain>.md - Normalized data:
data/capec/<version>/ - Updated
manifest.yaml
Design Notes
- Same architecture as CWE ingestion: 6-phase pipeline (Acquisition → Normalization → Domain Mapping → Taxonomy Generation → Integration → Verification)
- Same domain registry: Reuse the 13 domains from #228. Consider extracting the registry to a shared
data/domain-registry.jsonso both skills reference the same list. - CAPEC XML schema differs from CWE — separate parsing logic required. Key fields: attack pattern ID, name, abstraction, prerequisites, related weaknesses (CWE IDs), execution flow, consequences.
- Domain mapping: Use CAPEC
Related_WeaknessCWE cross-references as the primary signal (map CAPEC entries to domains via their associated CWEs). Fall back to CAPEC-specificPrerequisitesandSkills_Requiredfields. - Separate skill from CWE ingestion — different input format, different semantics (attack patterns vs weakness classes), different parsing.
External References
- CAPEC downloads: https://capec.mitre.org/data/downloads.html
- CAPEC schema: https://capec.mitre.org/documents/schema/
- CAPEC↔CWE mapping: cross-references embedded in CAPEC XML
Related_Weaknesselements
Non-Goals
- Do not merge with the CWE ingestion skill — keep as separate, composable skills.
- Do not claim exploitability of specific code from attack patterns.
- Do not fork or maintain a separate CAPEC; track upstream MITRE versions.
Relationship to Other Issues
- Depends on #228 for the domain registry and taxonomy file conventions.
- CAPEC taxonomies complement CWE taxonomies — together they scope both the "what" and "how" of security audits.
- Ngôn ngữ chính
- JavaScript
- Star
- 105
- Fork
- 23
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/PromptKit
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
-
enhancement
Tất cả issue của microsoft/PromptKit
Issue tương tự
-
Update HugeIcons library Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
antfu-collective/icones#398 ·
-
ECmail.com Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
wesbos/burner-email-providers#554 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
radiantearth/stac-browser#1023 ·
-
HMR stops working Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
components-web-app/docs#92 ·