@clear-capabilities/agentic-security-scanner 0.133.0 → 0.136.2

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.
Files changed (111) hide show
  1. package/CHANGELOG.md +299 -0
  2. package/bin/agentic-security-audit.js +2 -1
  3. package/bin/agentic-security-consistency.js +2 -1
  4. package/bin/agentic-security.js +348 -40
  5. package/dist/113.index.js +6 -6
  6. package/dist/117.index.js +3 -1
  7. package/dist/178.index.js +1 -1
  8. package/dist/220.index.js +5 -3
  9. package/dist/238.index.js +4 -4
  10. package/dist/317.index.js +270 -0
  11. package/dist/384.index.js +1 -1
  12. package/dist/435.index.js +13 -7
  13. package/dist/499.index.js +86 -0
  14. package/dist/513.index.js +7 -3
  15. package/dist/526.index.js +6 -6
  16. package/dist/609.index.js +741 -0
  17. package/dist/637.index.js +1 -1
  18. package/dist/675.index.js +7 -5
  19. package/dist/839.index.js +4 -3
  20. package/dist/905.index.js +1173 -0
  21. package/dist/agentic-security.mjs +56 -56
  22. package/dist/agentic-security.mjs.sha256 +1 -1
  23. package/dist/compliance-frameworks/ccpa.json +32 -0
  24. package/dist/compliance-frameworks/eu-ai-act.json +51 -0
  25. package/dist/compliance-frameworks/gdpr.json +45 -0
  26. package/dist/compliance-frameworks/hipaa-security-rule.json +56 -0
  27. package/dist/compliance-frameworks/nist-ai-600-1.json +51 -0
  28. package/dist/compliance-frameworks/nist-csf-2.json +73 -0
  29. package/dist/compliance-frameworks/nist-privacy-1-1.json +846 -0
  30. package/dist/compliance-frameworks/owasp-asvs-5.json +79 -0
  31. package/dist/compliance-frameworks/owasp-llm-top-10.json +69 -0
  32. package/package.json +14 -6
  33. package/src/badge.js +2 -1
  34. package/src/dataflow/cross-service-taint.js +2 -1
  35. package/src/dataflow/ifds-precise.js +6 -4
  36. package/src/dataflow/incremental.js +7 -5
  37. package/src/discovery/CLAUDE.md +48 -0
  38. package/src/discovery/confirm.js +47 -0
  39. package/src/discovery/disprove.js +79 -0
  40. package/src/discovery/hunter.js +116 -0
  41. package/src/discovery/index.js +331 -0
  42. package/src/discovery/judge.js +97 -0
  43. package/src/discovery/lenses.js +69 -0
  44. package/src/discovery/llm-invoke.js +120 -0
  45. package/src/discovery/memory.js +163 -0
  46. package/src/discovery/partition.js +92 -0
  47. package/src/engine.js +163 -7
  48. package/src/integrations/tickets.js +7 -6
  49. package/src/ir/ir-stats.js +1 -1
  50. package/src/ir/parser-cpp.js +1 -1
  51. package/src/leaderboard.js +3 -2
  52. package/src/llm-validator/consistency.js +6 -2
  53. package/src/llm-validator/index.js +30 -41
  54. package/src/llm-validator/providers.js +227 -0
  55. package/src/mcp/audit.js +2 -1
  56. package/src/mcp/tools.js +4 -3
  57. package/src/posture/CLAUDE.md +102 -1
  58. package/src/posture/accuracy-scorecard.js +59 -1
  59. package/src/posture/agents-memory.js +5 -3
  60. package/src/posture/auditor-walkthrough.js +9 -7
  61. package/src/posture/auth-posture-import.js +5 -4
  62. package/src/posture/autopilot.js +225 -0
  63. package/src/posture/comparison.js +181 -0
  64. package/src/posture/compliance-frameworks/nist-privacy-1-1.json +846 -0
  65. package/src/posture/compliance-policy.js +7 -9
  66. package/src/posture/custom-rules.js +7 -5
  67. package/src/posture/cve-alert-daemon.js +6 -5
  68. package/src/posture/dep-add-guard.js +2 -1
  69. package/src/posture/deterministic.js +3 -2
  70. package/src/posture/evidence-bundle.js +246 -0
  71. package/src/posture/execution-proof.js +25 -1
  72. package/src/posture/exploitability-probability.js +2 -1
  73. package/src/posture/feature-flags.js +3 -2
  74. package/src/posture/findings-memory.js +3 -3
  75. package/src/posture/fix-history.js +5 -2
  76. package/src/posture/fix-metrics.js +5 -5
  77. package/src/posture/fix-plan.js +2 -1
  78. package/src/posture/fleet.js +0 -0
  79. package/src/posture/grader-calibration.js +3 -4
  80. package/src/posture/intent-context.js +2 -1
  81. package/src/posture/learning.js +4 -3
  82. package/src/posture/license-attributions.js +5 -7
  83. package/src/posture/license-graph.js +2 -1
  84. package/src/posture/license-policy.js +2 -1
  85. package/src/posture/logic-claims.js +266 -0
  86. package/src/posture/model-rescan.js +4 -3
  87. package/src/posture/network-policy-import.js +3 -2
  88. package/src/posture/poc-inprocess.js +404 -2
  89. package/src/posture/pqc-migration-plan.js +7 -5
  90. package/src/posture/pr-augment.js +8 -5
  91. package/src/posture/privacy-framework.js +262 -0
  92. package/src/posture/proof-artifact.js +101 -0
  93. package/src/posture/prove-findings.js +28 -4
  94. package/src/posture/risk-dollars.js +2 -2
  95. package/src/posture/router.js +5 -4
  96. package/src/posture/ruleset-version.js +2 -2
  97. package/src/posture/runtime-correlation.js +2 -1
  98. package/src/posture/sbom-diff.js +12 -3
  99. package/src/posture/sca-policy.js +7 -4
  100. package/src/posture/scan-checkpoint.js +15 -0
  101. package/src/posture/state-dir.js +34 -0
  102. package/src/posture/telemetry-ingest.js +4 -3
  103. package/src/posture/threat-model-auto.js +4 -1
  104. package/src/posture/threat-model-grounding.js +11 -1
  105. package/src/posture/time-to-fix.js +3 -2
  106. package/src/posture/triage-memory.js +3 -2
  107. package/src/posture/waf-ingest.js +6 -5
  108. package/src/posture/watch-mode.js +4 -3
  109. package/src/report/index.js +9 -0
  110. package/src/sast/code-injection-multilang.js +29 -0
  111. package/src/sca/dep-confusion.js +2 -1
@@ -0,0 +1,846 @@
1
+ {
2
+ "id": "nist-privacy-1-1",
3
+ "name": "NIST Privacy Framework 1.1",
4
+ "publisher": "NIST",
5
+ "license": "public-domain (US Federal publication)",
6
+ "url": "https://www.nist.gov/privacy-framework",
7
+ "note": "Each control carries NIST's own `codeTestable` rating (yes/partial/no). That rating says whether a control COULD be assessed from source code — it does not say this engine assesses it. `mapsTo` is present only where this engine produces a real signal; a control that NIST rates testable but which this engine cannot see is reported as an ENGINE GAP rather than silently passed.",
8
+ "controls": [
9
+ {
10
+ "id": "ID.IM-P1",
11
+ "function": "IDENTIFY-P (ID-P)",
12
+ "category": "Inventory and Mapping (ID.IM-P)",
13
+ "summary": "Systems/products/services that process data are inventoried.",
14
+ "codeTestable": "partial",
15
+ "mapsTo": [
16
+ "module:sbom-diff",
17
+ "module:threat-model-auto"
18
+ ]
19
+ },
20
+ {
21
+ "id": "ID.IM-P2",
22
+ "function": "IDENTIFY-P (ID-P)",
23
+ "category": "Inventory and Mapping (ID.IM-P)",
24
+ "summary": "Owners or operators (e.g., the organization or third parties such as service providers, partners, customers, and developers) and their roles with respect to the systems/products/services and components (e.g., internal or external) that process data are inventoried.",
25
+ "codeTestable": "partial"
26
+ },
27
+ {
28
+ "id": "ID.IM-P3",
29
+ "function": "IDENTIFY-P (ID-P)",
30
+ "category": "Inventory and Mapping (ID.IM-P)",
31
+ "summary": "Categories of individuals (e.g., customers, employees or prospective employees, consumers) whose data are being processed are inventoried.",
32
+ "codeTestable": "no"
33
+ },
34
+ {
35
+ "id": "ID.IM-P4",
36
+ "function": "IDENTIFY-P (ID-P)",
37
+ "category": "Inventory and Mapping (ID.IM-P)",
38
+ "summary": "Data actions of the systems/products/services are inventoried.",
39
+ "codeTestable": "partial",
40
+ "mapsTo": [
41
+ "module:privacy-taint"
42
+ ]
43
+ },
44
+ {
45
+ "id": "ID.IM-P5",
46
+ "function": "IDENTIFY-P (ID-P)",
47
+ "category": "Inventory and Mapping (ID.IM-P)",
48
+ "summary": "The purposes for the data actions are inventoried.",
49
+ "codeTestable": "no"
50
+ },
51
+ {
52
+ "id": "ID.IM-P6",
53
+ "function": "IDENTIFY-P (ID-P)",
54
+ "category": "Inventory and Mapping (ID.IM-P)",
55
+ "summary": "Data elements within the data actions are inventoried.",
56
+ "codeTestable": "partial",
57
+ "mapsTo": [
58
+ "module:privacy-taint"
59
+ ]
60
+ },
61
+ {
62
+ "id": "ID.IM-P7",
63
+ "function": "IDENTIFY-P (ID-P)",
64
+ "category": "Inventory and Mapping (ID.IM-P)",
65
+ "summary": "The data processing environment is identified (e.g., geographic location, internal, cloud, third parties).",
66
+ "codeTestable": "partial",
67
+ "mapsTo": [
68
+ "module:threat-model-auto"
69
+ ]
70
+ },
71
+ {
72
+ "id": "ID.IM-P8",
73
+ "function": "IDENTIFY-P (ID-P)",
74
+ "category": "Inventory and Mapping (ID.IM-P)",
75
+ "summary": "Data processing is mapped, illustrating the data actions and associated data elements for systems/products/services, including components; roles of the component owners/operators; and interactions of individuals or third parties with the systems/products/services.",
76
+ "codeTestable": "partial",
77
+ "mapsTo": [
78
+ "module:privacy-taint",
79
+ "module:threat-model-auto"
80
+ ]
81
+ },
82
+ {
83
+ "id": "ID.BE-P1",
84
+ "function": "IDENTIFY-P (ID-P)",
85
+ "category": "Business Environment (ID.BE-P)",
86
+ "summary": "The organization’s role(s) in the data processing ecosystem are identified, communicated, and understood.",
87
+ "codeTestable": "no"
88
+ },
89
+ {
90
+ "id": "ID.BE-P2",
91
+ "function": "IDENTIFY-P (ID-P)",
92
+ "category": "Business Environment (ID.BE-P)",
93
+ "summary": "The organizational mission is identified, communicated, and understood and informs privacy risk management.",
94
+ "codeTestable": "no"
95
+ },
96
+ {
97
+ "id": "ID.BE-P3",
98
+ "function": "IDENTIFY-P (ID-P)",
99
+ "category": "Business Environment (ID.BE-P)",
100
+ "summary": "Systems/products/services that support organizational priorities are identified and key requirements communicated and understood.",
101
+ "codeTestable": "partial",
102
+ "mapsTo": [
103
+ "module:threat-model-auto"
104
+ ]
105
+ },
106
+ {
107
+ "id": "ID.BE-P4",
108
+ "function": "IDENTIFY-P (ID-P)",
109
+ "category": "Business Environment (ID.BE-P)",
110
+ "summary": "Data processing ecosystem parties (e.g., service providers, customers, partners, product manufacturers, application developers) are identified and prioritized.",
111
+ "codeTestable": "no"
112
+ },
113
+ {
114
+ "id": "ID.BE-P5",
115
+ "function": "IDENTIFY-P (ID-P)",
116
+ "category": "Business Environment (ID.BE-P)",
117
+ "summary": "Objectives, capabilities, and services that stakeholders depend on or expect from the organization are identified, communicated, and understood.",
118
+ "codeTestable": "no"
119
+ },
120
+ {
121
+ "id": "ID.BE-P6",
122
+ "function": "IDENTIFY-P (ID-P)",
123
+ "category": "Business Environment (ID.BE-P)",
124
+ "summary": "Outcomes, capabilities, and services that the organization depends on are identified, communicated, and understood.",
125
+ "codeTestable": "no"
126
+ },
127
+ {
128
+ "id": "ID.RA-P1",
129
+ "function": "IDENTIFY-P (ID-P)",
130
+ "category": "Risk Assessment (ID.RA-P)",
131
+ "summary": "Contextual factors related to the systems/products/services and the data actions are identified (e.g., individuals’ demographics and privacy interests or perceptions, data sensitivity and/or types, visibility of data processing to individuals and third parties).",
132
+ "codeTestable": "no"
133
+ },
134
+ {
135
+ "id": "ID.RA-P3",
136
+ "function": "IDENTIFY-P (ID-P)",
137
+ "category": "Risk Assessment (ID.RA-P)",
138
+ "summary": "Potential problematic data actions and associated problems are identified.",
139
+ "codeTestable": "partial",
140
+ "mapsTo": [
141
+ "family:pii-exposure",
142
+ "module:threat-model-auto"
143
+ ]
144
+ },
145
+ {
146
+ "id": "ID.RA-P4",
147
+ "function": "IDENTIFY-P (ID-P)",
148
+ "category": "Risk Assessment (ID.RA-P)",
149
+ "summary": "Problematic data actions, likelihoods, and impacts are used to determine and prioritize risk.",
150
+ "codeTestable": "no"
151
+ },
152
+ {
153
+ "id": "ID.RA-P5",
154
+ "function": "IDENTIFY-P (ID-P)",
155
+ "category": "Risk Assessment (ID.RA-P)",
156
+ "summary": "Risk responses are identified, prioritized, and implemented.",
157
+ "codeTestable": "no"
158
+ },
159
+ {
160
+ "id": "ID.RA-P6",
161
+ "function": "IDENTIFY-P (ID-P)",
162
+ "category": "Risk Assessment (ID.RA-P)",
163
+ "summary": "Data processing ecosystem parties (e.g., service providers, customers, partners, product manufacturers, application developers) are assessed using a privacy risk assessment process.",
164
+ "codeTestable": "no"
165
+ },
166
+ {
167
+ "id": "GV.PO-P1",
168
+ "function": "GOVERN-P (GV-P)",
169
+ "category": "Governance Policies, Processes, and Procedures (GV.PO-P)",
170
+ "summary": "Organizational privacy values and policies (e.g., conditions on data processing such as data uses or retention periods, individuals’ prerogatives with respect to data processing) are established, communicated, and enforced.",
171
+ "codeTestable": "no"
172
+ },
173
+ {
174
+ "id": "GV.PO-P2",
175
+ "function": "GOVERN-P (GV-P)",
176
+ "category": "Governance Policies, Processes, and Procedures (GV.PO-P)",
177
+ "summary": "Processes to instill organizational privacy values within system/product/service development and operations are established and in place.",
178
+ "codeTestable": "partial",
179
+ "mapsTo": [
180
+ "module:compliance-policy"
181
+ ]
182
+ },
183
+ {
184
+ "id": "GV.PO-P5",
185
+ "function": "GOVERN-P (GV-P)",
186
+ "category": "Governance Policies, Processes, and Procedures (GV.PO-P)",
187
+ "summary": "Legal, regulatory, and contractual requirements regarding privacy are understood and managed.",
188
+ "codeTestable": "no"
189
+ },
190
+ {
191
+ "id": "GV.PO-P6",
192
+ "function": "GOVERN-P (GV-P)",
193
+ "category": "Governance Policies, Processes, and Procedures (GV.PO-P)",
194
+ "summary": "Governance and enterprise risk management policies, processes, and procedures address privacy risks.",
195
+ "codeTestable": "no"
196
+ },
197
+ {
198
+ "id": "GV.PO-P7",
199
+ "function": "GOVERN-P (GV-P)",
200
+ "category": "Governance Policies, Processes, and Procedures (GV.PO-P)",
201
+ "summary": "Privacy procedures are included in human resources practices (e.g., deprovisioning, personnel screening).",
202
+ "codeTestable": "no"
203
+ },
204
+ {
205
+ "id": "GV.RM-P1",
206
+ "function": "GOVERN-P (GV-P)",
207
+ "category": "Risk Management Strategy (GV.RM-P)",
208
+ "summary": "Risk management objectives and processes are established, managed, and agreed to by organizational stakeholders.",
209
+ "codeTestable": "no"
210
+ },
211
+ {
212
+ "id": "GV.RM-P2",
213
+ "function": "GOVERN-P (GV-P)",
214
+ "category": "Risk Management Strategy (GV.RM-P)",
215
+ "summary": "The organization’s risk appetite and risk tolerance are determined and communicated and are informed by the organization's role(s) in the data processing ecosystem.",
216
+ "codeTestable": "no"
217
+ },
218
+ {
219
+ "id": "GV.RM-P4",
220
+ "function": "GOVERN-P (GV-P)",
221
+ "category": "Risk Management Strategy (GV.RM-P)",
222
+ "summary": "Strategic direction that describes appropriate risk response options is established and communicated.",
223
+ "codeTestable": "no"
224
+ },
225
+ {
226
+ "id": "GV.RM-P5",
227
+ "function": "GOVERN-P (GV-P)",
228
+ "category": "Risk Management Strategy (GV.RM-P)",
229
+ "summary": "Lines of communication across the organization are established for privacy risks, including risks from data processing ecosystem parties.",
230
+ "codeTestable": "no"
231
+ },
232
+ {
233
+ "id": "GV.RM-P6",
234
+ "function": "GOVERN-P (GV-P)",
235
+ "category": "Risk Management Strategy (GV.RM-P)",
236
+ "summary": "A standardized method for calculating, documenting, categorizing, and prioritizing privacy risks is established and communicated.",
237
+ "codeTestable": "no"
238
+ },
239
+ {
240
+ "id": "GV.RM-P7",
241
+ "function": "GOVERN-P (GV-P)",
242
+ "category": "Risk Management Strategy (GV.RM-P)",
243
+ "summary": "Strategic opportunities (i.e., positive risks) are characterized and included in organizational privacy risk discussions",
244
+ "codeTestable": "no"
245
+ },
246
+ {
247
+ "id": "GV.OV-P1",
248
+ "function": "GOVERN-P (GV-P)",
249
+ "category": "Oversight (GV.OV-P)",
250
+ "summary": "Privacy risk management strategy outcomes are reviewed to inform and adjust strategy and direction.",
251
+ "codeTestable": "no"
252
+ },
253
+ {
254
+ "id": "GV.OV-P2",
255
+ "function": "GOVERN-P (GV-P)",
256
+ "category": "Oversight (GV.OV-P)",
257
+ "summary": "The privacy risk management strategy is reviewed and adjusted to ensure coverage of organizational requirements and risks.",
258
+ "codeTestable": "no"
259
+ },
260
+ {
261
+ "id": "GV.OV-P3",
262
+ "function": "GOVERN-P (GV-P)",
263
+ "category": "Oversight (GV.OV-P)",
264
+ "summary": "Organizational privacy risk management performance is measured and reviewed to confirm and adjust strategic direction.",
265
+ "codeTestable": "no"
266
+ },
267
+ {
268
+ "id": "GV.RR-P1",
269
+ "function": "GOVERN-P (GV-P)",
270
+ "category": "Roles, Responsibilities, and Authorities (GV.RR-P)",
271
+ "summary": "Organizational leadership is responsible and accountable for privacy risk and fosters a culture that is risk-aware, ethical, and continually improving",
272
+ "codeTestable": "no"
273
+ },
274
+ {
275
+ "id": "GV.RR-P2",
276
+ "function": "GOVERN-P (GV-P)",
277
+ "category": "Roles, Responsibilities, and Authorities (GV.RR-P)",
278
+ "summary": "Roles and responsibilities for the workforce are established with respect to privacy.",
279
+ "codeTestable": "no"
280
+ },
281
+ {
282
+ "id": "GV.RR-P3",
283
+ "function": "GOVERN-P (GV-P)",
284
+ "category": "Roles, Responsibilities, and Authorities (GV.RR-P)",
285
+ "summary": "Privacy roles and responsibilities are coordinated and aligned with external stakeholders (e.g., service providers, customers, partners).",
286
+ "codeTestable": "no"
287
+ },
288
+ {
289
+ "id": "GV.RR-P4",
290
+ "function": "GOVERN-P (GV-P)",
291
+ "category": "Roles, Responsibilities, and Authorities (GV.RR-P)",
292
+ "summary": "Adequate resources are allocated commensurate with privacy risk strategy, roles and responsibilities, and policies.",
293
+ "codeTestable": "no"
294
+ },
295
+ {
296
+ "id": "GV.DE-P1",
297
+ "function": "GOVERN-P (GV-P)",
298
+ "category": "Data Processing Ecosystem Risk Management (GV.DE-P)",
299
+ "summary": "Data processing ecosystem risk management strategy, objectives, policies, and processes are established and agreed to by organizational stakeholders.",
300
+ "codeTestable": "no"
301
+ },
302
+ {
303
+ "id": "GV.DE-P2",
304
+ "function": "GOVERN-P (GV-P)",
305
+ "category": "Data Processing Ecosystem Risk Management (GV.DE-P)",
306
+ "summary": "Contracts with data processing ecosystem parties are used to implement appropriate measures designed to meet the objectives of an organization’s privacy program.",
307
+ "codeTestable": "no"
308
+ },
309
+ {
310
+ "id": "GV.DE-P3",
311
+ "function": "GOVERN-P (GV-P)",
312
+ "category": "Data Processing Ecosystem Risk Management (GV.DE-P)",
313
+ "summary": "Interoperability frameworks or similar multi-party approaches are used to manage data processing ecosystem privacy risks.",
314
+ "codeTestable": "partial"
315
+ },
316
+ {
317
+ "id": "GV.DE-P4",
318
+ "function": "GOVERN-P (GV-P)",
319
+ "category": "Data Processing Ecosystem Risk Management (GV.DE-P)",
320
+ "summary": "Data processing ecosystem parties are routinely assessed using audits, test results, or other forms of evaluations to confirm they are meeting their contractual, interoperability framework, or other obligations.",
321
+ "codeTestable": "no"
322
+ },
323
+ {
324
+ "id": "GV.DE-P5",
325
+ "function": "GOVERN-P (GV-P)",
326
+ "category": "Data Processing Ecosystem Risk Management (GV.DE-P)",
327
+ "summary": "Data processing ecosystem risk management is integrated into privacy and enterprise risk management, risk assessment, and improvement processes.",
328
+ "codeTestable": "no"
329
+ },
330
+ {
331
+ "id": "GV.AT-P1",
332
+ "function": "GOVERN-P (GV-P)",
333
+ "category": "Awareness and Training (GV.AT-P)",
334
+ "summary": "Personnel are provided with awareness and training so that they possess the knowledge and skills to perform privacy-related tasks.",
335
+ "codeTestable": "no"
336
+ },
337
+ {
338
+ "id": "GV.AT-P2",
339
+ "function": "GOVERN-P (GV-P)",
340
+ "category": "Awareness and Training (GV.AT-P)",
341
+ "summary": "Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform privacy-related tasks.",
342
+ "codeTestable": "no"
343
+ },
344
+ {
345
+ "id": "GV.MT-P1",
346
+ "function": "GOVERN-P (GV-P)",
347
+ "category": "Monitoring and Review (GV.MT-P)",
348
+ "summary": "Privacy risk is re-evaluated on an ongoing basis and as key factors, including the organization’s business environment (e.g., introduction of new technologies), governance (e.g., legal obligations, risk tolerance), data processing, and systems/products/services change.",
349
+ "codeTestable": "no"
350
+ },
351
+ {
352
+ "id": "GV.MT-P2",
353
+ "function": "GOVERN-P (GV-P)",
354
+ "category": "Monitoring and Review (GV.MT-P)",
355
+ "summary": "Privacy values, policies, and training are reviewed and any updates are communicated.",
356
+ "codeTestable": "no"
357
+ },
358
+ {
359
+ "id": "GV.MT-P3",
360
+ "function": "GOVERN-P (GV-P)",
361
+ "category": "Monitoring and Review (GV.MT-P)",
362
+ "summary": "Policies, processes, and procedures for assessing compliance with legal requirements and privacy policies are established and in place.",
363
+ "codeTestable": "no"
364
+ },
365
+ {
366
+ "id": "GV.MT-P4",
367
+ "function": "GOVERN-P (GV-P)",
368
+ "category": "Monitoring and Review (GV.MT-P)",
369
+ "summary": "Policies, processes, and procedures for communicating progress on managing privacy risks are established and in place.",
370
+ "codeTestable": "no"
371
+ },
372
+ {
373
+ "id": "GV.MT-P5",
374
+ "function": "GOVERN-P (GV-P)",
375
+ "category": "Monitoring and Review (GV.MT-P)",
376
+ "summary": "Policies, processes, and procedures are established and in place to receive, analyze, and respond to problematic data actions disclosed to the organization from internal and external sources (e.g., internal discovery, privacy researchers, professional events).",
377
+ "codeTestable": "no"
378
+ },
379
+ {
380
+ "id": "GV.MT-P6",
381
+ "function": "GOVERN-P (GV-P)",
382
+ "category": "Monitoring and Review (GV.MT-P)",
383
+ "summary": "Policies, processes, and procedures incorporate lessons learned from problematic data actions.",
384
+ "codeTestable": "no"
385
+ },
386
+ {
387
+ "id": "GV.MT-P7",
388
+ "function": "GOVERN-P (GV-P)",
389
+ "category": "Monitoring and Review (GV.MT-P)",
390
+ "summary": "Policies, processes, and procedures for receiving, tracking, and responding to complaints, concerns, and questions from individuals about organizational privacy practices are established and in place.",
391
+ "codeTestable": "no"
392
+ },
393
+ {
394
+ "id": "CT.PO-P1",
395
+ "function": "CONTROL-P (CT-P)",
396
+ "category": "Data Processing Policies, Processes, and Procedures (CT.PO-P)",
397
+ "summary": "Policies, processes, and procedures for authorizing data processing (e.g., organizational decisions, individual consent), revoking authorizations, and maintaining authorizations are established and in place.",
398
+ "codeTestable": "partial",
399
+ "mapsTo": [
400
+ "module:compliance-policy"
401
+ ]
402
+ },
403
+ {
404
+ "id": "CT.PO-P2",
405
+ "function": "CONTROL-P (CT-P)",
406
+ "category": "Data Processing Policies, Processes, and Procedures (CT.PO-P)",
407
+ "summary": "Policies, processes, and procedures for enabling data review, transfer, sharing or disclosure, alteration, and deletion are established and in place (e.g., to maintain data quality, manage data retention).",
408
+ "codeTestable": "partial",
409
+ "mapsTo": [
410
+ "module:compliance-policy"
411
+ ]
412
+ },
413
+ {
414
+ "id": "CT.PO-P3",
415
+ "function": "CONTROL-P (CT-P)",
416
+ "category": "Data Processing Policies, Processes, and Procedures (CT.PO-P)",
417
+ "summary": "Policies, processes, and procedures for enabling individuals’ data processing preferences and requests are established and in place.",
418
+ "codeTestable": "partial"
419
+ },
420
+ {
421
+ "id": "CT.PO-P4",
422
+ "function": "CONTROL-P (CT-P)",
423
+ "category": "Data Processing Policies, Processes, and Procedures (CT.PO-P)",
424
+ "summary": "A data life cycle to manage data is aligned and implemented with the system development life cycle to manage systems.",
425
+ "codeTestable": "partial"
426
+ },
427
+ {
428
+ "id": "CT.DM-P1",
429
+ "function": "CONTROL-P (CT-P)",
430
+ "category": "Data Processing Management (CT.DM-P)",
431
+ "summary": "Data elements can be accessed for review.",
432
+ "codeTestable": "yes"
433
+ },
434
+ {
435
+ "id": "CT.DM-P2",
436
+ "function": "CONTROL-P (CT-P)",
437
+ "category": "Data Processing Management (CT.DM-P)",
438
+ "summary": "Data elements can be accessed for transmission or disclosure.",
439
+ "codeTestable": "yes"
440
+ },
441
+ {
442
+ "id": "CT.DM-P3",
443
+ "function": "CONTROL-P (CT-P)",
444
+ "category": "Data Processing Management (CT.DM-P)",
445
+ "summary": "Data elements can be accessed for alteration.",
446
+ "codeTestable": "yes"
447
+ },
448
+ {
449
+ "id": "CT.DM-P4",
450
+ "function": "CONTROL-P (CT-P)",
451
+ "category": "Data Processing Management (CT.DM-P)",
452
+ "summary": "Data elements can be accessed for deletion.",
453
+ "codeTestable": "yes"
454
+ },
455
+ {
456
+ "id": "CT.DM-P5",
457
+ "function": "CONTROL-P (CT-P)",
458
+ "category": "Data Processing Management (CT.DM-P)",
459
+ "summary": "Data are destroyed according to policy.",
460
+ "codeTestable": "partial"
461
+ },
462
+ {
463
+ "id": "CT.DM-P6",
464
+ "function": "CONTROL-P (CT-P)",
465
+ "category": "Data Processing Management (CT.DM-P)",
466
+ "summary": "Data are transmitted using standardized formats.",
467
+ "codeTestable": "yes",
468
+ "mapsTo": [
469
+ "family:crypto-tls-version",
470
+ "family:crypto-tls-no-verify"
471
+ ]
472
+ },
473
+ {
474
+ "id": "CT.DM-P7",
475
+ "function": "CONTROL-P (CT-P)",
476
+ "category": "Data Processing Management (CT.DM-P)",
477
+ "summary": "Mechanisms for transmitting processing permissions are established and in place.",
478
+ "codeTestable": "yes"
479
+ },
480
+ {
481
+ "id": "CT.DM-P8",
482
+ "function": "CONTROL-P (CT-P)",
483
+ "category": "Data Processing Management (CT.DM-P)",
484
+ "summary": "Mechanisms for transmitting data elements in accordance with processing permissions are established and in place.",
485
+ "codeTestable": "yes"
486
+ },
487
+ {
488
+ "id": "CT.DM-P9",
489
+ "function": "CONTROL-P (CT-P)",
490
+ "category": "Data Processing Management (CT.DM-P)",
491
+ "summary": "Log records are determined, documented, implemented, and reviewed in accordance with policy and incorporating the principle of data minimization.",
492
+ "codeTestable": "partial",
493
+ "mapsTo": [
494
+ "module:scan-history",
495
+ "module:mcp-audit"
496
+ ]
497
+ },
498
+ {
499
+ "id": "CT.DM-P10",
500
+ "function": "CONTROL-P (CT-P)",
501
+ "category": "Data Processing Management (CT.DM-P)",
502
+ "summary": "Technical measures implemented to manage data processing are tested and assessed.",
503
+ "codeTestable": "yes",
504
+ "mapsTo": [
505
+ "module:fix-history"
506
+ ]
507
+ },
508
+ {
509
+ "id": "CT.DM-P11",
510
+ "function": "CONTROL-P (CT-P)",
511
+ "category": "Data Processing Management (CT.DM-P)",
512
+ "summary": "Stakeholder privacy preferences are included in algorithmic design objectives and outputs are evaluated against these preferences.",
513
+ "codeTestable": "partial"
514
+ },
515
+ {
516
+ "id": "CT.DP-P1",
517
+ "function": "CONTROL-P (CT-P)",
518
+ "category": "Disassociated Processing (CT.DP-P)",
519
+ "summary": "Data are processed to limit observability, linkability, and singling out (e.g., data actions take place on local devices, privacy-preserving cryptography).",
520
+ "codeTestable": "yes",
521
+ "mapsTo": [
522
+ "family:pii-exposure",
523
+ "family:data-exposure"
524
+ ]
525
+ },
526
+ {
527
+ "id": "CT.DP-P2",
528
+ "function": "CONTROL-P (CT-P)",
529
+ "category": "Disassociated Processing (CT.DP-P)",
530
+ "summary": "Data are processed to limit the identification of individuals (e.g., de-identification privacy techniques, tokenization).",
531
+ "codeTestable": "yes",
532
+ "mapsTo": [
533
+ "family:pii-exposure",
534
+ "module:privacy-taint"
535
+ ]
536
+ },
537
+ {
538
+ "id": "CT.DP-P3",
539
+ "function": "CONTROL-P (CT-P)",
540
+ "category": "Disassociated Processing (CT.DP-P)",
541
+ "summary": "Data are processed to limit the formulation of inferences about individuals’ behavior or activities (e.g., data processing is decentralized, distributed architectures).",
542
+ "codeTestable": "partial"
543
+ },
544
+ {
545
+ "id": "CT.DP-P4",
546
+ "function": "CONTROL-P (CT-P)",
547
+ "category": "Disassociated Processing (CT.DP-P)",
548
+ "summary": "System or device configurations permit selective collection or disclosure of data elements.",
549
+ "codeTestable": "yes",
550
+ "mapsTo": [
551
+ "module:privacy-taint"
552
+ ]
553
+ },
554
+ {
555
+ "id": "CT.DP-P5",
556
+ "function": "CONTROL-P (CT-P)",
557
+ "category": "Disassociated Processing (CT.DP-P)",
558
+ "summary": "Attribute values are substituted with derived attribute values (e.g., providing an \"age older than\" statement rather than the actual age).",
559
+ "codeTestable": "yes",
560
+ "mapsTo": [
561
+ "module:privacy-taint"
562
+ ]
563
+ },
564
+ {
565
+ "id": "CM.PO-P1",
566
+ "function": "COMMUNICATE-P (CM-P)",
567
+ "category": "Communication Policies, Processes, and Procedures (CM.PO-P)",
568
+ "summary": "Transparency policies, processes, and procedures for communicating data processing purposes, practices, and associated privacy risks are established and in place.",
569
+ "codeTestable": "no"
570
+ },
571
+ {
572
+ "id": "CM.PO-P2",
573
+ "function": "COMMUNICATE-P (CM-P)",
574
+ "category": "Communication Policies, Processes, and Procedures (CM.PO-P)",
575
+ "summary": "Roles and responsibilities (e.g., public relations) for communicating data processing purposes, practices, and associated privacy risks are established.",
576
+ "codeTestable": "no"
577
+ },
578
+ {
579
+ "id": "CM.AW-P1",
580
+ "function": "COMMUNICATE-P (CM-P)",
581
+ "category": "Data Processing Awareness (CM.AW-P)",
582
+ "summary": "Mechanisms (e.g., notices, internal or public reports) for communicating data processing purposes, practices, associated privacy risks, and options for enabling individuals’ data processing preferences and requests are established and in place.",
583
+ "codeTestable": "partial"
584
+ },
585
+ {
586
+ "id": "CM.AW-P2",
587
+ "function": "COMMUNICATE-P (CM-P)",
588
+ "category": "Data Processing Awareness (CM.AW-P)",
589
+ "summary": "Mechanisms for obtaining feedback from individuals (e.g., surveys or focus groups) about data processing and associated privacy risks are established and in place.",
590
+ "codeTestable": "partial"
591
+ },
592
+ {
593
+ "id": "CM.AW-P3",
594
+ "function": "COMMUNICATE-P (CM-P)",
595
+ "category": "Data Processing Awareness (CM.AW-P)",
596
+ "summary": "System/product/service design enables data processing visibility.",
597
+ "codeTestable": "partial"
598
+ },
599
+ {
600
+ "id": "CM.AW-P4",
601
+ "function": "COMMUNICATE-P (CM-P)",
602
+ "category": "Data Processing Awareness (CM.AW-P)",
603
+ "summary": "Records of data disclosures and sharing are maintained and can be accessed for review or transmission/disclosure.",
604
+ "codeTestable": "yes",
605
+ "mapsTo": [
606
+ "module:mcp-audit"
607
+ ]
608
+ },
609
+ {
610
+ "id": "CM.AW-P5",
611
+ "function": "COMMUNICATE-P (CM-P)",
612
+ "category": "Data Processing Awareness (CM.AW-P)",
613
+ "summary": "Data corrections or deletions can be communicated to individuals or organizations (e.g., data sources) in the data processing ecosystem.",
614
+ "codeTestable": "partial"
615
+ },
616
+ {
617
+ "id": "CM.AW-P6",
618
+ "function": "COMMUNICATE-P (CM-P)",
619
+ "category": "Data Processing Awareness (CM.AW-P)",
620
+ "summary": "Data provenance and lineage are maintained and can be accessed for review or transmission/disclosure.",
621
+ "codeTestable": "partial",
622
+ "mapsTo": [
623
+ "module:sbom-diff",
624
+ "module:integrity"
625
+ ]
626
+ },
627
+ {
628
+ "id": "CM.AW-P7",
629
+ "function": "COMMUNICATE-P (CM-P)",
630
+ "category": "Data Processing Awareness (CM.AW-P)",
631
+ "summary": "Impacted individuals and organizations are notified about a privacy breach or event.",
632
+ "codeTestable": "partial"
633
+ },
634
+ {
635
+ "id": "CM.AW-P8",
636
+ "function": "COMMUNICATE-P (CM-P)",
637
+ "category": "Data Processing Awareness (CM.AW-P)",
638
+ "summary": "Individuals are provided with mitigation mechanisms (e.g., credit monitoring, consent withdrawal, data alteration or deletion) to address impacts of problematic data actions.",
639
+ "codeTestable": "partial"
640
+ },
641
+ {
642
+ "id": "PR.PO-P5",
643
+ "function": "PROTECT-P (PR-P)",
644
+ "category": "Data Protection Policies, Processes, and Procedures (PR.PO-P)",
645
+ "summary": "Improvements to data protection policies, processes, and procedures are identified (e.g., from evaluations, security tests and exercises, execution of policies, processes, and procedures), communicated, and implemented.",
646
+ "codeTestable": "no"
647
+ },
648
+ {
649
+ "id": "PR.PO-P7",
650
+ "function": "PROTECT-P (PR-P)",
651
+ "category": "Data Protection Policies, Processes, and Procedures (PR.PO-P)",
652
+ "summary": "Incident response and recovery plans are established, communicated, maintained, and improved.",
653
+ "codeTestable": "no"
654
+ },
655
+ {
656
+ "id": "PR.AA-P1",
657
+ "function": "PROTECT-P (PR-P)",
658
+ "category": "Identity Management, Authentication, and Access Control (PR.AA-P)",
659
+ "summary": "Identities and credentials for authorized individuals, services, and hardware are managed by the organization.",
660
+ "codeTestable": "yes",
661
+ "mapsTo": [
662
+ "family:hardcoded-secret",
663
+ "family:auth-missing"
664
+ ]
665
+ },
666
+ {
667
+ "id": "PR.AA-P2",
668
+ "function": "PROTECT-P (PR-P)",
669
+ "category": "Identity Management, Authentication, and Access Control (PR.AA-P)",
670
+ "summary": "Identities are proofed and bound to credentials based on the context of interactions.",
671
+ "codeTestable": "partial"
672
+ },
673
+ {
674
+ "id": "PR.AA-P3",
675
+ "function": "PROTECT-P (PR-P)",
676
+ "category": "Identity Management, Authentication, and Access Control (PR.AA-P)",
677
+ "summary": "Individuals, services, and hardware are authenticated commensurate with risk.",
678
+ "codeTestable": "partial"
679
+ },
680
+ {
681
+ "id": "PR.AA-P4",
682
+ "function": "PROTECT-P (PR-P)",
683
+ "category": "Identity Management, Authentication, and Access Control (PR.AA-P)",
684
+ "summary": "Identity assertions are protected, conveyed, and verified.",
685
+ "codeTestable": "yes",
686
+ "mapsTo": [
687
+ "family:auth-missing",
688
+ "family:crypto-weak-hash"
689
+ ]
690
+ },
691
+ {
692
+ "id": "PR.AA-05",
693
+ "function": "PROTECT-P (PR-P)",
694
+ "category": "Identity Management, Authentication, and Access Control (PR.AA-P)",
695
+ "summary": "Access permissions, entitlements, and authorizations are defined in a policy, managed, enforced, and reviewed, and incorporate the principles of least privilege and separation of duties.",
696
+ "codeTestable": "yes",
697
+ "mapsTo": [
698
+ "family:authz",
699
+ "family:idor",
700
+ "family:iam-overpermissive"
701
+ ]
702
+ },
703
+ {
704
+ "id": "PR.AA-P6",
705
+ "function": "PROTECT-P (PR-P)",
706
+ "category": "Identity Management, Authentication, and Access Control (PR.AA-P)",
707
+ "summary": "Physical access to data and devices is managed, monitored, and enforced commensurate with risk.",
708
+ "codeTestable": "no"
709
+ },
710
+ {
711
+ "id": "PR.DS-P1",
712
+ "function": "PROTECT-P (PR-P)",
713
+ "category": "Data Security (PR.DS-P)",
714
+ "summary": "The confidentiality, integrity, and availability of data-at-rest are protected.",
715
+ "codeTestable": "yes",
716
+ "mapsTo": [
717
+ "family:crypto-weak-cipher",
718
+ "family:crypto-ecb",
719
+ "family:crypto-static-iv"
720
+ ]
721
+ },
722
+ {
723
+ "id": "PR.DS-P2",
724
+ "function": "PROTECT-P (PR-P)",
725
+ "category": "Data Security (PR.DS-P)",
726
+ "summary": "The confidentiality, integrity, and availability of data-in-transit are protected.",
727
+ "codeTestable": "yes",
728
+ "mapsTo": [
729
+ "family:crypto-tls-version",
730
+ "family:crypto-tls-no-verify",
731
+ "family:crypto-weak-cipher"
732
+ ]
733
+ },
734
+ {
735
+ "id": "PR.DS-P3",
736
+ "function": "PROTECT-P (PR-P)",
737
+ "category": "Data Security (PR.DS-P)",
738
+ "summary": "Systems/products/services and associated data are managed throughout their life cycle.",
739
+ "codeTestable": "partial"
740
+ },
741
+ {
742
+ "id": "PR.DS-P8",
743
+ "function": "PROTECT-P (PR-P)",
744
+ "category": "Data Security (PR.DS-P)",
745
+ "summary": "The authenticity and integrity of hardware and software are assessed prior to acquisition and use.",
746
+ "codeTestable": "partial",
747
+ "mapsTo": [
748
+ "module:sbom-diff",
749
+ "family:dependency-drift"
750
+ ]
751
+ },
752
+ {
753
+ "id": "PR.DS-P9",
754
+ "function": "PROTECT-P (PR-P)",
755
+ "category": "Data Security (PR.DS-P)",
756
+ "summary": "The confidentiality, integrity, and availability of data-in-use are protected.",
757
+ "codeTestable": "partial"
758
+ },
759
+ {
760
+ "id": "PR.DS-P10",
761
+ "function": "PROTECT-P (PR-P)",
762
+ "category": "Data Security (PR.DS-P)",
763
+ "summary": "Backups of data are created, protected, maintained, and tested.",
764
+ "codeTestable": "yes"
765
+ },
766
+ {
767
+ "id": "PR.PS-P1",
768
+ "function": "PROTECT-P (PR-P)",
769
+ "category": "Platform Security (PR.PS-P)",
770
+ "summary": "Configuration management practices are established and applied.",
771
+ "codeTestable": "yes",
772
+ "mapsTo": [
773
+ "family:iam-overpermissive",
774
+ "family:k8s-pod-security-privileged"
775
+ ]
776
+ },
777
+ {
778
+ "id": "PR.PS-P2",
779
+ "function": "PROTECT-P (PR-P)",
780
+ "category": "Platform Security (PR.PS-P)",
781
+ "summary": "Software is maintained, replaced, and removed commensurate with risk.",
782
+ "codeTestable": "partial",
783
+ "mapsTo": [
784
+ "family:vulnerable-dependency",
785
+ "family:dependency-drift"
786
+ ]
787
+ },
788
+ {
789
+ "id": "PR.PS-P3",
790
+ "function": "PROTECT-P (PR-P)",
791
+ "category": "Platform Security (PR.PS-P)",
792
+ "summary": "Hardware is maintained, replaced, and removed commensurate with risk.",
793
+ "codeTestable": "no"
794
+ },
795
+ {
796
+ "id": "PR.PS-P4",
797
+ "function": "PROTECT-P (PR-P)",
798
+ "category": "Platform Security (PR.PS-P)",
799
+ "summary": "Installation and execution of unauthorized software are prevented.",
800
+ "codeTestable": "yes",
801
+ "mapsTo": [
802
+ "family:dependency-confusion",
803
+ "family:vulnerable-dependency"
804
+ ]
805
+ },
806
+ {
807
+ "id": "PR.PS-P5",
808
+ "function": "PROTECT-P (PR-P)",
809
+ "category": "Platform Security (PR.PS-P)",
810
+ "summary": "Secure software development practices are integrated, and their performance is monitored throughout the software development life cycle.",
811
+ "codeTestable": "partial"
812
+ },
813
+ {
814
+ "id": "PR.IR-P1",
815
+ "function": "PROTECT-P (PR-P)",
816
+ "category": "Technology Infrastructure Resilience (PR.IR-P)",
817
+ "summary": "Networks and environments are protected from unauthorized logical access and usage.",
818
+ "codeTestable": "yes",
819
+ "mapsTo": [
820
+ "family:iam-overpermissive",
821
+ "family:k8s-rbac-cluster-admin"
822
+ ]
823
+ },
824
+ {
825
+ "id": "PR.IR-P2",
826
+ "function": "PROTECT-P (PR-P)",
827
+ "category": "Technology Infrastructure Resilience (PR.IR-P)",
828
+ "summary": "The organization’s technology assets, including associated data, are protected from environmental threats.",
829
+ "codeTestable": "no"
830
+ },
831
+ {
832
+ "id": "PR.IR-P3",
833
+ "function": "PROTECT-P (PR-P)",
834
+ "category": "Technology Infrastructure Resilience (PR.IR-P)",
835
+ "summary": "Mechanisms are implemented to achieve resilience requirements in normal and adverse situations.",
836
+ "codeTestable": "partial"
837
+ },
838
+ {
839
+ "id": "PR.IR-P4",
840
+ "function": "PROTECT-P (PR-P)",
841
+ "category": "Technology Infrastructure Resilience (PR.IR-P)",
842
+ "summary": "Adequate resource capacity to ensure availability is maintained.",
843
+ "codeTestable": "yes"
844
+ }
845
+ ]
846
+ }