@blamejs/exceptd-skills 0.12.34 → 0.12.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +55 -0
- package/bin/exceptd.js +25 -7
- package/data/_indexes/_meta.json +34 -34
- package/data/_indexes/activity-feed.json +1 -1
- package/data/_indexes/catalog-summaries.json +1 -1
- package/data/_indexes/recipes.json +1 -1
- package/data/_indexes/section-offsets.json +64 -64
- package/data/_indexes/summary-cards.json +1 -1
- package/data/_indexes/token-budget.json +14 -14
- package/lib/playbook-runner.js +16 -1
- package/lib/schemas/skill-frontmatter.schema.json +1 -1
- package/manifest-snapshot.json +1 -1
- package/manifest-snapshot.sha256 +1 -1
- package/manifest.json +79 -79
- package/package.json +1 -1
- package/sbom.cdx.json +48 -48
- package/scripts/builders/catalog-summaries.js +1 -1
- package/scripts/builders/recipes.js +1 -1
- package/skills/age-gates-child-safety/skill.md +4 -4
- package/skills/ai-attack-surface/skill.md +3 -3
- package/skills/ai-c2-detection/skill.md +4 -4
- package/skills/api-security/skill.md +1 -1
- package/skills/attack-surface-pentest/skill.md +3 -3
- package/skills/cloud-security/skill.md +2 -2
- package/skills/compliance-theater/skill.md +2 -2
- package/skills/container-runtime-security/skill.md +2 -2
- package/skills/coordinated-vuln-disclosure/skill.md +1 -1
- package/skills/dlp-gap-analysis/skill.md +4 -4
- package/skills/exploit-scoring/skill.md +1 -1
- package/skills/framework-gap-analysis/skill.md +3 -3
- package/skills/fuzz-testing-strategy/skill.md +1 -1
- package/skills/incident-response-playbook/skill.md +1 -1
- package/skills/mcp-agent-trust/skill.md +1 -1
- package/skills/mlops-security/skill.md +2 -2
- package/skills/ot-ics-security/skill.md +2 -2
- package/skills/policy-exception-gen/skill.md +2 -2
- package/skills/rag-pipeline-security/skill.md +3 -3
- package/skills/ransomware-response/skill.md +1 -1
- package/skills/sector-energy/skill.md +2 -2
- package/skills/sector-federal-government/skill.md +1 -1
- package/skills/sector-financial/skill.md +3 -3
- package/skills/sector-healthcare/skill.md +2 -2
- package/skills/security-maturity-tiers/skill.md +1 -1
- package/skills/skill-update-loop/skill.md +4 -4
- package/skills/supply-chain-integrity/skill.md +1 -1
- package/skills/threat-model-currency/skill.md +7 -7
- package/skills/threat-modeling-methodology/skill.md +1 -1
- package/skills/webapp-security/skill.md +1 -1
- package/skills/zeroday-gap-learn/skill.md +2 -2
package/sbom.cdx.json
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bomFormat": "CycloneDX",
|
|
3
3
|
"specVersion": "1.6",
|
|
4
|
-
"serialNumber": "urn:uuid:
|
|
4
|
+
"serialNumber": "urn:uuid:54dffaaa-0570-45df-8c09-63895fec39a7",
|
|
5
5
|
"version": 1,
|
|
6
6
|
"metadata": {
|
|
7
|
-
"timestamp": "2026-05-
|
|
7
|
+
"timestamp": "2026-05-16T13:07:42.087Z",
|
|
8
8
|
"tools": [
|
|
9
9
|
{
|
|
10
10
|
"vendor": "blamejs",
|
|
11
11
|
"name": "scripts/refresh-sbom.js",
|
|
12
|
-
"version": "0.12.
|
|
12
|
+
"version": "0.12.36"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"component": {
|
|
16
|
-
"bom-ref": "pkg:npm/@blamejs/exceptd-skills@0.12.
|
|
16
|
+
"bom-ref": "pkg:npm/@blamejs/exceptd-skills@0.12.36",
|
|
17
17
|
"type": "application",
|
|
18
18
|
"name": "@blamejs/exceptd-skills",
|
|
19
|
-
"version": "0.12.
|
|
19
|
+
"version": "0.12.36",
|
|
20
20
|
"description": "AI security skills grounded in mid-2026 threat reality, not stale framework documentation. 42 skills, 10 catalogs, 34 jurisdictions, pre-computed indexes, Ed25519-signed.",
|
|
21
21
|
"licenses": [
|
|
22
22
|
{
|
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
],
|
|
28
|
-
"purl": "pkg:npm/%40blamejs/exceptd-skills@0.12.
|
|
28
|
+
"purl": "pkg:npm/%40blamejs/exceptd-skills@0.12.36",
|
|
29
29
|
"hashes": [
|
|
30
30
|
{
|
|
31
31
|
"alg": "SHA-256",
|
|
32
|
-
"content": "
|
|
32
|
+
"content": "f2c7fbe6fe2cc00240e87b017b2399e0338065f8c0ca29199f543c7497dde832"
|
|
33
33
|
}
|
|
34
34
|
],
|
|
35
35
|
"externalReferences": [
|
|
36
36
|
{
|
|
37
37
|
"type": "distribution",
|
|
38
|
-
"url": "https://www.npmjs.com/package/@blamejs/exceptd-skills/v/0.12.
|
|
38
|
+
"url": "https://www.npmjs.com/package/@blamejs/exceptd-skills/v/0.12.36"
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
"type": "vcs",
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
"hashes": [
|
|
109
109
|
{
|
|
110
110
|
"alg": "SHA-256",
|
|
111
|
-
"content": "
|
|
111
|
+
"content": "4641f95ce71ceb772702bcf7cd39738c6acc802c8884f246ce907b2596e0a47b"
|
|
112
112
|
}
|
|
113
113
|
]
|
|
114
114
|
},
|
|
@@ -229,7 +229,7 @@
|
|
|
229
229
|
"hashes": [
|
|
230
230
|
{
|
|
231
231
|
"alg": "SHA-256",
|
|
232
|
-
"content": "
|
|
232
|
+
"content": "4168621415ed12653a30c2cb25e4ca3c38e4946d7ac7459eea384fbbd1ae843f"
|
|
233
233
|
}
|
|
234
234
|
]
|
|
235
235
|
},
|
|
@@ -658,7 +658,7 @@
|
|
|
658
658
|
"hashes": [
|
|
659
659
|
{
|
|
660
660
|
"alg": "SHA-256",
|
|
661
|
-
"content": "
|
|
661
|
+
"content": "fd05bb2df95d6faf755edc8fa67d61760bb26232c9ada9f5641f3849447f216b"
|
|
662
662
|
}
|
|
663
663
|
]
|
|
664
664
|
},
|
|
@@ -735,7 +735,7 @@
|
|
|
735
735
|
"hashes": [
|
|
736
736
|
{
|
|
737
737
|
"alg": "SHA-256",
|
|
738
|
-
"content": "
|
|
738
|
+
"content": "79df02350a2b0c7249639c32cda6f1c809f967d8cf2b6a6401c2361e9c9a9b04"
|
|
739
739
|
}
|
|
740
740
|
]
|
|
741
741
|
},
|
|
@@ -911,7 +911,7 @@
|
|
|
911
911
|
"hashes": [
|
|
912
912
|
{
|
|
913
913
|
"alg": "SHA-256",
|
|
914
|
-
"content": "
|
|
914
|
+
"content": "deabb08300ea4087584070d6f434958a65ef6269a0d08a5a518985b083a3550b"
|
|
915
915
|
}
|
|
916
916
|
]
|
|
917
917
|
},
|
|
@@ -922,7 +922,7 @@
|
|
|
922
922
|
"hashes": [
|
|
923
923
|
{
|
|
924
924
|
"alg": "SHA-256",
|
|
925
|
-
"content": "
|
|
925
|
+
"content": "faf0ce67c6d0fad605090ed40e9c44dee2bc9807cedfdc4e3444dbddb83aa709"
|
|
926
926
|
}
|
|
927
927
|
]
|
|
928
928
|
},
|
|
@@ -933,7 +933,7 @@
|
|
|
933
933
|
"hashes": [
|
|
934
934
|
{
|
|
935
935
|
"alg": "SHA-256",
|
|
936
|
-
"content": "
|
|
936
|
+
"content": "d25d929ae43840da3ebfe052cf8da1969347e8fcbe1d59959fbb33c9ba9eadbe"
|
|
937
937
|
}
|
|
938
938
|
]
|
|
939
939
|
},
|
|
@@ -1087,7 +1087,7 @@
|
|
|
1087
1087
|
"hashes": [
|
|
1088
1088
|
{
|
|
1089
1089
|
"alg": "SHA-256",
|
|
1090
|
-
"content": "
|
|
1090
|
+
"content": "1c522279aea9ec5fe2a3d3dc711f25dd1728823d11c903e24014f75440e2da4e"
|
|
1091
1091
|
}
|
|
1092
1092
|
]
|
|
1093
1093
|
},
|
|
@@ -1153,7 +1153,7 @@
|
|
|
1153
1153
|
"hashes": [
|
|
1154
1154
|
{
|
|
1155
1155
|
"alg": "SHA-256",
|
|
1156
|
-
"content": "
|
|
1156
|
+
"content": "63e25ecf421e459e364d5f6d02ddd9ae9a29f76df11491cc8ba3529c0b5ab818"
|
|
1157
1157
|
}
|
|
1158
1158
|
]
|
|
1159
1159
|
},
|
|
@@ -1351,7 +1351,7 @@
|
|
|
1351
1351
|
"hashes": [
|
|
1352
1352
|
{
|
|
1353
1353
|
"alg": "SHA-256",
|
|
1354
|
-
"content": "
|
|
1354
|
+
"content": "66c7f6537077e4e949214ebf3864cb75de0f50f80fa25d25365c6d7fe485dc7a"
|
|
1355
1355
|
}
|
|
1356
1356
|
]
|
|
1357
1357
|
},
|
|
@@ -1362,7 +1362,7 @@
|
|
|
1362
1362
|
"hashes": [
|
|
1363
1363
|
{
|
|
1364
1364
|
"alg": "SHA-256",
|
|
1365
|
-
"content": "
|
|
1365
|
+
"content": "853ea46b500fa60b5f5db1137629f8b64447b5df2c8346c15c6cbd1e59285532"
|
|
1366
1366
|
}
|
|
1367
1367
|
]
|
|
1368
1368
|
},
|
|
@@ -1373,7 +1373,7 @@
|
|
|
1373
1373
|
"hashes": [
|
|
1374
1374
|
{
|
|
1375
1375
|
"alg": "SHA-256",
|
|
1376
|
-
"content": "
|
|
1376
|
+
"content": "4f986ac65d4cba36ef9173d204acaf81646a9f7c42623ebba0973ea0108133c0"
|
|
1377
1377
|
}
|
|
1378
1378
|
]
|
|
1379
1379
|
},
|
|
@@ -1395,7 +1395,7 @@
|
|
|
1395
1395
|
"hashes": [
|
|
1396
1396
|
{
|
|
1397
1397
|
"alg": "SHA-256",
|
|
1398
|
-
"content": "
|
|
1398
|
+
"content": "75dcb1b9395de2be4ca60e53f900692721b7ef66ded3e510a20d17f35daf982d"
|
|
1399
1399
|
}
|
|
1400
1400
|
]
|
|
1401
1401
|
},
|
|
@@ -1406,7 +1406,7 @@
|
|
|
1406
1406
|
"hashes": [
|
|
1407
1407
|
{
|
|
1408
1408
|
"alg": "SHA-256",
|
|
1409
|
-
"content": "
|
|
1409
|
+
"content": "9cb02d9d428ef674ba8af8c935f86ddca197f0ba1f7d216d76ce1b268ae4bb6a"
|
|
1410
1410
|
}
|
|
1411
1411
|
]
|
|
1412
1412
|
},
|
|
@@ -1428,7 +1428,7 @@
|
|
|
1428
1428
|
"hashes": [
|
|
1429
1429
|
{
|
|
1430
1430
|
"alg": "SHA-256",
|
|
1431
|
-
"content": "
|
|
1431
|
+
"content": "56f0d5d6cf182d347e84baa95a04c39be51e82da3360dac48fcf5d8c4e56a9c3"
|
|
1432
1432
|
}
|
|
1433
1433
|
]
|
|
1434
1434
|
},
|
|
@@ -1439,7 +1439,7 @@
|
|
|
1439
1439
|
"hashes": [
|
|
1440
1440
|
{
|
|
1441
1441
|
"alg": "SHA-256",
|
|
1442
|
-
"content": "
|
|
1442
|
+
"content": "5fa6207256d002c42a28a90d15b9a9ef0503ae7dba9b55b4098e2e52607377f4"
|
|
1443
1443
|
}
|
|
1444
1444
|
]
|
|
1445
1445
|
},
|
|
@@ -1450,7 +1450,7 @@
|
|
|
1450
1450
|
"hashes": [
|
|
1451
1451
|
{
|
|
1452
1452
|
"alg": "SHA-256",
|
|
1453
|
-
"content": "
|
|
1453
|
+
"content": "7e0806b9e13db120f9b65d5f48b33db9f1026c4c2d719838ef0f0c8778ec4365"
|
|
1454
1454
|
}
|
|
1455
1455
|
]
|
|
1456
1456
|
},
|
|
@@ -1461,7 +1461,7 @@
|
|
|
1461
1461
|
"hashes": [
|
|
1462
1462
|
{
|
|
1463
1463
|
"alg": "SHA-256",
|
|
1464
|
-
"content": "
|
|
1464
|
+
"content": "0e875953bb8a38a89c8ec5d2a9ef967b12e9a9f166dc9356723f10304fd0535e"
|
|
1465
1465
|
}
|
|
1466
1466
|
]
|
|
1467
1467
|
},
|
|
@@ -1483,7 +1483,7 @@
|
|
|
1483
1483
|
"hashes": [
|
|
1484
1484
|
{
|
|
1485
1485
|
"alg": "SHA-256",
|
|
1486
|
-
"content": "
|
|
1486
|
+
"content": "ee9fd4928d96b2e9957d8db9dec90c844443fbcf2a292e69040bfa47c78a4f4b"
|
|
1487
1487
|
}
|
|
1488
1488
|
]
|
|
1489
1489
|
},
|
|
@@ -1505,7 +1505,7 @@
|
|
|
1505
1505
|
"hashes": [
|
|
1506
1506
|
{
|
|
1507
1507
|
"alg": "SHA-256",
|
|
1508
|
-
"content": "
|
|
1508
|
+
"content": "91bab353257383bd21e49005c1c8188b98b46642184dea29729ad45fc732d698"
|
|
1509
1509
|
}
|
|
1510
1510
|
]
|
|
1511
1511
|
},
|
|
@@ -1516,7 +1516,7 @@
|
|
|
1516
1516
|
"hashes": [
|
|
1517
1517
|
{
|
|
1518
1518
|
"alg": "SHA-256",
|
|
1519
|
-
"content": "
|
|
1519
|
+
"content": "4994b47c2618d24e5557f2a23de21960f6f12a6d66d1b8780b4de6d9d3735dfe"
|
|
1520
1520
|
}
|
|
1521
1521
|
]
|
|
1522
1522
|
},
|
|
@@ -1527,7 +1527,7 @@
|
|
|
1527
1527
|
"hashes": [
|
|
1528
1528
|
{
|
|
1529
1529
|
"alg": "SHA-256",
|
|
1530
|
-
"content": "
|
|
1530
|
+
"content": "eaab866236c8cb8a6c8ddc5e65d786ee6d598682de6014ed4e83c6cd163a2128"
|
|
1531
1531
|
}
|
|
1532
1532
|
]
|
|
1533
1533
|
},
|
|
@@ -1571,7 +1571,7 @@
|
|
|
1571
1571
|
"hashes": [
|
|
1572
1572
|
{
|
|
1573
1573
|
"alg": "SHA-256",
|
|
1574
|
-
"content": "
|
|
1574
|
+
"content": "0695ee43881527459f657a90276748922347f16dd494ae2b98e2a9396c570a44"
|
|
1575
1575
|
}
|
|
1576
1576
|
]
|
|
1577
1577
|
},
|
|
@@ -1593,7 +1593,7 @@
|
|
|
1593
1593
|
"hashes": [
|
|
1594
1594
|
{
|
|
1595
1595
|
"alg": "SHA-256",
|
|
1596
|
-
"content": "
|
|
1596
|
+
"content": "b09a33e71a0cc13ec70e7e750ac4b91887b657d293d92c3cdb49a4e094adcfea"
|
|
1597
1597
|
}
|
|
1598
1598
|
]
|
|
1599
1599
|
},
|
|
@@ -1604,7 +1604,7 @@
|
|
|
1604
1604
|
"hashes": [
|
|
1605
1605
|
{
|
|
1606
1606
|
"alg": "SHA-256",
|
|
1607
|
-
"content": "
|
|
1607
|
+
"content": "cb6871691028f55d59e3efe47be2f1d6bf65fa8c6f3cf301e78d5d119fe3616d"
|
|
1608
1608
|
}
|
|
1609
1609
|
]
|
|
1610
1610
|
},
|
|
@@ -1615,7 +1615,7 @@
|
|
|
1615
1615
|
"hashes": [
|
|
1616
1616
|
{
|
|
1617
1617
|
"alg": "SHA-256",
|
|
1618
|
-
"content": "
|
|
1618
|
+
"content": "2a30c888e515bed3c121e7396f841e15cad53fe443b3f0a1c3f2670c8c317339"
|
|
1619
1619
|
}
|
|
1620
1620
|
]
|
|
1621
1621
|
},
|
|
@@ -1626,7 +1626,7 @@
|
|
|
1626
1626
|
"hashes": [
|
|
1627
1627
|
{
|
|
1628
1628
|
"alg": "SHA-256",
|
|
1629
|
-
"content": "
|
|
1629
|
+
"content": "78a8623700eab1801387e4792611529089b6248ff3faef15d70c0093609ec323"
|
|
1630
1630
|
}
|
|
1631
1631
|
]
|
|
1632
1632
|
},
|
|
@@ -1648,7 +1648,7 @@
|
|
|
1648
1648
|
"hashes": [
|
|
1649
1649
|
{
|
|
1650
1650
|
"alg": "SHA-256",
|
|
1651
|
-
"content": "
|
|
1651
|
+
"content": "96d26b90539bda836032c2fc2935e0d5736f40bcd286165979c0ed34f47f3ce6"
|
|
1652
1652
|
}
|
|
1653
1653
|
]
|
|
1654
1654
|
},
|
|
@@ -1659,7 +1659,7 @@
|
|
|
1659
1659
|
"hashes": [
|
|
1660
1660
|
{
|
|
1661
1661
|
"alg": "SHA-256",
|
|
1662
|
-
"content": "
|
|
1662
|
+
"content": "15de039c5679215b7ceb9a55494f614b06fe618aa0f69ce8aff004dc9a841fa4"
|
|
1663
1663
|
}
|
|
1664
1664
|
]
|
|
1665
1665
|
},
|
|
@@ -1681,7 +1681,7 @@
|
|
|
1681
1681
|
"hashes": [
|
|
1682
1682
|
{
|
|
1683
1683
|
"alg": "SHA-256",
|
|
1684
|
-
"content": "
|
|
1684
|
+
"content": "b3f1a979beab4f22d689ea74c6aa43b7f1b9017a9b2110310adc2af8305fa134"
|
|
1685
1685
|
}
|
|
1686
1686
|
]
|
|
1687
1687
|
},
|
|
@@ -1692,7 +1692,7 @@
|
|
|
1692
1692
|
"hashes": [
|
|
1693
1693
|
{
|
|
1694
1694
|
"alg": "SHA-256",
|
|
1695
|
-
"content": "
|
|
1695
|
+
"content": "4b5b2f46c97a1571eecbb1c92ca40ac69a8cafc9f74f39539a08cb539ee65f39"
|
|
1696
1696
|
}
|
|
1697
1697
|
]
|
|
1698
1698
|
},
|
|
@@ -1703,7 +1703,7 @@
|
|
|
1703
1703
|
"hashes": [
|
|
1704
1704
|
{
|
|
1705
1705
|
"alg": "SHA-256",
|
|
1706
|
-
"content": "
|
|
1706
|
+
"content": "77f6355eb7672f2157bf3d18bfe1d6042efe302468ebddd48ffc385655bf4d10"
|
|
1707
1707
|
}
|
|
1708
1708
|
]
|
|
1709
1709
|
},
|
|
@@ -1714,7 +1714,7 @@
|
|
|
1714
1714
|
"hashes": [
|
|
1715
1715
|
{
|
|
1716
1716
|
"alg": "SHA-256",
|
|
1717
|
-
"content": "
|
|
1717
|
+
"content": "217066e5961fbc3fcd1b5e3df42f299d7aeaf3b5f25e913152836b77f211f96d"
|
|
1718
1718
|
}
|
|
1719
1719
|
]
|
|
1720
1720
|
},
|
|
@@ -1736,7 +1736,7 @@
|
|
|
1736
1736
|
"hashes": [
|
|
1737
1737
|
{
|
|
1738
1738
|
"alg": "SHA-256",
|
|
1739
|
-
"content": "
|
|
1739
|
+
"content": "2027161ab0a3382ba506cca7be1966e11367bbdf861de316facd54e25fef5761"
|
|
1740
1740
|
}
|
|
1741
1741
|
]
|
|
1742
1742
|
},
|
|
@@ -1747,7 +1747,7 @@
|
|
|
1747
1747
|
"hashes": [
|
|
1748
1748
|
{
|
|
1749
1749
|
"alg": "SHA-256",
|
|
1750
|
-
"content": "
|
|
1750
|
+
"content": "0d5b08f71e4853a634344eaf260da90bd7a29d4df48200ee75be878dce3467e2"
|
|
1751
1751
|
}
|
|
1752
1752
|
]
|
|
1753
1753
|
},
|
|
@@ -1758,7 +1758,7 @@
|
|
|
1758
1758
|
"hashes": [
|
|
1759
1759
|
{
|
|
1760
1760
|
"alg": "SHA-256",
|
|
1761
|
-
"content": "
|
|
1761
|
+
"content": "b44a8704e37d8efcd97d8e998e6b2b454e1bc3ba956c6aaf105aa155ffffd2a8"
|
|
1762
1762
|
}
|
|
1763
1763
|
]
|
|
1764
1764
|
},
|
|
@@ -1769,7 +1769,7 @@
|
|
|
1769
1769
|
"hashes": [
|
|
1770
1770
|
{
|
|
1771
1771
|
"alg": "SHA-256",
|
|
1772
|
-
"content": "
|
|
1772
|
+
"content": "9fcddaa06334d104cb160bace92c92cdcb6b2881f579b82970e42fbd3d213a05"
|
|
1773
1773
|
}
|
|
1774
1774
|
]
|
|
1775
1775
|
},
|
|
@@ -1780,7 +1780,7 @@
|
|
|
1780
1780
|
"hashes": [
|
|
1781
1781
|
{
|
|
1782
1782
|
"alg": "SHA-256",
|
|
1783
|
-
"content": "
|
|
1783
|
+
"content": "bb34933a1eee2cd1da98da5a5dada2c7fc7ebb0bddf5afb39e1f6ee26064d151"
|
|
1784
1784
|
}
|
|
1785
1785
|
]
|
|
1786
1786
|
},
|
|
@@ -1791,7 +1791,7 @@
|
|
|
1791
1791
|
"hashes": [
|
|
1792
1792
|
{
|
|
1793
1793
|
"alg": "SHA-256",
|
|
1794
|
-
"content": "
|
|
1794
|
+
"content": "6fdae41856963df0f8655fb52df7cd26b6b47031f55dfe897003ed9647a73ab5"
|
|
1795
1795
|
}
|
|
1796
1796
|
]
|
|
1797
1797
|
},
|
|
@@ -1802,7 +1802,7 @@
|
|
|
1802
1802
|
"hashes": [
|
|
1803
1803
|
{
|
|
1804
1804
|
"alg": "SHA-256",
|
|
1805
|
-
"content": "
|
|
1805
|
+
"content": "59a0d7cd85b923b3f5633bdc15c1a88eef7dea6332480d93b0bb0ae93a4cd0fe"
|
|
1806
1806
|
}
|
|
1807
1807
|
]
|
|
1808
1808
|
},
|
|
@@ -18,7 +18,7 @@ const path = require("path");
|
|
|
18
18
|
const CATALOG_PURPOSES = {
|
|
19
19
|
"cve-catalog.json": "Per-CVE record (CVSS, EPSS, CISA KEV, RWEP, AI-discovery, vendor advisories, framework gaps, ATLAS/ATT&CK mappings). Cross-validated against NVD + CISA KEV + FIRST EPSS via validate-cves.",
|
|
20
20
|
"cwe-catalog.json": "MITRE CWE entries used by the project (subset with skill citations), with severity hint and category. Pinned to a CWE catalog version.",
|
|
21
|
-
"atlas-ttps.json": "MITRE ATLAS TTPs (AML.T0xxx) cited by skills, with tactic, name, description. Pinned to ATLAS v5.
|
|
21
|
+
"atlas-ttps.json": "MITRE ATLAS TTPs (AML.T0xxx) cited by skills, with tactic, name, description. Pinned to ATLAS v5.4.0 (February 2026).",
|
|
22
22
|
"d3fend-catalog.json": "MITRE D3FEND countermeasures (D3-xxx) keyed by id, with tactic + name. Pinned to D3FEND v1.0.0 release.",
|
|
23
23
|
"framework-control-gaps.json": "Per-control framework gap declarations: SI-2, A.8.8, PCI 6.3.3, etc. Each entry names the control, the lag, the evidence CVE, and remediation guidance.",
|
|
24
24
|
"global-frameworks.json": "Multi-jurisdiction framework registry: 34 jurisdictions × applicable frameworks × patch_sla / notification_sla / critical_controls / framework_gaps. Cross-cutting authority for jurisdiction-clocks index.",
|
|
@@ -21,7 +21,7 @@ const RECIPES = [
|
|
|
21
21
|
when_to_use: "Before scoping or executing a red-team engagement against a model, agentic system, or AI feature.",
|
|
22
22
|
typical_jurisdictions: ["US", "EU", "UK", "GLOBAL"],
|
|
23
23
|
steps: [
|
|
24
|
-
{ skill: "ai-attack-surface", why: "Comprehensive attack-surface inventory mapped to ATLAS v5.
|
|
24
|
+
{ skill: "ai-attack-surface", why: "Comprehensive attack-surface inventory mapped to ATLAS v5.4.0 with gap flags." },
|
|
25
25
|
{ skill: "ai-c2-detection", why: "Detection coverage for AI-as-C2 (PROMPTFLUX / SesameOp / AI-API egress) before testing." },
|
|
26
26
|
{ skill: "mcp-agent-trust", why: "MCP server trust boundary for the engineering toolchain side of the surface." },
|
|
27
27
|
{ skill: "rag-pipeline-security", why: "RAG ingestion provenance + prompt-injection chain coverage." },
|
|
@@ -128,13 +128,13 @@ Classical security and privacy frameworks (NIST 800-53 r5, ISO/IEC 27001:2022, S
|
|
|
128
128
|
|
|
129
129
|
## TTP Mapping
|
|
130
130
|
|
|
131
|
-
This skill is primarily a compliance + privacy-engineering skill rather than a technical-exploit skill. There are no ATLAS-catalogued AI-attack TTPs that are child-specific as of v5.
|
|
131
|
+
This skill is primarily a compliance + privacy-engineering skill rather than a technical-exploit skill. There are no ATLAS-catalogued AI-attack TTPs that are child-specific as of v5.4.0, and most relevant attacker activity intersects general ATT&CK techniques rather than child-targeted novel TTPs. The relevant mapping is therefore narrower and explicitly flagged as such — `atlas_refs` is empty by design, not omission.
|
|
132
132
|
|
|
133
133
|
| ID | Source | Technique | Child-Safeguarding Relevance | Gap Flag |
|
|
134
134
|
|---|---|---|---|---|
|
|
135
135
|
| T1078 | ATT&CK Enterprise | Valid Accounts | Account takeover targeting child accounts (compromised parental controls; sextortion via stolen accounts; grooming via account hijack) — child accounts are under-protected because MFA roll-out lags adult user populations. | NIST 800-53 AC-2 + COPPA / AADC / Children's Code silent on MFA-for-child requirement; the AC-2 gap entry in `data/framework-control-gaps.json` covers AI-service-principals not child identities. Hand off to `identity-assurance` for AAL2+ on child accounts where vendor terms permit. |
|
|
136
136
|
| T1567 | ATT&CK Enterprise | Exfiltration Over Web Service | Child PI exfiltrated via AI-tool / SaaS egress — additional liability under COPPA (no behavioral-ad use of under-13 PI), AADC (DPIA failure), GDPR Art. 8 (no lawful basis), DPDPA (default-VPC bypass), CN PIPL Art. 31 (child PI = sensitive PI requiring separate consent). | Hand off to `dlp-gap-analysis` for child-PI as a protected data class; COPPA / AADC / Children's Code do not name DLP technical controls; the SOC2-CC7 anomaly-detection gap entry applies. |
|
|
137
|
-
| AI-generated CSAM creation / distribution | Not catalogued in ATLAS or ATT&CK as of v5.
|
|
137
|
+
| AI-generated CSAM creation / distribution | Not catalogued in ATLAS or ATT&CK as of v5.4.0 | Generative-AI image / video synthesis depicting children | Direct criminal exposure under 18 U.S.C. §§2251, 2252, 2252A, 2256 (Protect Act / Mash-Up Act framework); mandatory NCMEC reporting per §2258A. Multiple 2024-2025 prosecutions (US v. Anderegg WD-Wis 2024 — first federal AI-CSAM prosecution; UK National Crime Agency campaign 2024-2025). | No formal TTP class. Evidence stream: NCMEC CyberTipline reports + EU IWF reports. Hand off to `ai-attack-surface` for generative-model content-policy red-team and to `incident-response-playbook` for reporting workflow. |
|
|
138
138
|
| AI chatbot grooming / harmful-content engagement with children | Not catalogued | Long-context AI chatbot interactions with children steering toward harm | Research and litigation evidence: Character.ai litigation 2024 (FL wrongful-death suit alleging companion-chatbot contribution to minor suicide; additional 2024-2025 complaints); UK NCA campaign 2024 documenting grooming attempts via AI chatbots; ESRC / RAND research 2024-2025. | No formal TTP class. EU DSA Art. 28 + UK OSA + AU OSA + KOSA-if-enacted all frame this as a platform duty-of-care obligation. Hand off to `ai-risk-management` for AI-product age policy enforcement. |
|
|
139
139
|
|
|
140
140
|
**Honest scope statement (per AGENTS.md rule #10).** This skill does not invent TTP IDs to fill gaps in the ATLAS or ATT&CK matrices. AI-generated CSAM and AI-chatbot-mediated harm to children are real-world threat classes documented through prosecution records, NCMEC / IWF reporting, and litigation — not novel ATLAS techniques. Citation is to the evidence stream, not to a TTP ID.
|
|
@@ -154,8 +154,8 @@ For this skill, "exploit availability" maps to "what child-exposure violations h
|
|
|
154
154
|
| AI-generated CSAM | No CVE; criminal-statute violations | US v. Anderegg WD-Wis 2024 — first federal AI-CSAM prosecution; UK NCA 2024-2025 enforcement; multiple EU national prosecutions; NCMEC CyberTipline AI-CSAM reports doubled 2023-2024 (NCMEC 2024 annual reporting) | N/A | Yes — AI is the threat capability | OpenAI / Anthropic / Google / Stability AI / Midjourney deploy content classifiers + reporting infrastructure; open-weight model ecosystems are structural blind spot | NCMEC CyberTipline mandatory reporting in effect; EU CSAM Regulation contested but pressure rising; multiple Stable-Diffusion-derived prosecutions 2024-2025 |
|
|
155
155
|
| Adult content served without age verification (US state laws) | No | Pornhub geo-blocked TX 2023 + LA 2023 + MT + UT + VA + MS + AR + NC + KY + AL + KS + OK + IN + NE 2023-2024-2025 rather than implement; SCOTUS upheld TX HB 18 in Free Speech Coalition v. Paxton June 2025 6-3; Aylo state-AG enforcement actions; XHamster + similar smaller operators face state AG actions 2024-2025 | N/A | N/A | AgeChecked, Yoti, VerifyMy, Incode, Persona, Jumio, OnFido provide commercial age-verification stacks; coverage uneven | TX, LA, MT, MS, UT, AR, VA, NC, KY, FL, AL, TN, KS, OK, IN, NE, ID, GA, SD active enforcement 2024-2025 |
|
|
156
156
|
| EU AVMSD age-verification non-compliance for adult video content | No | DE BzKJ enforcement against adult-content services 2023-2025; FR ARCOM enforcement 2024-2025 culminating in geo-blocking orders under SREN | N/A | N/A | Member-state per-stack age-verification ecosystem (FR ARCOM referential, DE KJM-acceptable systems) | Per-member-state continuous enforcement |
|
|
157
|
-
| UK Online Safety Act child-safety failure | No | Ofcom illegal-content code enforcement live March 2025; child-safety codes
|
|
158
|
-
| AU social-media-under-16 non-compliance | No |
|
|
157
|
+
| UK Online Safety Act child-safety failure | No | Ofcom illegal-content code enforcement live March 2025; child-safety codes in force July 2025; Ofcom has launched 80+ investigations into adult sites and issued its first OSA fine (£1M for failure to implement highly effective age assurance); Ofcom 2026-27 priorities document confirms continued child-protection focus, AI-generated-harm enforcement, and categorised-services register publication July 2026 | N/A | N/A | Major platforms deploying age-assurance stacks pre-emptively (Yoti, Persona, internal age-estimation) | Ongoing OSA investigations; risk-assessment records due from notified providers April 2026; provider risk-assessment summary publication deadline November 2026; categorised-services register July 2026 |
|
|
158
|
+
| AU social-media-under-16 non-compliance | No | Act entered force 10 December 2025; >4.7M underage accounts deactivated / restricted by mid-January 2026; eSafety Commissioner opened formal investigations into Facebook, Instagram, Snapchat, TikTok and YouTube on 31 March 2026 — first formal compliance assessment under the regime | N/A | N/A | Age-assurance trial concluded mid-2025; eSafety regulatory guidance published Feb 2026; implementation method evolving | eSafety civil penalty regime active (up to A$49.5M); investigation outcomes for the five named platforms pending; expect first civil penalty proceedings H2 2026 |
|
|
159
159
|
| CN Children-Mode non-compliance + gaming time-limit non-compliance | No | CAC + NPPA enforcement against multiple platforms 2022-2025; real-name + age-verification operationally robust by global standards | N/A | N/A | Tencent / NetEase / ByteDance Children-Mode + real-name-based time limits comprehensive | CAC + MIIT active enforcement; NPPA gaming-time-limit enforcement continuous |
|
|
160
160
|
| BR LGPD Art. 14 violations (child data processing without VPC) | No | ANPD TikTok proceeding 2023-2024; ANPD Best-Practices Guide 2024 set operational tone | N/A | N/A | Major Brazilian + multinational platforms aligning to ANPD 2024 Guide | ANPD continuing enforcement |
|
|
161
161
|
| IN DPDPA child-provisions non-compliance | No | DPDP Rules not yet final (draft Jan 2025; final expected late 2026); Data Protection Board not yet operational | N/A | N/A | None — Rules not final, Board not operational | None — Rules pending |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ai-attack-surface
|
|
3
3
|
version: "1.0.0"
|
|
4
|
-
description: Comprehensive AI/ML attack surface assessment mapped to MITRE ATLAS v5.
|
|
4
|
+
description: Comprehensive AI/ML attack surface assessment mapped to MITRE ATLAS v5.4.0 with explicit framework gap flags
|
|
5
5
|
triggers:
|
|
6
6
|
- ai attack surface
|
|
7
7
|
- prompt injection
|
|
@@ -158,12 +158,12 @@ AI-assisted reconnaissance is observed at 36,000 probes per second per campaign.
|
|
|
158
158
|
| SOC 2 | CC6 (Logical and Physical Access) | Access control via IAM, authentication, authorization. Prompt injection is an access control failure that routes around CC6 entirely — the authorized model account takes the action, not the attacker. Audit trails show the model's service account performed the action. |
|
|
159
159
|
| SOC 2 | CC7 (System Operations) | Anomaly detection for system operations. No guidance for AI API baseline, AI C2 detection, or PROMPTFLUX behavioral patterns. |
|
|
160
160
|
| PCI DSS 4.0 | 6.4.1 | Web application protection (WAF). WAFs operate on HTTP request/response patterns. They have no semantic understanding of prompt injection embedded in JSON `message` fields. |
|
|
161
|
-
| MITRE ATT&CK | Enterprise | Does not include prompt injection as a technique. AI-as-C2 (SesameOp) is not in ATT&CK as of mid-2026. ATLAS v5.
|
|
161
|
+
| MITRE ATT&CK | Enterprise | Does not include prompt injection as a technique. AI-as-C2 (SesameOp) is not in ATT&CK as of mid-2026. ATLAS v5.4.0 covers these but is not part of SOC detection engineering programs that are ATT&CK-mapped. |
|
|
162
162
|
| NIST AI RMF | MEASURE 2.5 | Measure AI risks during operation. Provides a framework for thinking about AI risk but no specific controls for prompt injection, MCP supply chain, or AI-as-C2. |
|
|
163
163
|
|
|
164
164
|
---
|
|
165
165
|
|
|
166
|
-
## TTP Mapping (MITRE ATLAS v5.
|
|
166
|
+
## TTP Mapping (MITRE ATLAS v5.4.0)
|
|
167
167
|
|
|
168
168
|
| ATLAS ID | Technique | Framework Coverage | Gap Description | Exploitation Example |
|
|
169
169
|
|---|---|---|---|---|
|
|
@@ -321,13 +321,13 @@ level: medium
|
|
|
321
321
|
|
|
322
322
|
---
|
|
323
323
|
|
|
324
|
-
## TTP Mapping (MITRE ATLAS v5.
|
|
324
|
+
## TTP Mapping (MITRE ATLAS v5.4.0 + MITRE ATT&CK)
|
|
325
325
|
|
|
326
326
|
| ID | Source | Technique | C2 Relevance | Gap Flag — Which Detection Control Fails |
|
|
327
327
|
|---|---|---|---|---|
|
|
328
|
-
| AML.T0096 | ATLAS v5.
|
|
329
|
-
| AML.T0017 | ATLAS v5.
|
|
330
|
-
| AML.T0016 | ATLAS v5.
|
|
328
|
+
| AML.T0096 | ATLAS v5.4.0 | LLM API as covert C2 / LLM Integration Abuse | Direct: SesameOp encodes commands and exfiltrated data in prompt and completion fields against api.openai.com, api.anthropic.com, generativelanguage.googleapis.com. AI provider domain is the relay, not the attacker C2 endpoint. | NIST-800-53-SC-7 (Boundary Protection) — AI provider domains are allowlisted in most enterprise egress for legitimate developer and product use, so boundary inspection cannot distinguish benign developer prompts from C2-encoded prompts. See SC-7 entry in `data/framework-control-gaps.json` — real requirement is SDK-level prompt logging with identity binding, anomaly detection on prompt-shape and token-volume, and an allowlist that enumerates the sanctioned business reason per identity. Boundary-only SC-7 evidence is incomplete for any org with AI API access in production. |
|
|
329
|
+
| AML.T0017 | ATLAS v5.4.0 | Discover ML Model Ontology — adversary maps the deployed LLM's family, system-prompt structure, guardrail surface via inference-API probing | PROMPTFLUX queries public LLMs to generate per-execution evasion code; PROMPTSTEAL uses LLMs to prioritise exfiltration targets — both depend on first discovering what the target model will answer. The inference API is the discovery surface. | NIST-800-53-SI-3 fails — there is no static signature for code generated per-event by a public LLM. NIST-800-53-SI-4 fails as commonly deployed — no AI-API behavioural baseline per process/identity. |
|
|
330
|
+
| AML.T0016 | ATLAS v5.4.0 | Obtain Capabilities: Develop Capabilities — adversary use of inference APIs to generate / refine malware, evasion, phishing payloads | PROMPTFLUX and PROMPTSTEAL both consume public LLMs as a real-time capability-development service. The inference API is doing weaponization work for the adversary. | NIST-800-53-SI-3 fails for the same reason. SC-7 boundary control treats the AI provider as allowlisted SaaS. |
|
|
331
331
|
| T1071 | ATT&CK | Application Layer Protocol (C2) | AI C2 traffic is standard HTTPS REST to api.openai.com or equivalent. Application-protocol C2 detection that looks for DGA, unusual TLS, or beaconing does not fire. | SC-7 boundary control sees only the destination domain (allowlisted) — no protocol anomaly to alert on. Detection requires identity-bound prompt content inspection, which SC-7 as written does not require. |
|
|
332
332
|
| T1102 | ATT&CK | Web Service (C2 via legitimate web service) | AI API endpoints are exactly the "legitimate web service used as C2" pattern that T1102 describes — but at scale and pre-allowlisted in nearly every enterprise. | SOC 2 CC7 anomaly-detection control: AI API traffic shares the SaaS blind spot — typically not baselined per process or identity. ISO 27001 A.8.16 monitoring activities: no guidance for AI-API-shaped traffic. |
|
|
333
333
|
| T1568 | ATT&CK | Dynamic Resolution | AI provider responses can carry encoded instructions that dynamically determine the next-hop behaviour for the malware (effectively model-mediated dynamic resolution of the next attacker instruction). | No standard DNS-tunnelling or DGA detection applies — the "resolution" happens inside an HTTPS payload to a trusted endpoint. SC-7 cannot see it without SDK-level prompt + response logging. |
|
|
@@ -121,7 +121,7 @@ APIs are now the integration substrate of every non-trivial system. The mid-2026
|
|
|
121
121
|
|
|
122
122
|
---
|
|
123
123
|
|
|
124
|
-
## TTP Mapping (MITRE ATT&CK Enterprise + ATLAS v5.
|
|
124
|
+
## TTP Mapping (MITRE ATT&CK Enterprise + ATLAS v5.4.0)
|
|
125
125
|
|
|
126
126
|
| TTP ID | Technique | API Manifestation | CWE Root-Causes | Framework Coverage |
|
|
127
127
|
|---|---|---|---|---|
|
|
@@ -115,17 +115,17 @@ A pen test scoped to layers 1 and (partly) 7 — i.e. "web app + network + nomin
|
|
|
115
115
|
| CBEST (Bank of England / PRA / FCA) | Whole framework | UK equivalent to TIBER-EU for systemically important financial firms. Same lag pattern as TIBER-EU. CBEST-certified providers are not required to demonstrate competence in AI-surface attack emulation as of mid-2026. |
|
|
116
116
|
| Australian ISM (Information Security Manual) + ACSC Essential 8 | ISM controls on penetration testing; Essential 8 Maturity Level 3 testing requirements | Essential 8 mandates regular testing of mitigation strategies (patching, app control, MFA, etc.). The testing requirements do not extend to AI-API egress as C2, MCP trust, or RAG poisoning. ISM control set is network/endpoint centric. |
|
|
117
117
|
| ISO/IEC 27001:2022 | A.5.34 (Privacy and protection of PII) — note: the actually relevant clause for independent review is **A.5.35 (Independent review of information security)** and **A.8.29 (Security testing in development and acceptance)** | A.5.35 requires independent review of the information security approach at planned intervals or when significant changes occur. The clause is methodology-agnostic — auditors accept a network/web pen test as evidence even when AI surfaces are in production. A.8.29 mandates security testing of new and changed information systems, but does not define what an adequate test of an AI system looks like. |
|
|
118
|
-
| MITRE ATT&CK Enterprise (v17) | Whole matrix | The enterprise matrix does not contain prompt-injection as a technique. AI-as-C2 (SesameOp pattern) is absent from ATT&CK as of mid-2026. Adversary emulation programs that are ATT&CK-only and not ATLAS-extended will not include the mid-2026 dominant new tradecraft in their playbooks. ATLAS v5.
|
|
118
|
+
| MITRE ATT&CK Enterprise (v17) | Whole matrix | The enterprise matrix does not contain prompt-injection as a technique. AI-as-C2 (SesameOp pattern) is absent from ATT&CK as of mid-2026. Adversary emulation programs that are ATT&CK-only and not ATLAS-extended will not include the mid-2026 dominant new tradecraft in their playbooks. ATLAS v5.4.0 covers it — but ATLAS is not yet a standard requirement for pen testing certification or scoping. |
|
|
119
119
|
|
|
120
120
|
> Global coverage note (AGENTS.md rule #5): the above table spans US (NIST 800-115, ATT&CK), EU (NIS2, TIBER-EU under DORA), UK (CBEST), AU (ISM/Essential 8), and ISO 27001:2022. US-only pen test scoping is incomplete.
|
|
121
121
|
|
|
122
122
|
---
|
|
123
123
|
|
|
124
|
-
## TTP Mapping (MITRE ATLAS v5.
|
|
124
|
+
## TTP Mapping (MITRE ATLAS v5.4.0 + MITRE ATT&CK v17)
|
|
125
125
|
|
|
126
126
|
Pen testers must emulate both classical and AI-class chains. The table below maps the kill-chain phases a mid-2026 adversary emulation engagement must cover.
|
|
127
127
|
|
|
128
|
-
| Phase | Classical TTP (ATT&CK v17) | AI-Class TTP (ATLAS v5.
|
|
128
|
+
| Phase | Classical TTP (ATT&CK v17) | AI-Class TTP (ATLAS v5.4.0) | Framework Gap Flag |
|
|
129
129
|
|---|---|---|---|
|
|
130
130
|
| Reconnaissance | T1595 (Active Scanning) — implied by T1190 setup | AML.TA0002 (Reconnaissance tactic) — model card / dataset / API endpoint discovery, system-prompt probing | NIST 800-115 §3.x recon guidance is network-only |
|
|
131
131
|
| Initial Access | T1190 (Exploit Public-Facing Application) | AML.T0051 (LLM Prompt Injection) — entered via PR description, support ticket, retrieved doc | OWASP WSTG covers webapp; not prompt-injection as entry vector |
|
|
@@ -135,8 +135,8 @@ Cloud is where AI runs. Every consequential AI service — OpenAI, Anthropic, Go
|
|
|
135
135
|
| Cloud data exfiltration | T1530 — Data from Cloud Storage Object | ATT&CK Enterprise | Public S3 / GCS / Blob storage discovery via Wiz-style external attack-surface scan; legitimate IAM principal exfil via federated workload; cross-tenant boundary failure on SaaS | NIST 800-53 SC-28 (encryption at rest) does not address access-policy errors; CWE-200, CWE-732, CWE-862 |
|
|
136
136
|
| Cloud-facing application | T1190 — Exploit Public-Facing Application | ATT&CK Enterprise | API Gateway / Load Balancer / managed-WAF-bypass; managed-database exposure (RDS / SQL DB / Cloud SQL public IP); container-registry public image abuse; Lambda / Cloud Functions / Azure Functions endpoint exploit | NIST 800-53 SC-7 perimeter assumption inadequate; CSA CCM AIS-04 and IVS-08 partial; CWE-1188 (Insecure Default Initialization) |
|
|
137
137
|
| Cloud-credential exposure | T1552 — Unsecured Credentials (incl. T1552.001 Files, T1552.005 Cloud Instance Metadata API, T1552.007 Container API) | ATT&CK Enterprise | IMDSv1 SSRF on EC2 / GCE; static cloud credentials in git / images / env vars; container API and kubeconfig theft; workload-identity-federation trust-policy abuse | CWE-798 (hardcoded credentials), CWE-200; NIST 800-53 IA-5 method-neutral |
|
|
138
|
-
| AI model registry / cloud-hosted model | AML.T0010 — ML Supply Chain Compromise | ATLAS v5.
|
|
139
|
-
| Cloud inference API abuse / model extraction | AML.T0017 — Discover ML Model Ontology (inference-API probing for system-prompt, guardrail, model-family signal against cloud-hosted endpoints); AML.T0016 — Obtain Capabilities: Develop Capabilities (downstream weaponization) | ATLAS v5.
|
|
138
|
+
| AI model registry / cloud-hosted model | AML.T0010 — ML Supply Chain Compromise | ATLAS v5.4.0 | Bedrock / SageMaker custom model from poisoned upstream; Azure ML model registry tampering; Vertex Model Garden mirror tampering; HF model pulled into Bedrock / SageMaker / Vertex with weights backdoor | CSA CCM CCC-09 (vendor / supply chain) silent on model-supply-chain specifics; SLSA / in-toto / Sigstore for models still maturing |
|
|
139
|
+
| Cloud inference API abuse / model extraction | AML.T0017 — Discover ML Model Ontology (inference-API probing for system-prompt, guardrail, model-family signal against cloud-hosted endpoints); AML.T0016 — Obtain Capabilities: Develop Capabilities (downstream weaponization) | ATLAS v5.4.0 | Programmatic query of Bedrock / Azure OpenAI / Vertex endpoint to extract model behaviour, training-data inference, system-prompt leakage | No cloud-specific ATLAS control mapping for inference-API rate-limit / anomaly detection; chain to `ai-attack-surface` |
|
|
140
140
|
|
|
141
141
|
**Note on ATT&CK Enterprise cloud-platform sub-techniques.** ATT&CK Enterprise has cloud-platform-specific matrices (IaaS, SaaS, Office 365, Azure AD / Entra ID, Google Workspace). T1078.004 (Cloud Accounts), T1552.005 (Cloud Instance Metadata API), T1552.007 (Container API), T1190 with cloud-service variants, T1530 with managed-storage variants are the most operationally relevant. The frontmatter pins the parent IDs; analysis should descend to the sub-technique appropriate to the cloud(s) in scope.
|
|
142
142
|
|
|
@@ -70,7 +70,7 @@ The pre-analyzed gaps for these controls live in the framework-gap-analysis skil
|
|
|
70
70
|
|
|
71
71
|
---
|
|
72
72
|
|
|
73
|
-
## TTP Mapping (MITRE ATLAS v5.
|
|
73
|
+
## TTP Mapping (MITRE ATLAS v5.4.0 and ATT&CK)
|
|
74
74
|
|
|
75
75
|
Each theater pattern below maps to one or more attacker TTPs in `data/atlas-ttps.json` and MITRE ATT&CK Enterprise. The mapping is what distinguishes theater from genuine compliance: a control claimed as compensating must map to a TTP it actually disrupts.
|
|
76
76
|
|
|
@@ -84,7 +84,7 @@ Each theater pattern below maps to one or more attacker TTPs in `data/atlas-ttps
|
|
|
84
84
|
| Vendor/Third-Party Risk Theater — AI APIs (Pattern 6) | AML.T0010 (ML Supply Chain Compromise) | MCP servers and LLM APIs sit outside the vendor-management scope |
|
|
85
85
|
| Security Awareness Theater — AI Phishing (Pattern 7) | T1566 (Phishing), AML.T0016 (Obtain Capabilities: Develop Capabilities — misuse of public AI APIs for payload crafting) | AI-generated content evades grammar/style heuristics and template-matching detectors |
|
|
86
86
|
|
|
87
|
-
Source-of-truth TTP catalog: `data/atlas-ttps.json` (pinned to MITRE ATLAS v5.
|
|
87
|
+
Source-of-truth TTP catalog: `data/atlas-ttps.json` (pinned to MITRE ATLAS v5.4.0, February 2026). Any theater claim in an assessment must cite at least one TTP ID from that catalog or an ATT&CK Enterprise ID — claims without a mapped TTP fail Hard Rule #4 (no orphaned controls).
|
|
88
88
|
|
|
89
89
|
---
|
|
90
90
|
|
|
@@ -126,9 +126,9 @@ State of standards baselines:
|
|
|
126
126
|
| Container escape to host | T1611 — Escape to Host | ATT&CK Enterprise | Kernel LPE (Copy Fail CVE-2026-31431, Dirty Frag CVE-2026-43284 family); historical runc CVE-2024-21626 LeakyVessels family; cgroup v1 release_agent legacy abuses; abuse of overly permissive capabilities (`CAP_SYS_ADMIN`, `CAP_SYS_MODULE`) | NIST 800-190 predates kernel-LPE-as-container-escape as the dominant vector. Defense requires kernel patching cadence (hand off to `kernel-lpe-triage`) plus seccomp default profile, capability drops, read-only rootfs, and runtime detection. None of these are framework-mandated. |
|
|
127
127
|
| Privilege escalation within the container | T1068 — Exploitation for Privilege Escalation | ATT&CK Enterprise | In-container kernel LPE (yields host root via T1611 chain); abuse of writable hostPath; abuse of mounted Docker socket | Method-neutral framework controls; the actual control is seccomp + dropped capabilities + read-only rootfs + non-root runAsUser, all enforced by PSS-Restricted profile |
|
|
128
128
|
| Exploit public-facing K8s component | T1190 — Exploit Public-Facing Application | ATT&CK Enterprise | Exposed kube-apiserver (rare but seen on self-managed clusters); exposed kubelet read-only port (10255) or read/write port (10250) without authentication; exposed Kubernetes Dashboard with no auth; exposed Argo CD or Jenkins on the cluster; ingress controller CVEs (ingress-nginx CVE-2025 family) | NSA/CISA Hardening Guide v1.2 addresses control-plane exposure; managed services close this by default; self-managed clusters in CI/government still expose these |
|
|
129
|
-
| Compromised container image at a public/private registry | AML.T0010 — ML Supply Chain Compromise (umbrella) | ATLAS v5.
|
|
129
|
+
| Compromised container image at a public/private registry | AML.T0010 — ML Supply Chain Compromise (umbrella) | ATLAS v5.4.0 | Poisoned base image; backdoored model-serving image; typosquatted MCP server in a sidecar; AI-pipeline-specific (KServe / vLLM / Triton image with embedded malicious payload) | ATLAS classifies; no framework mandates signature verification at admission. Hand off the build-side provenance to `supply-chain-integrity`; the container-runtime control is `ClusterImagePolicy` enforcement |
|
|
130
130
|
|
|
131
|
-
ATT&CK Containers matrix (sub-matrix, since 2021) and ATT&CK for Kubernetes (Microsoft's threat matrix, 2020, since absorbed conceptually into ATT&CK Containers) are both relevant prior art. The Enterprise IDs above are canonical in ATLAS v5.
|
|
131
|
+
ATT&CK Containers matrix (sub-matrix, since 2021) and ATT&CK for Kubernetes (Microsoft's threat matrix, 2020, since absorbed conceptually into ATT&CK Containers) are both relevant prior art. The Enterprise IDs above are canonical in ATLAS v5.4.0 alignment and pass the linter regex `^T\d{4}(\.\d{3})?$`.
|
|
132
132
|
|
|
133
133
|
CWE cross-walk (see `data/cwe-catalog.json`):
|
|
134
134
|
|
|
@@ -106,7 +106,7 @@ This skill is meta — it is the upstream input pipeline that feeds the downstre
|
|
|
106
106
|
|---|---|
|
|
107
107
|
| `data/cve-catalog.json` | **Downstream product.** Every CVE in this catalog is the output of a CVD process (someone's, somewhere). When this org receives a report covering one of its own products, the resulting CVE enters this catalog via the same schema. |
|
|
108
108
|
| `data/zeroday-lessons.json` | **Downstream consumer.** Every disclosed CVE feeds the zero-day learning loop run by `zeroday-gap-learn`. A CVD program with no entries here is not learning from its own disclosures. |
|
|
109
|
-
| `data/atlas-ttps.json` (MITRE ATLAS v5.
|
|
109
|
+
| `data/atlas-ttps.json` (MITRE ATLAS v5.4.0) | **Lookup for AI-class disclosures.** When a report covers an AI vulnerability, map the attack mechanism to an ATLAS TTP (e.g., AML.T0051 LLM Prompt Injection, AML.T0096 LLM Plugin Compromise) for advisory tagging. |
|
|
110
110
|
| `data/framework-control-gaps.json` | **Lookup for regulator-notification routing.** Each disclosure intersects one or more framework controls; this skill writes new gaps when a disclosure exposes one. |
|
|
111
111
|
| `data/cwe-catalog.json` | **Required taxonomy for advisories.** Per CVE-Numbering-Authority practice, every CVE advisory cites a CWE. `CWE-1357 Reliance on Insufficiently Trustworthy Component` is invoked for supply-chain disclosures (MCP servers, AI dependencies); other CWEs per the specific class. |
|
|
112
112
|
| `data/d3fend-catalog.json` | **Defensive mapping for advisory recommendations.** Advisories that recommend mitigations should cite D3FEND IDs so blue teams can map the recommendation to existing control surfaces. See Defensive Countermeasure Mapping section. |
|