vaspera 2.5.0 → 2.8.0

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 (67) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/dist/agents/adversary/config.d.ts +92 -0
  3. package/dist/agents/adversary/config.d.ts.map +1 -0
  4. package/dist/agents/adversary/config.js +361 -0
  5. package/dist/agents/adversary/config.js.map +1 -0
  6. package/dist/agents/adversary/index.d.ts +34 -0
  7. package/dist/agents/adversary/index.d.ts.map +1 -0
  8. package/dist/agents/adversary/index.js +756 -0
  9. package/dist/agents/adversary/index.js.map +1 -0
  10. package/dist/agents/adversary/types.d.ts +351 -0
  11. package/dist/agents/adversary/types.d.ts.map +1 -0
  12. package/dist/agents/adversary/types.js +12 -0
  13. package/dist/agents/adversary/types.js.map +1 -0
  14. package/dist/agents/agent-integrity.test.d.ts +5 -0
  15. package/dist/agents/agent-integrity.test.d.ts.map +1 -0
  16. package/dist/agents/agent-integrity.test.js +364 -0
  17. package/dist/agents/agent-integrity.test.js.map +1 -0
  18. package/dist/agents/agent-privacy.test.d.ts +5 -0
  19. package/dist/agents/agent-privacy.test.d.ts.map +1 -0
  20. package/dist/agents/agent-privacy.test.js +373 -0
  21. package/dist/agents/agent-privacy.test.js.map +1 -0
  22. package/dist/agents/index.d.ts +1 -0
  23. package/dist/agents/index.d.ts.map +1 -1
  24. package/dist/agents/index.js +2 -0
  25. package/dist/agents/index.js.map +1 -1
  26. package/dist/certification/consensus.test.js +2 -0
  27. package/dist/certification/consensus.test.js.map +1 -1
  28. package/dist/certification/store.d.ts.map +1 -1
  29. package/dist/certification/store.js +4 -0
  30. package/dist/certification/store.js.map +1 -1
  31. package/dist/certification/types.d.ts +2 -2
  32. package/dist/certification/types.d.ts.map +1 -1
  33. package/dist/certification/types.js +2 -0
  34. package/dist/certification/types.js.map +1 -1
  35. package/dist/compliance/mapper.d.ts.map +1 -1
  36. package/dist/compliance/mapper.js +2 -2
  37. package/dist/compliance/mapper.js.map +1 -1
  38. package/dist/compliance/nist-800-53.d.ts +34 -0
  39. package/dist/compliance/nist-800-53.d.ts.map +1 -0
  40. package/dist/compliance/nist-800-53.js +664 -0
  41. package/dist/compliance/nist-800-53.js.map +1 -0
  42. package/dist/config/flags.test.d.ts +5 -0
  43. package/dist/config/flags.test.d.ts.map +1 -0
  44. package/dist/config/flags.test.js +489 -0
  45. package/dist/config/flags.test.js.map +1 -0
  46. package/dist/enterprise/policy/opa.test.js +4 -1
  47. package/dist/enterprise/policy/opa.test.js.map +1 -1
  48. package/dist/http-server.js +2 -1
  49. package/dist/http-server.js.map +1 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/observability/otel.test.d.ts +5 -0
  52. package/dist/observability/otel.test.d.ts.map +1 -0
  53. package/dist/observability/otel.test.js +269 -0
  54. package/dist/observability/otel.test.js.map +1 -0
  55. package/dist/plugins/loader.test.d.ts +5 -0
  56. package/dist/plugins/loader.test.d.ts.map +1 -0
  57. package/dist/plugins/loader.test.js +337 -0
  58. package/dist/plugins/loader.test.js.map +1 -0
  59. package/dist/sbom/provenance.test.js +2 -2
  60. package/dist/sbom/provenance.test.js.map +1 -1
  61. package/dist/scanners/agent/manifest-audit.d.ts.map +1 -1
  62. package/dist/scanners/agent/manifest-audit.js +30 -18
  63. package/dist/scanners/agent/manifest-audit.js.map +1 -1
  64. package/dist/scanners/dependencies.d.ts.map +1 -1
  65. package/dist/scanners/dependencies.js +1 -2
  66. package/dist/scanners/dependencies.js.map +1 -1
  67. package/package.json +12 -3
@@ -0,0 +1,664 @@
1
+ /**
2
+ * NIST 800-53 Security and Privacy Controls
3
+ *
4
+ * NIST Special Publication 800-53 Rev. 5 controls mapped to security finding categories.
5
+ * Focuses on controls relevant to application security and code analysis.
6
+ *
7
+ * @module compliance/nist-800-53
8
+ */
9
+ /**
10
+ * NIST 800-53 Rev. 5 Controls relevant to code security
11
+ */
12
+ export const NIST_800_53_CONTROLS = [
13
+ // AC - Access Control Family
14
+ {
15
+ id: "AC-2",
16
+ framework: "NIST-800-53",
17
+ category: "Access Control",
18
+ title: "Account Management",
19
+ description: "Define and document the types of accounts allowed and specifically prohibited for use within the system. Assign account managers and establish conditions for group membership.",
20
+ keywords: ["account", "user management", "provisioning", "deprovisioning"],
21
+ findingCategories: ["auth-bypass", "broken-access-control"],
22
+ cweIds: ["CWE-269", "CWE-266", "CWE-284"],
23
+ severityThreshold: "medium",
24
+ },
25
+ {
26
+ id: "AC-3",
27
+ framework: "NIST-800-53",
28
+ category: "Access Control",
29
+ title: "Access Enforcement",
30
+ description: "Enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.",
31
+ keywords: ["authorization", "access control", "permissions", "privilege"],
32
+ findingCategories: ["broken-access-control", "auth-bypass", "privilege-escalation"],
33
+ cweIds: ["CWE-862", "CWE-863", "CWE-285"],
34
+ severityThreshold: "high",
35
+ },
36
+ {
37
+ id: "AC-4",
38
+ framework: "NIST-800-53",
39
+ category: "Access Control",
40
+ title: "Information Flow Enforcement",
41
+ description: "Enforce approved authorizations for controlling the flow of information within the system and between connected systems.",
42
+ keywords: ["data flow", "information flow", "data transfer", "exfiltration"],
43
+ findingCategories: ["data-exposure", "ssrf", "insecure-transmission"],
44
+ cweIds: ["CWE-200", "CWE-918", "CWE-319"],
45
+ severityThreshold: "high",
46
+ },
47
+ {
48
+ id: "AC-5",
49
+ framework: "NIST-800-53",
50
+ category: "Access Control",
51
+ title: "Separation of Duties",
52
+ description: "Separate duties of individuals to prevent malevolent activity. Define system access authorizations to support separation of duties.",
53
+ keywords: ["separation of duties", "role separation", "least privilege"],
54
+ findingCategories: ["broken-access-control", "privilege-escalation"],
55
+ cweIds: ["CWE-269", "CWE-250"],
56
+ severityThreshold: "medium",
57
+ },
58
+ {
59
+ id: "AC-6",
60
+ framework: "NIST-800-53",
61
+ category: "Access Control",
62
+ title: "Least Privilege",
63
+ description: "Employ the principle of least privilege, allowing only authorized accesses for users which are necessary to accomplish assigned organizational tasks.",
64
+ keywords: ["least privilege", "minimal access", "privilege", "authorization"],
65
+ findingCategories: ["broken-access-control", "privilege-escalation"],
66
+ cweIds: ["CWE-250", "CWE-269", "CWE-732"],
67
+ severityThreshold: "medium",
68
+ },
69
+ {
70
+ id: "AC-7",
71
+ framework: "NIST-800-53",
72
+ category: "Access Control",
73
+ title: "Unsuccessful Logon Attempts",
74
+ description: "Enforce a limit of consecutive invalid logon attempts by a user and automatically lock the account when the maximum number is exceeded.",
75
+ keywords: ["login", "brute force", "lockout", "authentication"],
76
+ findingCategories: ["auth-bypass", "weak-password"],
77
+ cweIds: ["CWE-307", "CWE-287"],
78
+ severityThreshold: "medium",
79
+ },
80
+ {
81
+ id: "AC-10",
82
+ framework: "NIST-800-53",
83
+ category: "Access Control",
84
+ title: "Concurrent Session Control",
85
+ description: "Limit the number of concurrent sessions for each system account to an organization-defined number.",
86
+ keywords: ["session", "concurrent", "session management"],
87
+ findingCategories: ["session-management"],
88
+ cweIds: ["CWE-384", "CWE-613"],
89
+ severityThreshold: "low",
90
+ },
91
+ {
92
+ id: "AC-11",
93
+ framework: "NIST-800-53",
94
+ category: "Access Control",
95
+ title: "Device Lock",
96
+ description: "Prevent further access to the system by initiating a session lock after a period of inactivity.",
97
+ keywords: ["session timeout", "idle timeout", "session lock"],
98
+ findingCategories: ["session-management"],
99
+ cweIds: ["CWE-613"],
100
+ severityThreshold: "low",
101
+ },
102
+ {
103
+ id: "AC-12",
104
+ framework: "NIST-800-53",
105
+ category: "Access Control",
106
+ title: "Session Termination",
107
+ description: "Automatically terminate a user session after organization-defined conditions or trigger events.",
108
+ keywords: ["session termination", "logout", "session expiry"],
109
+ findingCategories: ["session-management"],
110
+ cweIds: ["CWE-613"],
111
+ severityThreshold: "low",
112
+ },
113
+ {
114
+ id: "AC-14",
115
+ framework: "NIST-800-53",
116
+ category: "Access Control",
117
+ title: "Permitted Actions without Identification or Authentication",
118
+ description: "Identify specific user actions that can be performed on the system without identification or authentication.",
119
+ keywords: ["unauthenticated access", "public access", "anonymous"],
120
+ findingCategories: ["auth-bypass", "broken-access-control"],
121
+ cweIds: ["CWE-287", "CWE-306"],
122
+ severityThreshold: "high",
123
+ },
124
+ {
125
+ id: "AC-17",
126
+ framework: "NIST-800-53",
127
+ category: "Access Control",
128
+ title: "Remote Access",
129
+ description: "Establish and document usage restrictions, configuration/connection requirements, and implementation guidance for each type of remote access allowed.",
130
+ keywords: ["remote access", "VPN", "SSH", "RDP"],
131
+ findingCategories: ["insecure-transmission", "auth-bypass"],
132
+ cweIds: ["CWE-319", "CWE-287"],
133
+ severityThreshold: "high",
134
+ },
135
+ // AU - Audit and Accountability Family
136
+ {
137
+ id: "AU-2",
138
+ framework: "NIST-800-53",
139
+ category: "Audit and Accountability",
140
+ title: "Event Logging",
141
+ description: "Identify the types of events that the system is capable of logging in support of the audit function.",
142
+ keywords: ["logging", "audit", "event logging", "audit trail"],
143
+ findingCategories: ["insufficient-logging"],
144
+ cweIds: ["CWE-778", "CWE-223"],
145
+ severityThreshold: "medium",
146
+ },
147
+ {
148
+ id: "AU-3",
149
+ framework: "NIST-800-53",
150
+ category: "Audit and Accountability",
151
+ title: "Content of Audit Records",
152
+ description: "Ensure that audit records contain information that establishes what type of event occurred, when it occurred, where it occurred, source, outcome, and identity.",
153
+ keywords: ["audit content", "log format", "audit record"],
154
+ findingCategories: ["insufficient-logging"],
155
+ cweIds: ["CWE-778"],
156
+ severityThreshold: "medium",
157
+ },
158
+ {
159
+ id: "AU-6",
160
+ framework: "NIST-800-53",
161
+ category: "Audit and Accountability",
162
+ title: "Audit Record Review, Analysis, and Reporting",
163
+ description: "Review and analyze system audit records for indications of inappropriate or unusual activity and report findings.",
164
+ keywords: ["audit review", "log analysis", "security monitoring"],
165
+ findingCategories: ["insufficient-logging"],
166
+ cweIds: ["CWE-778"],
167
+ severityThreshold: "medium",
168
+ },
169
+ {
170
+ id: "AU-9",
171
+ framework: "NIST-800-53",
172
+ category: "Audit and Accountability",
173
+ title: "Protection of Audit Information",
174
+ description: "Protect audit information and audit logging tools from unauthorized access, modification, and deletion.",
175
+ keywords: ["log protection", "audit integrity", "tamper-proof"],
176
+ findingCategories: ["insufficient-logging", "broken-access-control"],
177
+ cweIds: ["CWE-778", "CWE-117"],
178
+ severityThreshold: "medium",
179
+ },
180
+ {
181
+ id: "AU-12",
182
+ framework: "NIST-800-53",
183
+ category: "Audit and Accountability",
184
+ title: "Audit Record Generation",
185
+ description: "Provide audit record generation capability for the events identified in AU-2 at system components.",
186
+ keywords: ["audit generation", "logging", "event recording"],
187
+ findingCategories: ["insufficient-logging"],
188
+ cweIds: ["CWE-778"],
189
+ severityThreshold: "medium",
190
+ },
191
+ // CA - Assessment, Authorization, and Monitoring Family
192
+ {
193
+ id: "CA-7",
194
+ framework: "NIST-800-53",
195
+ category: "Assessment and Authorization",
196
+ title: "Continuous Monitoring",
197
+ description: "Develop a continuous monitoring strategy and implement a continuous monitoring program that includes ongoing security assessments.",
198
+ keywords: ["continuous monitoring", "security assessment", "vulnerability scanning"],
199
+ findingCategories: ["security-misconfiguration", "dependency-vuln"],
200
+ cweIds: ["CWE-1035"],
201
+ severityThreshold: "medium",
202
+ },
203
+ {
204
+ id: "CA-8",
205
+ framework: "NIST-800-53",
206
+ category: "Assessment and Authorization",
207
+ title: "Penetration Testing",
208
+ description: "Conduct penetration testing at an organization-defined frequency on organization-defined systems or system components.",
209
+ keywords: ["penetration testing", "security testing", "red team"],
210
+ findingCategories: [],
211
+ severityThreshold: "medium",
212
+ },
213
+ // CM - Configuration Management Family
214
+ {
215
+ id: "CM-2",
216
+ framework: "NIST-800-53",
217
+ category: "Configuration Management",
218
+ title: "Baseline Configuration",
219
+ description: "Develop, document, and maintain a current baseline configuration of the system.",
220
+ keywords: ["baseline", "configuration", "hardening"],
221
+ findingCategories: ["security-misconfiguration"],
222
+ cweIds: ["CWE-1188"],
223
+ severityThreshold: "medium",
224
+ },
225
+ {
226
+ id: "CM-3",
227
+ framework: "NIST-800-53",
228
+ category: "Configuration Management",
229
+ title: "Configuration Change Control",
230
+ description: "Determine and document the types of changes to the system that are configuration-controlled.",
231
+ keywords: ["change control", "change management", "version control"],
232
+ findingCategories: ["security-misconfiguration"],
233
+ cweIds: ["CWE-1188"],
234
+ severityThreshold: "low",
235
+ },
236
+ {
237
+ id: "CM-6",
238
+ framework: "NIST-800-53",
239
+ category: "Configuration Management",
240
+ title: "Configuration Settings",
241
+ description: "Establish and document configuration settings for system components that reflect the most restrictive mode consistent with operational requirements.",
242
+ keywords: ["configuration settings", "security settings", "hardening"],
243
+ findingCategories: ["security-misconfiguration"],
244
+ cweIds: ["CWE-1188", "CWE-16"],
245
+ severityThreshold: "medium",
246
+ },
247
+ {
248
+ id: "CM-7",
249
+ framework: "NIST-800-53",
250
+ category: "Configuration Management",
251
+ title: "Least Functionality",
252
+ description: "Configure the system to provide only essential capabilities and prohibit or restrict the use of non-essential functions, ports, protocols, and services.",
253
+ keywords: ["least functionality", "attack surface", "minimize exposure"],
254
+ findingCategories: ["security-misconfiguration"],
255
+ cweIds: ["CWE-1188"],
256
+ severityThreshold: "medium",
257
+ },
258
+ // IA - Identification and Authentication Family
259
+ {
260
+ id: "IA-2",
261
+ framework: "NIST-800-53",
262
+ category: "Identification and Authentication",
263
+ title: "Identification and Authentication (Organizational Users)",
264
+ description: "Uniquely identify and authenticate organizational users and associate that unique identification with processes acting on behalf of those users.",
265
+ keywords: ["authentication", "identity", "user identification"],
266
+ findingCategories: ["auth-bypass", "session-management"],
267
+ cweIds: ["CWE-287", "CWE-306"],
268
+ severityThreshold: "high",
269
+ },
270
+ {
271
+ id: "IA-4",
272
+ framework: "NIST-800-53",
273
+ category: "Identification and Authentication",
274
+ title: "Identifier Management",
275
+ description: "Manage system identifiers by receiving authorization to assign identifiers, selecting identifiers that identify individuals, and preventing reuse of identifiers.",
276
+ keywords: ["identifier", "user ID", "identity management"],
277
+ findingCategories: ["auth-bypass"],
278
+ cweIds: ["CWE-287"],
279
+ severityThreshold: "medium",
280
+ },
281
+ {
282
+ id: "IA-5",
283
+ framework: "NIST-800-53",
284
+ category: "Identification and Authentication",
285
+ title: "Authenticator Management",
286
+ description: "Manage system authenticators by verifying identity before distributing authenticators, establishing initial authenticator content, and ensuring authenticators have sufficient strength.",
287
+ keywords: ["password", "credential", "authenticator", "token"],
288
+ findingCategories: ["weak-password", "auth-bypass", "secrets"],
289
+ cweIds: ["CWE-521", "CWE-522", "CWE-798"],
290
+ severityThreshold: "high",
291
+ },
292
+ {
293
+ id: "IA-6",
294
+ framework: "NIST-800-53",
295
+ category: "Identification and Authentication",
296
+ title: "Authentication Feedback",
297
+ description: "Obscure feedback of authentication information during the authentication process to protect the information from possible exploitation by unauthorized individuals.",
298
+ keywords: ["authentication feedback", "password masking", "login error"],
299
+ findingCategories: ["auth-bypass", "data-exposure"],
300
+ cweIds: ["CWE-203", "CWE-209"],
301
+ severityThreshold: "low",
302
+ },
303
+ {
304
+ id: "IA-8",
305
+ framework: "NIST-800-53",
306
+ category: "Identification and Authentication",
307
+ title: "Identification and Authentication (Non-Organizational Users)",
308
+ description: "Uniquely identify and authenticate non-organizational users or processes acting on behalf of non-organizational users.",
309
+ keywords: ["external user", "third-party", "guest authentication"],
310
+ findingCategories: ["auth-bypass"],
311
+ cweIds: ["CWE-287", "CWE-306"],
312
+ severityThreshold: "high",
313
+ },
314
+ // RA - Risk Assessment Family
315
+ {
316
+ id: "RA-3",
317
+ framework: "NIST-800-53",
318
+ category: "Risk Assessment",
319
+ title: "Risk Assessment",
320
+ description: "Conduct a risk assessment to identify, estimate, and prioritize risks to organizational operations, organizational assets, and individuals.",
321
+ keywords: ["risk assessment", "threat assessment", "vulnerability assessment"],
322
+ findingCategories: ["dependency-vuln", "security-misconfiguration"],
323
+ cweIds: ["CWE-1035"],
324
+ severityThreshold: "medium",
325
+ },
326
+ {
327
+ id: "RA-5",
328
+ framework: "NIST-800-53",
329
+ category: "Risk Assessment",
330
+ title: "Vulnerability Monitoring and Scanning",
331
+ description: "Monitor and scan for vulnerabilities in the system and hosted applications and document and remediate vulnerabilities.",
332
+ keywords: ["vulnerability scanning", "security scanning", "SAST", "DAST"],
333
+ findingCategories: ["dependency-vuln", "sql-injection", "xss", "command-injection"],
334
+ cweIds: ["CWE-1035", "CWE-89", "CWE-79", "CWE-78"],
335
+ severityThreshold: "high",
336
+ },
337
+ // SA - System and Services Acquisition Family
338
+ {
339
+ id: "SA-8",
340
+ framework: "NIST-800-53",
341
+ category: "System and Services Acquisition",
342
+ title: "Security and Privacy Engineering Principles",
343
+ description: "Apply security and privacy engineering principles in the specification, design, development, implementation, and modification of the system and system components.",
344
+ keywords: ["secure design", "security engineering", "privacy by design"],
345
+ findingCategories: ["security-misconfiguration", "type-safety"],
346
+ severityThreshold: "medium",
347
+ },
348
+ {
349
+ id: "SA-10",
350
+ framework: "NIST-800-53",
351
+ category: "System and Services Acquisition",
352
+ title: "Developer Configuration Management",
353
+ description: "Require the developer of the system to perform configuration management during system design, development, implementation, and operation.",
354
+ keywords: ["developer", "configuration management", "SDLC"],
355
+ findingCategories: ["security-misconfiguration"],
356
+ cweIds: ["CWE-1188"],
357
+ severityThreshold: "low",
358
+ },
359
+ {
360
+ id: "SA-11",
361
+ framework: "NIST-800-53",
362
+ category: "System and Services Acquisition",
363
+ title: "Developer Testing and Evaluation",
364
+ description: "Require the developer of the system to create and implement a security and privacy assessment plan.",
365
+ keywords: ["security testing", "developer testing", "code review"],
366
+ findingCategories: ["type-safety", "error-handling"],
367
+ severityThreshold: "medium",
368
+ },
369
+ {
370
+ id: "SA-12",
371
+ framework: "NIST-800-53",
372
+ category: "System and Services Acquisition",
373
+ title: "Supply Chain Risk Management",
374
+ description: "Protect against supply chain risks by employing security safeguards in accordance with organization-defined supply chain risk management strategy.",
375
+ keywords: ["supply chain", "third-party", "dependency", "vendor"],
376
+ findingCategories: ["dependency-vuln"],
377
+ cweIds: ["CWE-1035", "CWE-829"],
378
+ severityThreshold: "high",
379
+ },
380
+ {
381
+ id: "SA-15",
382
+ framework: "NIST-800-53",
383
+ category: "System and Services Acquisition",
384
+ title: "Development Process, Standards, and Tools",
385
+ description: "Require the developer of the system to follow a documented development process that addresses security and privacy requirements.",
386
+ keywords: ["development process", "SDLC", "secure development"],
387
+ findingCategories: ["type-safety", "error-handling"],
388
+ severityThreshold: "low",
389
+ },
390
+ // SC - System and Communications Protection Family
391
+ {
392
+ id: "SC-4",
393
+ framework: "NIST-800-53",
394
+ category: "System and Communications Protection",
395
+ title: "Information in Shared System Resources",
396
+ description: "Prevent unauthorized and unintended information transfer via shared system resources.",
397
+ keywords: ["shared resources", "information leakage", "data isolation"],
398
+ findingCategories: ["data-exposure"],
399
+ cweIds: ["CWE-200", "CWE-226"],
400
+ severityThreshold: "medium",
401
+ },
402
+ {
403
+ id: "SC-5",
404
+ framework: "NIST-800-53",
405
+ category: "System and Communications Protection",
406
+ title: "Denial-of-Service Protection",
407
+ description: "Protect against or limit the effects of denial-of-service attacks by employing security safeguards.",
408
+ keywords: ["denial of service", "DoS", "DDoS", "rate limiting"],
409
+ findingCategories: ["denial-of-service", "resource-exhaustion"],
410
+ cweIds: ["CWE-400", "CWE-770"],
411
+ severityThreshold: "high",
412
+ },
413
+ {
414
+ id: "SC-7",
415
+ framework: "NIST-800-53",
416
+ category: "System and Communications Protection",
417
+ title: "Boundary Protection",
418
+ description: "Monitor and control communications at the external managed interfaces to the system and at key internal managed interfaces within the system.",
419
+ keywords: ["boundary protection", "firewall", "network segmentation"],
420
+ findingCategories: ["ssrf", "path-traversal"],
421
+ cweIds: ["CWE-918", "CWE-22"],
422
+ severityThreshold: "high",
423
+ },
424
+ {
425
+ id: "SC-8",
426
+ framework: "NIST-800-53",
427
+ category: "System and Communications Protection",
428
+ title: "Transmission Confidentiality and Integrity",
429
+ description: "Protect the confidentiality and integrity of transmitted information.",
430
+ keywords: ["encryption", "TLS", "HTTPS", "data transmission"],
431
+ findingCategories: ["insecure-transmission"],
432
+ cweIds: ["CWE-319", "CWE-523"],
433
+ severityThreshold: "high",
434
+ },
435
+ {
436
+ id: "SC-12",
437
+ framework: "NIST-800-53",
438
+ category: "System and Communications Protection",
439
+ title: "Cryptographic Key Establishment and Management",
440
+ description: "Establish and manage cryptographic keys when cryptography is employed within the system.",
441
+ keywords: ["cryptographic keys", "key management", "encryption keys"],
442
+ findingCategories: ["secrets", "weak-crypto"],
443
+ cweIds: ["CWE-320", "CWE-321", "CWE-798"],
444
+ severityThreshold: "high",
445
+ },
446
+ {
447
+ id: "SC-13",
448
+ framework: "NIST-800-53",
449
+ category: "System and Communications Protection",
450
+ title: "Cryptographic Protection",
451
+ description: "Implement cryptographic mechanisms to prevent unauthorized disclosure and modification of information.",
452
+ keywords: ["cryptography", "encryption", "hashing"],
453
+ findingCategories: ["weak-crypto"],
454
+ cweIds: ["CWE-327", "CWE-328", "CWE-326"],
455
+ severityThreshold: "high",
456
+ },
457
+ {
458
+ id: "SC-18",
459
+ framework: "NIST-800-53",
460
+ category: "System and Communications Protection",
461
+ title: "Mobile Code",
462
+ description: "Define acceptable and unacceptable mobile code and mobile code technologies and establish usage restrictions and implementation guidance.",
463
+ keywords: ["mobile code", "JavaScript", "active content", "executable"],
464
+ findingCategories: ["xss", "code-injection"],
465
+ cweIds: ["CWE-79", "CWE-94"],
466
+ severityThreshold: "high",
467
+ },
468
+ {
469
+ id: "SC-23",
470
+ framework: "NIST-800-53",
471
+ category: "System and Communications Protection",
472
+ title: "Session Authenticity",
473
+ description: "Protect the authenticity of communications sessions.",
474
+ keywords: ["session authenticity", "session hijacking", "CSRF"],
475
+ findingCategories: ["session-management", "csrf"],
476
+ cweIds: ["CWE-384", "CWE-352"],
477
+ severityThreshold: "high",
478
+ },
479
+ {
480
+ id: "SC-28",
481
+ framework: "NIST-800-53",
482
+ category: "System and Communications Protection",
483
+ title: "Protection of Information at Rest",
484
+ description: "Protect the confidentiality and integrity of information at rest.",
485
+ keywords: ["data at rest", "encryption at rest", "storage encryption"],
486
+ findingCategories: ["data-exposure", "secrets"],
487
+ cweIds: ["CWE-311", "CWE-312"],
488
+ severityThreshold: "high",
489
+ },
490
+ // SI - System and Information Integrity Family
491
+ {
492
+ id: "SI-2",
493
+ framework: "NIST-800-53",
494
+ category: "System and Information Integrity",
495
+ title: "Flaw Remediation",
496
+ description: "Identify, report, and correct system flaws. Install security-relevant software and firmware updates.",
497
+ keywords: ["patching", "flaw remediation", "vulnerability fix", "update"],
498
+ findingCategories: ["dependency-vuln"],
499
+ cweIds: ["CWE-1035"],
500
+ severityThreshold: "high",
501
+ },
502
+ {
503
+ id: "SI-3",
504
+ framework: "NIST-800-53",
505
+ category: "System and Information Integrity",
506
+ title: "Malicious Code Protection",
507
+ description: "Implement malicious code protection mechanisms at system entry and exit points to detect and eradicate malicious code.",
508
+ keywords: ["malware", "malicious code", "virus", "trojan"],
509
+ findingCategories: ["code-injection", "xss", "command-injection"],
510
+ cweIds: ["CWE-94", "CWE-79", "CWE-78"],
511
+ severityThreshold: "high",
512
+ },
513
+ {
514
+ id: "SI-4",
515
+ framework: "NIST-800-53",
516
+ category: "System and Information Integrity",
517
+ title: "System Monitoring",
518
+ description: "Monitor the system to detect attacks and indicators of potential attacks, unauthorized local, network, and remote connections.",
519
+ keywords: ["monitoring", "intrusion detection", "security monitoring"],
520
+ findingCategories: ["insufficient-logging"],
521
+ cweIds: ["CWE-778"],
522
+ severityThreshold: "medium",
523
+ },
524
+ {
525
+ id: "SI-7",
526
+ framework: "NIST-800-53",
527
+ category: "System and Information Integrity",
528
+ title: "Software, Firmware, and Information Integrity",
529
+ description: "Employ integrity verification tools to detect unauthorized changes to software, firmware, and information.",
530
+ keywords: ["integrity", "checksum", "hash verification", "code signing"],
531
+ findingCategories: ["security-misconfiguration"],
532
+ cweIds: ["CWE-494", "CWE-829"],
533
+ severityThreshold: "medium",
534
+ },
535
+ {
536
+ id: "SI-10",
537
+ framework: "NIST-800-53",
538
+ category: "System and Information Integrity",
539
+ title: "Information Input Validation",
540
+ description: "Check the validity of information inputs.",
541
+ keywords: ["input validation", "sanitization", "data validation"],
542
+ findingCategories: ["sql-injection", "xss", "command-injection", "path-traversal"],
543
+ cweIds: ["CWE-20", "CWE-89", "CWE-79", "CWE-78", "CWE-22"],
544
+ severityThreshold: "high",
545
+ },
546
+ {
547
+ id: "SI-11",
548
+ framework: "NIST-800-53",
549
+ category: "System and Information Integrity",
550
+ title: "Error Handling",
551
+ description: "Generate error messages that provide information necessary for corrective actions without revealing information that could be exploited.",
552
+ keywords: ["error handling", "error messages", "exception handling"],
553
+ findingCategories: ["error-handling", "data-exposure"],
554
+ cweIds: ["CWE-209", "CWE-755"],
555
+ severityThreshold: "medium",
556
+ },
557
+ {
558
+ id: "SI-12",
559
+ framework: "NIST-800-53",
560
+ category: "System and Information Integrity",
561
+ title: "Information Management and Retention",
562
+ description: "Manage and retain information within the system and information output from the system in accordance with applicable laws, regulations, and policy.",
563
+ keywords: ["data retention", "information management", "data disposal"],
564
+ findingCategories: ["data-exposure"],
565
+ cweIds: ["CWE-226", "CWE-212"],
566
+ severityThreshold: "medium",
567
+ },
568
+ {
569
+ id: "SI-16",
570
+ framework: "NIST-800-53",
571
+ category: "System and Information Integrity",
572
+ title: "Memory Protection",
573
+ description: "Implement safeguards to protect the system memory from unauthorized code execution.",
574
+ keywords: ["memory protection", "buffer overflow", "memory safety"],
575
+ findingCategories: ["memory-safety", "buffer-overflow"],
576
+ cweIds: ["CWE-119", "CWE-120", "CWE-416"],
577
+ severityThreshold: "critical",
578
+ },
579
+ // SR - Supply Chain Risk Management Family
580
+ {
581
+ id: "SR-3",
582
+ framework: "NIST-800-53",
583
+ category: "Supply Chain Risk Management",
584
+ title: "Supply Chain Controls and Processes",
585
+ description: "Establish a process to identify and address weaknesses or deficiencies in the supply chain elements and processes.",
586
+ keywords: ["supply chain", "vendor management", "third-party risk"],
587
+ findingCategories: ["dependency-vuln"],
588
+ cweIds: ["CWE-1035", "CWE-829"],
589
+ severityThreshold: "high",
590
+ },
591
+ {
592
+ id: "SR-4",
593
+ framework: "NIST-800-53",
594
+ category: "Supply Chain Risk Management",
595
+ title: "Provenance",
596
+ description: "Document, monitor, and maintain valid provenance of systems, system components, and associated data.",
597
+ keywords: ["provenance", "SBOM", "software bill of materials", "supply chain"],
598
+ findingCategories: ["dependency-vuln"],
599
+ cweIds: ["CWE-1035"],
600
+ severityThreshold: "medium",
601
+ },
602
+ {
603
+ id: "SR-5",
604
+ framework: "NIST-800-53",
605
+ category: "Supply Chain Risk Management",
606
+ title: "Acquisition Strategies, Tools, and Methods",
607
+ description: "Employ acquisition strategies, contract tools, and procurement methods to protect against, identify, and mitigate supply chain risks.",
608
+ keywords: ["acquisition", "procurement", "vendor assessment"],
609
+ findingCategories: ["dependency-vuln"],
610
+ severityThreshold: "medium",
611
+ },
612
+ {
613
+ id: "SR-6",
614
+ framework: "NIST-800-53",
615
+ category: "Supply Chain Risk Management",
616
+ title: "Supplier Assessments and Reviews",
617
+ description: "Assess and review the supply chain-related risks associated with suppliers or contractors.",
618
+ keywords: ["supplier assessment", "vendor review", "third-party audit"],
619
+ findingCategories: ["dependency-vuln"],
620
+ severityThreshold: "medium",
621
+ },
622
+ {
623
+ id: "SR-11",
624
+ framework: "NIST-800-53",
625
+ category: "Supply Chain Risk Management",
626
+ title: "Component Authenticity",
627
+ description: "Develop and implement anti-counterfeit policy and procedures that include the means to detect and prevent counterfeit components.",
628
+ keywords: ["authenticity", "counterfeit", "component verification"],
629
+ findingCategories: ["dependency-vuln"],
630
+ cweIds: ["CWE-829"],
631
+ severityThreshold: "high",
632
+ },
633
+ ];
634
+ /**
635
+ * Get all NIST 800-53 controls
636
+ */
637
+ export function getNIST80053Controls() {
638
+ return NIST_800_53_CONTROLS;
639
+ }
640
+ /**
641
+ * Get NIST 800-53 controls by category (control family)
642
+ */
643
+ export function getNIST80053ControlsByCategory(category) {
644
+ return NIST_800_53_CONTROLS.filter((c) => c.category === category);
645
+ }
646
+ /**
647
+ * Get NIST 800-53 control by ID
648
+ */
649
+ export function getNIST80053ControlById(id) {
650
+ return NIST_800_53_CONTROLS.find((c) => c.id === id);
651
+ }
652
+ /**
653
+ * Get NIST 800-53 control families (categories)
654
+ */
655
+ export function getNIST80053Categories() {
656
+ return [...new Set(NIST_800_53_CONTROLS.map((c) => c.category))];
657
+ }
658
+ /**
659
+ * Get NIST 800-53 control family code from control ID
660
+ */
661
+ export function getControlFamilyCode(controlId) {
662
+ return controlId.replace(/-\d+$/, "").toUpperCase();
663
+ }
664
+ //# sourceMappingURL=nist-800-53.js.map