防护思路
点击放大


<p align="center">
<img src="static/logo.png" alt="PurpleSkjaldborg Logo" width="280">
</p>
Purple-team threat modeling in the browser. Zero dependencies. One HTML file. Offense *and* defense on one canvas.
> *Skjaldborg* (Old Norse) — a shield wall formation where defenders interlock shields against attackers.
> This tool helps you build that digital shield wall.
---
<p align="center">
<img src="static/demo.gif" alt="PurpleSkjaldborg Demo" width="100%">
</p>
---
PurpleSkjaldborg is a threat modeling tool that combines red team attack paths with blue team defensi in a single diagram. It integrates four industry-standard frameworks:
| Framework | Role in Skjaldborg |
|-----------|-------------------|
| STRIDE | Threat categorization per element (Spoofing, Tampering, Repudiation, Info Disclosure, DoS, EoP) |
| PASTA | 7-stage risk-centric methodology mapped to can |
| MITRE ATT&CK | Ad techniques auto-mapped to Red Team nodes and attack edges — IDs link directly to official MITRE pages |
| MITRE D3FEND | Defensi auto-mapped to Blue Team shields and boundaries — IDs link directly to official MITRE pages |
---
The app loads an AD Attack Chain sample by default. Click Sample in the toolbar to explore all 7 built-in scenarios.
---
> Blue tools attach as shields on assets (force-ring + D3FEND co), not floating boxes.
Model the people in your threat story — not just infrastructure. Persona nodes render as stick figures (not boxes) and carry human-centric properties instead of STRIDE/MITRE assessments:
D3-MFA mappingEach node carries corner badges so you can read the threat posture at a glance without opening the inspector:
| Badge | Position | Meaning |
|-------|----------|---------|
| 🌐 Globe | Top-center | Asset is internet-exposed |
| Count pill | Top-right | ATT&CK / STRIDE technique count |
| 🔒 / 🛡️ | Bottom-left | PII lock · Red sword · Blue shield |
| ⚡ Ease score | Bottom-right | Ease of Attack score (0–100, color-coded) |
| % Bust ring | Bottom-right | Red team only — detection bust likelihood |
| Dashed ring | Outer ring | Red team detection risk color (green → red) |
| 🔑 Key | Bottom-center | MFA enabled on an auth-capable node |
| ⭐ Star | Top-right | Persona only — VIP / High-Value Target |
| 💸 Cash | Bottom-left | Persona only — Fraud Exposure (color-coded by se) |
| 🎭 Red glow | Whole node | Persona only — identity is impersonated by an attacker |
Every red team node gets a live bust likelihood score that reflects how detectable it is by the blue team on the same canvas:
[1.0, 0.82, 0.65, 0.50, 0.40]Every non-red-team node gets an automatically computed Ease of Attack score (0–100):
| Score | Label | Color |
|-------|-------|-------|
| 0–19 | Very Hard | 🟢 Green |
| 20–37 | Hard | 🟡 Yellow-green |
| 38–54 | Medium | 🟡 Yellow |
| 55–71 | Easy | 🟠 Orange |
| 72–100 | Critical | 🔴 Red |
The score starts from a base value per node type and is adjusted automatically by:
Click any data-holding node (Store, Bucket, DB, Cache, Secret, ConfigMap, Queue…) to access:
All settings are accessible from both the inspector panel and the right-click context menu.
Flag any asset as reachable from the public internet:
🌐 Exposed to Internet switch on every nodeMark as internet-exposed / Remo exposure for all non-red-team, non-blue-team nodesFlag MFA on any auth-capable asset or human persona:
D3-MFA countermeasure and lowers the Ease of Attack score; a missing MFA on an auth-capable node raises it+ / − / fit buttons---
| Scenario | Kill Chain | Key Techniques |
|----------|-----------|----------------|
| AD Attack Chain | Phishing → LOLBins → Ligolo-ng pivot → Kerberoasting → ADCS abuse | DCSync, Golden Ticket, E AiTM, WireGuard VPN |
| Cobalt Strike Beacon Drop | GoPhish campaign → Macro payload → Beacon C2 → Lateral mo | Malleable C2, DNS fallback, Kerberoasting, HTTPS egress |
| K8s Cluster Compromise | RCE in pod → SA token theft → etcd dump → Cloud exfil | RBAC abuse, container escape, IRSA pivot, supply chain |
| Cloud Identity Breach (Azure) | Consent phishing → OAuth token → Graph API → Key Vault | Entra ID takeover, MFA bypass, Managed Identity abuse |
| Supply Chain Attack (CI/CD) | Malicious NPM dep → Runner RCE → Backdoored image → Prod | IRSA credential theft, ECR poisoning, ArgoCD deploy |
| Ransomware (Double Extortion) | RDP brute-force → Cobalt Strike → DCSync → Exfil → GPO deploy | BYOVD EDR kill, rclone exfil, deletion |
| Phishing & CEO Fraud (BEC) | OSINT → lookalike domain → spoofed "CEO" email → AP clerk → fraudulent wire → mule account | Impersonation (T1656), Financial Theft (T1657), DMARC/SPF bypass — *malware-free, human-centric* |
All scenarios are pre-annotated with internet-exposed assets, STRIDE flags, ATT&CK/D3FEND techniques, PII zones, and security controls. The CEO Fraud scenario showcases the persona system — human actors with fraud exposure, social-engineering susceptibility, awareness levels, and a executive.
---
| Action | Result |
|--------|--------|
| ? | Open Help panel |
| Esc | Stop drawing flows · finalize freehand boundary · cancel tool · deselect |
| Shift + click | Keep node/boundary tool armed (place multiple) |
| Delete / Backspace | Delete selected element |
| F2 | Rename selected element |
| Double-click edge | Toggle attack ↔ data flow |
| Right-click anything | Semantic context menu |
| Scroll | Zoom |
| Drag background | Pan |
| Click flow tool → source → target | Draw edge; tool stays armed — keep wiring or press Esc |
| Click Freehand Boundary → → Esc | Draw and save a polygon trust boundary |
| Click MITRE ID chip | Open official MITRE technique page in new tab |
---
Zero dependencies. No React, no D3, no build step. Opens in any modern browser, works offline.
---
Most threat modeling tools make you choose: either you model the attacker *or* you model the defenses. PurpleSkjaldborg lets you do both on the same can purple teams need both perspecti.
---
---
MIT
---
<p align="center">
<b>PurpleSkjaldborg</b> — Build your digital shield wall.<br>
<sub>Purple-Team Threat Modeling · STRIDE · PASTA · ATT&CK · D3FEND · Personas · OpSec · Ease of Attack</sub>
</p>
开发语言:HTML
Star 数:3
该项目属于防护思路方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Purple-team threat modeling in the browser. Zero dependencies. One HTML file. Offense and defense on one canvas.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | PurpleSkjaldborg - Purple-team threat modeling in the browser. Zero d |
| 所属分类 | 防护思路 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 00:17:53 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 383 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |