vaspera 2.8.0 → 2.9.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.
- package/CHANGELOG.md +55 -0
- package/README.md +111 -7
- package/dist/__tests__/agents/adversary/tactics/api.test.d.ts +5 -0
- package/dist/__tests__/agents/adversary/tactics/api.test.d.ts.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/api.test.js +369 -0
- package/dist/__tests__/agents/adversary/tactics/api.test.js.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/llm.test.d.ts +5 -0
- package/dist/__tests__/agents/adversary/tactics/llm.test.d.ts.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/llm.test.js +409 -0
- package/dist/__tests__/agents/adversary/tactics/llm.test.js.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/registry.test.d.ts +7 -0
- package/dist/__tests__/agents/adversary/tactics/registry.test.d.ts.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/registry.test.js +74 -0
- package/dist/__tests__/agents/adversary/tactics/registry.test.js.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/web-app.test.d.ts +7 -0
- package/dist/__tests__/agents/adversary/tactics/web-app.test.d.ts.map +1 -0
- package/dist/__tests__/agents/adversary/tactics/web-app.test.js +374 -0
- package/dist/__tests__/agents/adversary/tactics/web-app.test.js.map +1 -0
- package/dist/__tests__/compliance-bundle.test.d.ts +9 -0
- package/dist/__tests__/compliance-bundle.test.d.ts.map +1 -0
- package/dist/__tests__/compliance-bundle.test.js +344 -0
- package/dist/__tests__/compliance-bundle.test.js.map +1 -0
- package/dist/__tests__/healthcare-compliance.test.d.ts +9 -0
- package/dist/__tests__/healthcare-compliance.test.d.ts.map +1 -0
- package/dist/__tests__/healthcare-compliance.test.js +233 -0
- package/dist/__tests__/healthcare-compliance.test.js.map +1 -0
- package/dist/action/diff-mode.d.ts +124 -8
- package/dist/action/diff-mode.d.ts.map +1 -1
- package/dist/action/diff-mode.js +384 -65
- package/dist/action/diff-mode.js.map +1 -1
- package/dist/action/diff-mode.test.js +3 -3
- package/dist/action/diff-mode.test.js.map +1 -1
- package/dist/action/pr-comment.test.js +1 -0
- package/dist/action/pr-comment.test.js.map +1 -1
- package/dist/action/sarif-upload.test.js +1 -0
- package/dist/action/sarif-upload.test.js.map +1 -1
- package/dist/agents/adversary/config.d.ts +25 -4
- package/dist/agents/adversary/config.d.ts.map +1 -1
- package/dist/agents/adversary/config.js +38 -8
- package/dist/agents/adversary/config.js.map +1 -1
- package/dist/agents/adversary/index.d.ts +7 -0
- package/dist/agents/adversary/index.d.ts.map +1 -1
- package/dist/agents/adversary/index.js +83 -1
- package/dist/agents/adversary/index.js.map +1 -1
- package/dist/agents/adversary/reporting/compliance-mapper.d.ts +108 -0
- package/dist/agents/adversary/reporting/compliance-mapper.d.ts.map +1 -0
- package/dist/agents/adversary/reporting/compliance-mapper.js +391 -0
- package/dist/agents/adversary/reporting/compliance-mapper.js.map +1 -0
- package/dist/agents/adversary/reporting/index.d.ts +10 -0
- package/dist/agents/adversary/reporting/index.d.ts.map +1 -0
- package/dist/agents/adversary/reporting/index.js +10 -0
- package/dist/agents/adversary/reporting/index.js.map +1 -0
- package/dist/agents/adversary/reporting/poc-generator.d.ts +44 -0
- package/dist/agents/adversary/reporting/poc-generator.d.ts.map +1 -0
- package/dist/agents/adversary/reporting/poc-generator.js +308 -0
- package/dist/agents/adversary/reporting/poc-generator.js.map +1 -0
- package/dist/agents/adversary/tactics/api.d.ts +13 -0
- package/dist/agents/adversary/tactics/api.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/api.js +815 -0
- package/dist/agents/adversary/tactics/api.js.map +1 -0
- package/dist/agents/adversary/tactics/auth.d.ts +13 -0
- package/dist/agents/adversary/tactics/auth.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/auth.js +676 -0
- package/dist/agents/adversary/tactics/auth.js.map +1 -0
- package/dist/agents/adversary/tactics/index.d.ts +129 -0
- package/dist/agents/adversary/tactics/index.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/index.js +199 -0
- package/dist/agents/adversary/tactics/index.js.map +1 -0
- package/dist/agents/adversary/tactics/infra.d.ts +13 -0
- package/dist/agents/adversary/tactics/infra.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/infra.js +827 -0
- package/dist/agents/adversary/tactics/infra.js.map +1 -0
- package/dist/agents/adversary/tactics/injection.d.ts +12 -0
- package/dist/agents/adversary/tactics/injection.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/injection.js +549 -0
- package/dist/agents/adversary/tactics/injection.js.map +1 -0
- package/dist/agents/adversary/tactics/llm.d.ts +13 -0
- package/dist/agents/adversary/tactics/llm.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/llm.js +767 -0
- package/dist/agents/adversary/tactics/llm.js.map +1 -0
- package/dist/agents/adversary/tactics/web-app.d.ts +13 -0
- package/dist/agents/adversary/tactics/web-app.d.ts.map +1 -0
- package/dist/agents/adversary/tactics/web-app.js +717 -0
- package/dist/agents/adversary/tactics/web-app.js.map +1 -0
- package/dist/agents/adversary/types.d.ts +66 -10
- package/dist/agents/adversary/types.d.ts.map +1 -1
- package/dist/agents/zero-day-hunter.d.ts +1 -1
- package/dist/agents/zero-day-hunter.d.ts.map +1 -1
- package/dist/analysis/data-flow.d.ts +154 -0
- package/dist/analysis/data-flow.d.ts.map +1 -0
- package/dist/analysis/data-flow.js +393 -0
- package/dist/analysis/data-flow.js.map +1 -0
- package/dist/analysis/index.d.ts +9 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/analysis/index.js +9 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/badge-service/index.d.ts +144 -0
- package/dist/badge-service/index.d.ts.map +1 -0
- package/dist/badge-service/index.js +206 -0
- package/dist/badge-service/index.js.map +1 -0
- package/dist/certification/types.d.ts +1 -1
- package/dist/certification/types.d.ts.map +1 -1
- package/dist/certification/types.js.map +1 -1
- package/dist/commands/certification/certify.d.ts.map +1 -1
- package/dist/commands/certification/certify.js +18 -4
- package/dist/commands/certification/certify.js.map +1 -1
- package/dist/compliance/attestation.d.ts +39 -0
- package/dist/compliance/attestation.d.ts.map +1 -0
- package/dist/compliance/attestation.js +364 -0
- package/dist/compliance/attestation.js.map +1 -0
- package/dist/compliance/cfr42-part2.d.ts +42 -0
- package/dist/compliance/cfr42-part2.d.ts.map +1 -0
- package/dist/compliance/cfr42-part2.js +408 -0
- package/dist/compliance/cfr42-part2.js.map +1 -0
- package/dist/compliance/compliance-bundle.d.ts +100 -0
- package/dist/compliance/compliance-bundle.d.ts.map +1 -0
- package/dist/compliance/compliance-bundle.js +210 -0
- package/dist/compliance/compliance-bundle.js.map +1 -0
- package/dist/compliance/healthcare-bundle.d.ts +68 -0
- package/dist/compliance/healthcare-bundle.d.ts.map +1 -0
- package/dist/compliance/healthcare-bundle.js +104 -0
- package/dist/compliance/healthcare-bundle.js.map +1 -0
- package/dist/compliance/hipaa.d.ts.map +1 -1
- package/dist/compliance/hipaa.js +14 -11
- package/dist/compliance/hipaa.js.map +1 -1
- package/dist/compliance/index.d.ts +10 -2
- package/dist/compliance/index.d.ts.map +1 -1
- package/dist/compliance/index.js +9 -3
- package/dist/compliance/index.js.map +1 -1
- package/dist/compliance/mapper.d.ts.map +1 -1
- package/dist/compliance/mapper.js +3 -17
- package/dist/compliance/mapper.js.map +1 -1
- package/dist/compliance/nist-800-53.d.ts +22 -6
- package/dist/compliance/nist-800-53.d.ts.map +1 -1
- package/dist/compliance/nist-800-53.js +264 -272
- package/dist/compliance/nist-800-53.js.map +1 -1
- package/dist/compliance/report.d.ts +31 -2
- package/dist/compliance/report.d.ts.map +1 -1
- package/dist/compliance/report.js +255 -4
- package/dist/compliance/report.js.map +1 -1
- package/dist/compliance/types.d.ts +1 -1
- package/dist/compliance/types.d.ts.map +1 -1
- package/dist/config/flags.d.ts +12 -12
- package/dist/cost/index.d.ts +1 -1
- package/dist/cost/index.d.ts.map +1 -1
- package/dist/cost/index.js +1 -1
- package/dist/cost/index.js.map +1 -1
- package/dist/cost/tracker.d.ts +64 -0
- package/dist/cost/tracker.d.ts.map +1 -1
- package/dist/cost/tracker.js +165 -0
- package/dist/cost/tracker.js.map +1 -1
- package/dist/eval/fixtures/healthcare/audit-gaps.d.ts +28 -0
- package/dist/eval/fixtures/healthcare/audit-gaps.d.ts.map +1 -0
- package/dist/eval/fixtures/healthcare/audit-gaps.js +90 -0
- package/dist/eval/fixtures/healthcare/audit-gaps.js.map +1 -0
- package/dist/eval/fixtures/healthcare/consent-bypass.d.ts +31 -0
- package/dist/eval/fixtures/healthcare/consent-bypass.d.ts.map +1 -0
- package/dist/eval/fixtures/healthcare/consent-bypass.js +61 -0
- package/dist/eval/fixtures/healthcare/consent-bypass.js.map +1 -0
- package/dist/eval/fixtures/healthcare/phi-in-logs.d.ts +24 -0
- package/dist/eval/fixtures/healthcare/phi-in-logs.d.ts.map +1 -0
- package/dist/eval/fixtures/healthcare/phi-in-logs.js +41 -0
- package/dist/eval/fixtures/healthcare/phi-in-logs.js.map +1 -0
- package/dist/evidence/collector.d.ts +21 -0
- package/dist/evidence/collector.d.ts.map +1 -0
- package/dist/evidence/collector.js +340 -0
- package/dist/evidence/collector.js.map +1 -0
- package/dist/evidence/index.d.ts +11 -0
- package/dist/evidence/index.d.ts.map +1 -0
- package/dist/evidence/index.js +12 -0
- package/dist/evidence/index.js.map +1 -0
- package/dist/evidence/store.d.ts +39 -0
- package/dist/evidence/store.d.ts.map +1 -0
- package/dist/evidence/store.js +173 -0
- package/dist/evidence/store.js.map +1 -0
- package/dist/evidence/types.d.ts +175 -0
- package/dist/evidence/types.d.ts.map +1 -0
- package/dist/evidence/types.js +9 -0
- package/dist/evidence/types.js.map +1 -0
- package/dist/exporters/checkmarx.d.ts +18 -0
- package/dist/exporters/checkmarx.d.ts.map +1 -0
- package/dist/exporters/checkmarx.js +203 -0
- package/dist/exporters/checkmarx.js.map +1 -0
- package/dist/exporters/index.d.ts +22 -0
- package/dist/exporters/index.d.ts.map +1 -0
- package/dist/exporters/index.js +41 -0
- package/dist/exporters/index.js.map +1 -0
- package/dist/exporters/snyk.d.ts +18 -0
- package/dist/exporters/snyk.d.ts.map +1 -0
- package/dist/exporters/snyk.js +119 -0
- package/dist/exporters/snyk.js.map +1 -0
- package/dist/exporters/sonarqube.d.ts +18 -0
- package/dist/exporters/sonarqube.d.ts.map +1 -0
- package/dist/exporters/sonarqube.js +125 -0
- package/dist/exporters/sonarqube.js.map +1 -0
- package/dist/exporters/types.d.ts +190 -0
- package/dist/exporters/types.d.ts.map +1 -0
- package/dist/exporters/types.js +9 -0
- package/dist/exporters/types.js.map +1 -0
- package/dist/frontier/index.d.ts +12 -0
- package/dist/frontier/index.d.ts.map +1 -0
- package/dist/frontier/index.js +12 -0
- package/dist/frontier/index.js.map +1 -0
- package/dist/frontier/orchestrator.d.ts +73 -0
- package/dist/frontier/orchestrator.d.ts.map +1 -0
- package/dist/frontier/orchestrator.js +312 -0
- package/dist/frontier/orchestrator.js.map +1 -0
- package/dist/frontier/providers/stub.d.ts +32 -0
- package/dist/frontier/providers/stub.d.ts.map +1 -0
- package/dist/frontier/providers/stub.js +66 -0
- package/dist/frontier/providers/stub.js.map +1 -0
- package/dist/frontier/types.d.ts +318 -0
- package/dist/frontier/types.d.ts.map +1 -0
- package/dist/frontier/types.js +27 -0
- package/dist/frontier/types.js.map +1 -0
- package/dist/history/index.d.ts +13 -0
- package/dist/history/index.d.ts.map +1 -0
- package/dist/history/index.js +15 -0
- package/dist/history/index.js.map +1 -0
- package/dist/history/store.d.ts +74 -0
- package/dist/history/store.d.ts.map +1 -0
- package/dist/history/store.js +399 -0
- package/dist/history/store.js.map +1 -0
- package/dist/history/types.d.ts +282 -0
- package/dist/history/types.d.ts.map +1 -0
- package/dist/history/types.js +41 -0
- package/dist/history/types.js.map +1 -0
- package/dist/history/verify.d.ts +44 -0
- package/dist/history/verify.d.ts.map +1 -0
- package/dist/history/verify.js +230 -0
- package/dist/history/verify.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +431 -18
- package/dist/index.js.map +1 -1
- package/dist/multimodel/index.d.ts +1 -0
- package/dist/multimodel/index.d.ts.map +1 -1
- package/dist/multimodel/index.js +2 -0
- package/dist/multimodel/index.js.map +1 -1
- package/dist/multimodel/leaderboard.d.ts +116 -0
- package/dist/multimodel/leaderboard.d.ts.map +1 -0
- package/dist/multimodel/leaderboard.js +262 -0
- package/dist/multimodel/leaderboard.js.map +1 -0
- package/dist/observability/otel.d.ts.map +1 -1
- package/dist/observability/otel.js +1 -3
- package/dist/observability/otel.js.map +1 -1
- package/dist/plugins/loader.js +1 -1
- package/dist/plugins/loader.js.map +1 -1
- package/dist/scanners/agent/agent-chain-analysis.d.ts +152 -0
- package/dist/scanners/agent/agent-chain-analysis.d.ts.map +1 -0
- package/dist/scanners/agent/agent-chain-analysis.js +438 -0
- package/dist/scanners/agent/agent-chain-analysis.js.map +1 -0
- package/dist/scanners/agent/payloads/index.d.ts +2 -1
- package/dist/scanners/agent/payloads/index.d.ts.map +1 -1
- package/dist/scanners/agent/payloads/index.js +25 -6
- package/dist/scanners/agent/payloads/index.js.map +1 -1
- package/dist/scanners/agent/prompt-injection-fuzzer.d.ts.map +1 -1
- package/dist/scanners/agent/prompt-injection-fuzzer.js +14 -0
- package/dist/scanners/agent/prompt-injection-fuzzer.js.map +1 -1
- package/dist/scanners/agent/types.d.ts +5 -5
- package/dist/scanners/agent/types.d.ts.map +1 -1
- package/dist/scanners/agent/types.js.map +1 -1
- package/dist/scanners/cache.d.ts +156 -0
- package/dist/scanners/cache.d.ts.map +1 -0
- package/dist/scanners/cache.js +462 -0
- package/dist/scanners/cache.js.map +1 -0
- package/dist/scanners/dependencies.js +4 -4
- package/dist/scanners/dependencies.js.map +1 -1
- package/dist/scanners/gosec.d.ts.map +1 -1
- package/dist/scanners/gosec.js +47 -9
- package/dist/scanners/gosec.js.map +1 -1
- package/dist/scanners/healthcare.d.ts +29 -0
- package/dist/scanners/healthcare.d.ts.map +1 -0
- package/dist/scanners/healthcare.js +526 -0
- package/dist/scanners/healthcare.js.map +1 -0
- package/dist/scanners/index.d.ts +1 -0
- package/dist/scanners/index.d.ts.map +1 -1
- package/dist/scanners/index.js +33 -0
- package/dist/scanners/index.js.map +1 -1
- package/dist/scanners/index.test.js +6 -6
- package/dist/scanners/index.test.js.map +1 -1
- package/dist/scanners/secrets.js +4 -4
- package/dist/scanners/secrets.js.map +1 -1
- package/dist/scanners/semgrep.js +5 -5
- package/dist/scanners/semgrep.js.map +1 -1
- package/dist/scanners/types.d.ts +1 -1
- package/dist/scanners/types.d.ts.map +1 -1
- package/dist/scanners/types.js +1 -0
- package/dist/scanners/types.js.map +1 -1
- package/dist/scanners/typescript.test.js +1 -1
- package/dist/scanners/typescript.test.js.map +1 -1
- package/dist/telemetry/index.d.ts +10 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +10 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry/registry.d.ts +178 -0
- package/dist/telemetry/registry.d.ts.map +1 -0
- package/dist/telemetry/registry.js +297 -0
- package/dist/telemetry/registry.js.map +1 -0
- package/dist/telemetry/usage.d.ts +197 -0
- package/dist/telemetry/usage.d.ts.map +1 -0
- package/dist/telemetry/usage.js +244 -0
- package/dist/telemetry/usage.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* NIST 800-53
|
|
2
|
+
* NIST SP 800-53 Rev. 5 Security Controls
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Security and Privacy Controls for Information Systems and Organizations.
|
|
5
|
+
* This implements controls relevant to software/code security.
|
|
6
|
+
*
|
|
7
|
+
* Control Families:
|
|
8
|
+
* - AC: Access Control
|
|
9
|
+
* - AU: Audit and Accountability
|
|
10
|
+
* - CA: Assessment, Authorization, and Monitoring
|
|
11
|
+
* - CM: Configuration Management
|
|
12
|
+
* - IA: Identification and Authentication
|
|
13
|
+
* - RA: Risk Assessment
|
|
14
|
+
* - SA: System and Services Acquisition
|
|
15
|
+
* - SC: System and Communications Protection
|
|
16
|
+
* - SI: System and Information Integrity
|
|
17
|
+
* - SR: Supply Chain Risk Management
|
|
6
18
|
*
|
|
7
19
|
* @module compliance/nist-800-53
|
|
8
20
|
*/
|
|
@@ -10,15 +22,17 @@
|
|
|
10
22
|
* NIST 800-53 Rev. 5 Controls relevant to code security
|
|
11
23
|
*/
|
|
12
24
|
export const NIST_800_53_CONTROLS = [
|
|
13
|
-
//
|
|
25
|
+
// =========================================================================
|
|
26
|
+
// AC - Access Control
|
|
27
|
+
// =========================================================================
|
|
14
28
|
{
|
|
15
29
|
id: "AC-2",
|
|
16
30
|
framework: "NIST-800-53",
|
|
17
31
|
category: "Access Control",
|
|
18
32
|
title: "Account Management",
|
|
19
|
-
description: "Define and document
|
|
33
|
+
description: "Define and document types of accounts allowed; create, enable, modify, disable, and remove accounts in accordance with policy.",
|
|
20
34
|
keywords: ["account", "user management", "provisioning", "deprovisioning"],
|
|
21
|
-
findingCategories: ["
|
|
35
|
+
findingCategories: ["broken-access-control", "auth-bypass"],
|
|
22
36
|
cweIds: ["CWE-269", "CWE-266", "CWE-284"],
|
|
23
37
|
severityThreshold: "medium",
|
|
24
38
|
},
|
|
@@ -28,7 +42,7 @@ export const NIST_800_53_CONTROLS = [
|
|
|
28
42
|
category: "Access Control",
|
|
29
43
|
title: "Access Enforcement",
|
|
30
44
|
description: "Enforce approved authorizations for logical access to information and system resources in accordance with applicable access control policies.",
|
|
31
|
-
keywords: ["authorization", "access control", "
|
|
45
|
+
keywords: ["authorization", "access control", "permission", "rbac", "abac"],
|
|
32
46
|
findingCategories: ["broken-access-control", "auth-bypass", "privilege-escalation"],
|
|
33
47
|
cweIds: ["CWE-862", "CWE-863", "CWE-285"],
|
|
34
48
|
severityThreshold: "high",
|
|
@@ -38,10 +52,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
38
52
|
framework: "NIST-800-53",
|
|
39
53
|
category: "Access Control",
|
|
40
54
|
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", "
|
|
43
|
-
findingCategories: ["data-exposure", "
|
|
44
|
-
cweIds: ["CWE-200", "CWE-918", "CWE-
|
|
55
|
+
description: "Enforce approved authorizations for controlling the flow of information within the system and between connected systems based on security policies.",
|
|
56
|
+
keywords: ["data flow", "information flow", "boundary", "cross-domain"],
|
|
57
|
+
findingCategories: ["data-exposure", "insecure-data-flow", "ssrf"],
|
|
58
|
+
cweIds: ["CWE-200", "CWE-918", "CWE-441"],
|
|
45
59
|
severityThreshold: "high",
|
|
46
60
|
},
|
|
47
61
|
{
|
|
@@ -49,10 +63,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
49
63
|
framework: "NIST-800-53",
|
|
50
64
|
category: "Access Control",
|
|
51
65
|
title: "Separation of Duties",
|
|
52
|
-
description: "Separate duties of individuals to
|
|
53
|
-
keywords: ["separation
|
|
54
|
-
findingCategories: ["
|
|
55
|
-
cweIds: ["CWE-
|
|
66
|
+
description: "Separate duties of individuals to reduce risk of malevolent activity without collusion.",
|
|
67
|
+
keywords: ["separation", "segregation", "duties", "roles"],
|
|
68
|
+
findingCategories: ["privilege-escalation", "broken-access-control"],
|
|
69
|
+
cweIds: ["CWE-250", "CWE-269"],
|
|
56
70
|
severityThreshold: "medium",
|
|
57
71
|
},
|
|
58
72
|
{
|
|
@@ -60,9 +74,9 @@ export const NIST_800_53_CONTROLS = [
|
|
|
60
74
|
framework: "NIST-800-53",
|
|
61
75
|
category: "Access Control",
|
|
62
76
|
title: "Least Privilege",
|
|
63
|
-
description: "Employ the principle of least privilege, allowing only authorized accesses
|
|
64
|
-
keywords: ["least privilege", "
|
|
65
|
-
findingCategories: ["
|
|
77
|
+
description: "Employ the principle of least privilege, allowing only authorized accesses that are necessary to accomplish assigned organizational tasks.",
|
|
78
|
+
keywords: ["least privilege", "minimum access", "need-to-know"],
|
|
79
|
+
findingCategories: ["privilege-escalation", "excessive-permissions"],
|
|
66
80
|
cweIds: ["CWE-250", "CWE-269", "CWE-732"],
|
|
67
81
|
severityThreshold: "medium",
|
|
68
82
|
},
|
|
@@ -71,10 +85,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
71
85
|
framework: "NIST-800-53",
|
|
72
86
|
category: "Access Control",
|
|
73
87
|
title: "Unsuccessful Logon Attempts",
|
|
74
|
-
description: "Enforce a limit of consecutive invalid logon attempts
|
|
75
|
-
keywords: ["login", "brute force", "lockout", "
|
|
76
|
-
findingCategories: ["
|
|
77
|
-
cweIds: ["CWE-307", "CWE-
|
|
88
|
+
description: "Enforce a limit of consecutive invalid logon attempts and take action when the limit is exceeded.",
|
|
89
|
+
keywords: ["login", "brute force", "lockout", "rate limit"],
|
|
90
|
+
findingCategories: ["brute-force", "auth-bypass"],
|
|
91
|
+
cweIds: ["CWE-307", "CWE-799"],
|
|
78
92
|
severityThreshold: "medium",
|
|
79
93
|
},
|
|
80
94
|
{
|
|
@@ -82,8 +96,8 @@ export const NIST_800_53_CONTROLS = [
|
|
|
82
96
|
framework: "NIST-800-53",
|
|
83
97
|
category: "Access Control",
|
|
84
98
|
title: "Concurrent Session Control",
|
|
85
|
-
description: "Limit the number of concurrent sessions for each
|
|
86
|
-
keywords: ["session", "concurrent", "
|
|
99
|
+
description: "Limit the number of concurrent sessions for each account.",
|
|
100
|
+
keywords: ["session", "concurrent", "login"],
|
|
87
101
|
findingCategories: ["session-management"],
|
|
88
102
|
cweIds: ["CWE-384", "CWE-613"],
|
|
89
103
|
severityThreshold: "low",
|
|
@@ -93,8 +107,8 @@ export const NIST_800_53_CONTROLS = [
|
|
|
93
107
|
framework: "NIST-800-53",
|
|
94
108
|
category: "Access Control",
|
|
95
109
|
title: "Device Lock",
|
|
96
|
-
description: "Prevent further access to the system by initiating a
|
|
97
|
-
keywords: ["session timeout", "idle
|
|
110
|
+
description: "Prevent further access to the system by initiating a device lock after a specified period of inactivity.",
|
|
111
|
+
keywords: ["session timeout", "idle", "lock", "inactivity"],
|
|
98
112
|
findingCategories: ["session-management"],
|
|
99
113
|
cweIds: ["CWE-613"],
|
|
100
114
|
severityThreshold: "low",
|
|
@@ -104,43 +118,34 @@ export const NIST_800_53_CONTROLS = [
|
|
|
104
118
|
framework: "NIST-800-53",
|
|
105
119
|
category: "Access Control",
|
|
106
120
|
title: "Session Termination",
|
|
107
|
-
description: "Automatically terminate a user session after
|
|
108
|
-
keywords: ["
|
|
121
|
+
description: "Automatically terminate a user session after conditions or trigger events.",
|
|
122
|
+
keywords: ["logout", "session", "termination", "invalidation"],
|
|
109
123
|
findingCategories: ["session-management"],
|
|
110
|
-
cweIds: ["CWE-613"],
|
|
124
|
+
cweIds: ["CWE-613", "CWE-384"],
|
|
111
125
|
severityThreshold: "low",
|
|
112
126
|
},
|
|
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
127
|
{
|
|
125
128
|
id: "AC-17",
|
|
126
129
|
framework: "NIST-800-53",
|
|
127
130
|
category: "Access Control",
|
|
128
131
|
title: "Remote Access",
|
|
129
|
-
description: "Establish and document usage restrictions
|
|
130
|
-
keywords: ["remote
|
|
131
|
-
findingCategories: ["insecure-
|
|
132
|
-
cweIds: ["CWE-
|
|
132
|
+
description: "Establish and document usage restrictions and implementation guidance for each type of remote access.",
|
|
133
|
+
keywords: ["remote", "vpn", "api", "external access"],
|
|
134
|
+
findingCategories: ["insecure-api", "auth-bypass"],
|
|
135
|
+
cweIds: ["CWE-287", "CWE-306"],
|
|
133
136
|
severityThreshold: "high",
|
|
134
137
|
},
|
|
135
|
-
//
|
|
138
|
+
// =========================================================================
|
|
139
|
+
// AU - Audit and Accountability
|
|
140
|
+
// =========================================================================
|
|
136
141
|
{
|
|
137
142
|
id: "AU-2",
|
|
138
143
|
framework: "NIST-800-53",
|
|
139
144
|
category: "Audit and Accountability",
|
|
140
145
|
title: "Event Logging",
|
|
141
|
-
description: "Identify the types of events that the system is capable of logging
|
|
142
|
-
keywords: ["logging", "audit", "
|
|
143
|
-
findingCategories: ["insufficient-logging"],
|
|
146
|
+
description: "Identify the types of events that the system is capable of logging and coordinate with related entities.",
|
|
147
|
+
keywords: ["logging", "audit", "events", "tracking"],
|
|
148
|
+
findingCategories: ["insufficient-logging", "security-misconfiguration"],
|
|
144
149
|
cweIds: ["CWE-778", "CWE-223"],
|
|
145
150
|
severityThreshold: "medium",
|
|
146
151
|
},
|
|
@@ -149,20 +154,20 @@ export const NIST_800_53_CONTROLS = [
|
|
|
149
154
|
framework: "NIST-800-53",
|
|
150
155
|
category: "Audit and Accountability",
|
|
151
156
|
title: "Content of Audit Records",
|
|
152
|
-
description: "Ensure that audit records contain information that establishes what type of event occurred, when
|
|
153
|
-
keywords: ["audit content", "log format", "
|
|
157
|
+
description: "Ensure that audit records contain information that establishes what type of event occurred, when, where, the source, outcome, and identity of involved individuals.",
|
|
158
|
+
keywords: ["audit content", "log format", "event details"],
|
|
154
159
|
findingCategories: ["insufficient-logging"],
|
|
155
|
-
cweIds: ["CWE-778"],
|
|
156
|
-
severityThreshold: "
|
|
160
|
+
cweIds: ["CWE-778", "CWE-532"],
|
|
161
|
+
severityThreshold: "low",
|
|
157
162
|
},
|
|
158
163
|
{
|
|
159
164
|
id: "AU-6",
|
|
160
165
|
framework: "NIST-800-53",
|
|
161
166
|
category: "Audit and Accountability",
|
|
162
167
|
title: "Audit Record Review, Analysis, and Reporting",
|
|
163
|
-
description: "Review and analyze system audit records for indications of inappropriate or unusual activity
|
|
164
|
-
keywords: ["
|
|
165
|
-
findingCategories: ["insufficient-logging"],
|
|
168
|
+
description: "Review and analyze system audit records for indications of inappropriate or unusual activity.",
|
|
169
|
+
keywords: ["log analysis", "monitoring", "detection", "siem"],
|
|
170
|
+
findingCategories: ["insufficient-logging", "security-misconfiguration"],
|
|
166
171
|
cweIds: ["CWE-778"],
|
|
167
172
|
severityThreshold: "medium",
|
|
168
173
|
},
|
|
@@ -172,54 +177,23 @@ export const NIST_800_53_CONTROLS = [
|
|
|
172
177
|
category: "Audit and Accountability",
|
|
173
178
|
title: "Protection of Audit Information",
|
|
174
179
|
description: "Protect audit information and audit logging tools from unauthorized access, modification, and deletion.",
|
|
175
|
-
keywords: ["log protection", "audit integrity", "tamper
|
|
176
|
-
findingCategories: ["
|
|
177
|
-
cweIds: ["CWE-
|
|
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: [],
|
|
180
|
+
keywords: ["log protection", "audit integrity", "tamper"],
|
|
181
|
+
findingCategories: ["log-injection", "insufficient-logging"],
|
|
182
|
+
cweIds: ["CWE-117", "CWE-532"],
|
|
211
183
|
severityThreshold: "medium",
|
|
212
184
|
},
|
|
213
|
-
//
|
|
185
|
+
// =========================================================================
|
|
186
|
+
// CM - Configuration Management
|
|
187
|
+
// =========================================================================
|
|
214
188
|
{
|
|
215
189
|
id: "CM-2",
|
|
216
190
|
framework: "NIST-800-53",
|
|
217
191
|
category: "Configuration Management",
|
|
218
192
|
title: "Baseline Configuration",
|
|
219
193
|
description: "Develop, document, and maintain a current baseline configuration of the system.",
|
|
220
|
-
keywords: ["baseline", "configuration", "hardening"],
|
|
194
|
+
keywords: ["baseline", "configuration", "standard", "hardening"],
|
|
221
195
|
findingCategories: ["security-misconfiguration"],
|
|
222
|
-
cweIds: ["CWE-
|
|
196
|
+
cweIds: ["CWE-16"],
|
|
223
197
|
severityThreshold: "medium",
|
|
224
198
|
},
|
|
225
199
|
{
|
|
@@ -227,21 +201,21 @@ export const NIST_800_53_CONTROLS = [
|
|
|
227
201
|
framework: "NIST-800-53",
|
|
228
202
|
category: "Configuration Management",
|
|
229
203
|
title: "Configuration Change Control",
|
|
230
|
-
description: "Determine and document
|
|
231
|
-
keywords: ["change
|
|
204
|
+
description: "Determine and document types of changes and control configuration changes to the system.",
|
|
205
|
+
keywords: ["change management", "version control", "deployment"],
|
|
232
206
|
findingCategories: ["security-misconfiguration"],
|
|
233
|
-
cweIds: ["CWE-
|
|
234
|
-
severityThreshold: "
|
|
207
|
+
cweIds: ["CWE-16"],
|
|
208
|
+
severityThreshold: "medium",
|
|
235
209
|
},
|
|
236
210
|
{
|
|
237
211
|
id: "CM-6",
|
|
238
212
|
framework: "NIST-800-53",
|
|
239
213
|
category: "Configuration Management",
|
|
240
214
|
title: "Configuration Settings",
|
|
241
|
-
description: "Establish and document configuration settings for
|
|
242
|
-
keywords: ["
|
|
243
|
-
findingCategories: ["security-misconfiguration"],
|
|
244
|
-
cweIds: ["CWE-
|
|
215
|
+
description: "Establish and document configuration settings for components using security configuration checklists.",
|
|
216
|
+
keywords: ["settings", "configuration", "defaults", "hardening"],
|
|
217
|
+
findingCategories: ["security-misconfiguration", "insecure-defaults"],
|
|
218
|
+
cweIds: ["CWE-16", "CWE-1188"],
|
|
245
219
|
severityThreshold: "medium",
|
|
246
220
|
},
|
|
247
221
|
{
|
|
@@ -249,33 +223,35 @@ export const NIST_800_53_CONTROLS = [
|
|
|
249
223
|
framework: "NIST-800-53",
|
|
250
224
|
category: "Configuration Management",
|
|
251
225
|
title: "Least Functionality",
|
|
252
|
-
description: "Configure the system to provide only essential capabilities and prohibit or restrict
|
|
253
|
-
keywords: ["
|
|
254
|
-
findingCategories: ["security-misconfiguration"],
|
|
255
|
-
cweIds: ["CWE-
|
|
226
|
+
description: "Configure the system to provide only mission-essential capabilities and prohibit or restrict use of functions, ports, protocols, and services.",
|
|
227
|
+
keywords: ["minimize", "disable", "restrict", "ports", "services"],
|
|
228
|
+
findingCategories: ["security-misconfiguration", "excessive-permissions"],
|
|
229
|
+
cweIds: ["CWE-16", "CWE-250"],
|
|
256
230
|
severityThreshold: "medium",
|
|
257
231
|
},
|
|
258
|
-
//
|
|
232
|
+
// =========================================================================
|
|
233
|
+
// IA - Identification and Authentication
|
|
234
|
+
// =========================================================================
|
|
259
235
|
{
|
|
260
236
|
id: "IA-2",
|
|
261
237
|
framework: "NIST-800-53",
|
|
262
238
|
category: "Identification and Authentication",
|
|
263
239
|
title: "Identification and Authentication (Organizational Users)",
|
|
264
|
-
description: "Uniquely identify and authenticate organizational users and associate that
|
|
265
|
-
keywords: ["authentication", "identity", "
|
|
266
|
-
findingCategories: ["auth-bypass", "
|
|
240
|
+
description: "Uniquely identify and authenticate organizational users and associate that identity with processes acting on behalf of those users.",
|
|
241
|
+
keywords: ["authentication", "identity", "login", "credential"],
|
|
242
|
+
findingCategories: ["auth-bypass", "broken-authentication"],
|
|
267
243
|
cweIds: ["CWE-287", "CWE-306"],
|
|
268
244
|
severityThreshold: "high",
|
|
269
245
|
},
|
|
270
246
|
{
|
|
271
|
-
id: "IA-
|
|
247
|
+
id: "IA-3",
|
|
272
248
|
framework: "NIST-800-53",
|
|
273
249
|
category: "Identification and Authentication",
|
|
274
|
-
title: "
|
|
275
|
-
description: "
|
|
276
|
-
keywords: ["
|
|
250
|
+
title: "Device Identification and Authentication",
|
|
251
|
+
description: "Uniquely identify and authenticate devices before establishing connections.",
|
|
252
|
+
keywords: ["device", "machine", "certificate", "mutual auth"],
|
|
277
253
|
findingCategories: ["auth-bypass"],
|
|
278
|
-
cweIds: ["CWE-287"],
|
|
254
|
+
cweIds: ["CWE-287", "CWE-295"],
|
|
279
255
|
severityThreshold: "medium",
|
|
280
256
|
},
|
|
281
257
|
{
|
|
@@ -283,9 +259,9 @@ export const NIST_800_53_CONTROLS = [
|
|
|
283
259
|
framework: "NIST-800-53",
|
|
284
260
|
category: "Identification and Authentication",
|
|
285
261
|
title: "Authenticator Management",
|
|
286
|
-
description: "Manage system authenticators by verifying identity
|
|
287
|
-
keywords: ["password", "credential", "
|
|
288
|
-
findingCategories: ["weak-password", "
|
|
262
|
+
description: "Manage system authenticators by verifying identity of individuals, establishing initial credentials, and transmitting and receiving authenticators securely.",
|
|
263
|
+
keywords: ["password", "credential", "token", "key management"],
|
|
264
|
+
findingCategories: ["weak-password", "credential-exposure", "secrets"],
|
|
289
265
|
cweIds: ["CWE-521", "CWE-522", "CWE-798"],
|
|
290
266
|
severityThreshold: "high",
|
|
291
267
|
},
|
|
@@ -295,9 +271,9 @@ export const NIST_800_53_CONTROLS = [
|
|
|
295
271
|
category: "Identification and Authentication",
|
|
296
272
|
title: "Authentication Feedback",
|
|
297
273
|
description: "Obscure feedback of authentication information during the authentication process to protect the information from possible exploitation by unauthorized individuals.",
|
|
298
|
-
keywords: ["
|
|
299
|
-
findingCategories: ["
|
|
300
|
-
cweIds: ["CWE-
|
|
274
|
+
keywords: ["password masking", "feedback", "enumeration"],
|
|
275
|
+
findingCategories: ["user-enumeration", "information-disclosure"],
|
|
276
|
+
cweIds: ["CWE-204", "CWE-203"],
|
|
301
277
|
severityThreshold: "low",
|
|
302
278
|
},
|
|
303
279
|
{
|
|
@@ -306,43 +282,37 @@ export const NIST_800_53_CONTROLS = [
|
|
|
306
282
|
category: "Identification and Authentication",
|
|
307
283
|
title: "Identification and Authentication (Non-Organizational Users)",
|
|
308
284
|
description: "Uniquely identify and authenticate non-organizational users or processes acting on behalf of non-organizational users.",
|
|
309
|
-
keywords: ["external
|
|
310
|
-
findingCategories: ["auth-bypass"],
|
|
311
|
-
cweIds: ["CWE-287"
|
|
285
|
+
keywords: ["external", "api key", "service account", "third-party"],
|
|
286
|
+
findingCategories: ["auth-bypass", "broken-authentication"],
|
|
287
|
+
cweIds: ["CWE-287"],
|
|
312
288
|
severityThreshold: "high",
|
|
313
289
|
},
|
|
314
|
-
//
|
|
315
|
-
|
|
316
|
-
|
|
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
|
-
},
|
|
290
|
+
// =========================================================================
|
|
291
|
+
// RA - Risk Assessment
|
|
292
|
+
// =========================================================================
|
|
326
293
|
{
|
|
327
294
|
id: "RA-5",
|
|
328
295
|
framework: "NIST-800-53",
|
|
329
296
|
category: "Risk Assessment",
|
|
330
297
|
title: "Vulnerability Monitoring and Scanning",
|
|
331
|
-
description: "Monitor and scan for vulnerabilities in the system and hosted applications and
|
|
332
|
-
keywords: ["vulnerability
|
|
333
|
-
findingCategories: ["dependency-
|
|
334
|
-
cweIds: ["CWE-
|
|
335
|
-
severityThreshold: "
|
|
298
|
+
description: "Monitor and scan for vulnerabilities in the system and hosted applications and remediate discovered vulnerabilities.",
|
|
299
|
+
keywords: ["vulnerability", "scanning", "assessment", "remediation"],
|
|
300
|
+
findingCategories: ["dependency-vulnerability", "outdated-component"],
|
|
301
|
+
cweIds: ["CWE-1104"],
|
|
302
|
+
severityThreshold: "medium",
|
|
336
303
|
},
|
|
337
|
-
//
|
|
304
|
+
// =========================================================================
|
|
305
|
+
// SA - System and Services Acquisition
|
|
306
|
+
// =========================================================================
|
|
338
307
|
{
|
|
339
308
|
id: "SA-8",
|
|
340
309
|
framework: "NIST-800-53",
|
|
341
310
|
category: "System and Services Acquisition",
|
|
342
311
|
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
|
|
344
|
-
keywords: ["secure design", "security
|
|
345
|
-
findingCategories: ["
|
|
312
|
+
description: "Apply security and privacy engineering principles in the specification, design, development, implementation, and modification of the system.",
|
|
313
|
+
keywords: ["secure design", "security principles", "architecture"],
|
|
314
|
+
findingCategories: ["insecure-design"],
|
|
315
|
+
cweIds: ["CWE-657"],
|
|
346
316
|
severityThreshold: "medium",
|
|
347
317
|
},
|
|
348
318
|
{
|
|
@@ -350,10 +320,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
350
320
|
framework: "NIST-800-53",
|
|
351
321
|
category: "System and Services Acquisition",
|
|
352
322
|
title: "Developer Configuration Management",
|
|
353
|
-
description: "Require the developer
|
|
354
|
-
keywords: ["
|
|
323
|
+
description: "Require the developer to maintain the integrity of changes and document them, perform configuration management, and implement only organization-approved changes.",
|
|
324
|
+
keywords: ["development", "version control", "change tracking"],
|
|
355
325
|
findingCategories: ["security-misconfiguration"],
|
|
356
|
-
cweIds: ["CWE-
|
|
326
|
+
cweIds: ["CWE-16"],
|
|
357
327
|
severityThreshold: "low",
|
|
358
328
|
},
|
|
359
329
|
{
|
|
@@ -361,62 +331,44 @@ export const NIST_800_53_CONTROLS = [
|
|
|
361
331
|
framework: "NIST-800-53",
|
|
362
332
|
category: "System and Services Acquisition",
|
|
363
333
|
title: "Developer Testing and Evaluation",
|
|
364
|
-
description: "Require the developer
|
|
365
|
-
keywords: ["
|
|
366
|
-
findingCategories: ["
|
|
367
|
-
|
|
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",
|
|
334
|
+
description: "Require the developer to create and implement a security and privacy assessment plan, demonstrate security and privacy control effectiveness.",
|
|
335
|
+
keywords: ["testing", "security testing", "code review", "assessment"],
|
|
336
|
+
findingCategories: ["insufficient-testing"],
|
|
337
|
+
cweIds: [],
|
|
338
|
+
severityThreshold: "low",
|
|
379
339
|
},
|
|
380
340
|
{
|
|
381
341
|
id: "SA-15",
|
|
382
342
|
framework: "NIST-800-53",
|
|
383
343
|
category: "System and Services Acquisition",
|
|
384
344
|
title: "Development Process, Standards, and Tools",
|
|
385
|
-
description: "Require the developer
|
|
386
|
-
keywords: ["
|
|
387
|
-
findingCategories: ["
|
|
345
|
+
description: "Require the developer to follow a documented development process that incorporates security and privacy considerations.",
|
|
346
|
+
keywords: ["sdlc", "secure development", "standards"],
|
|
347
|
+
findingCategories: ["insecure-design"],
|
|
348
|
+
cweIds: [],
|
|
388
349
|
severityThreshold: "low",
|
|
389
350
|
},
|
|
390
|
-
//
|
|
351
|
+
// =========================================================================
|
|
352
|
+
// SC - System and Communications Protection
|
|
353
|
+
// =========================================================================
|
|
391
354
|
{
|
|
392
355
|
id: "SC-4",
|
|
393
356
|
framework: "NIST-800-53",
|
|
394
357
|
category: "System and Communications Protection",
|
|
395
358
|
title: "Information in Shared System Resources",
|
|
396
359
|
description: "Prevent unauthorized and unintended information transfer via shared system resources.",
|
|
397
|
-
keywords: ["shared resources", "information leakage", "
|
|
398
|
-
findingCategories: ["data-exposure"],
|
|
399
|
-
cweIds: ["CWE-200", "CWE-
|
|
360
|
+
keywords: ["shared resources", "information leakage", "isolation"],
|
|
361
|
+
findingCategories: ["data-exposure", "information-disclosure"],
|
|
362
|
+
cweIds: ["CWE-200", "CWE-212"],
|
|
400
363
|
severityThreshold: "medium",
|
|
401
364
|
},
|
|
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
365
|
{
|
|
414
366
|
id: "SC-7",
|
|
415
367
|
framework: "NIST-800-53",
|
|
416
368
|
category: "System and Communications Protection",
|
|
417
369
|
title: "Boundary Protection",
|
|
418
|
-
description: "Monitor and control communications at the external managed interfaces to the system and at key internal
|
|
419
|
-
keywords: ["boundary
|
|
370
|
+
description: "Monitor and control communications at the external managed interfaces to the system and at key internal boundaries.",
|
|
371
|
+
keywords: ["boundary", "firewall", "gateway", "api gateway"],
|
|
420
372
|
findingCategories: ["ssrf", "path-traversal"],
|
|
421
373
|
cweIds: ["CWE-918", "CWE-22"],
|
|
422
374
|
severityThreshold: "high",
|
|
@@ -427,9 +379,9 @@ export const NIST_800_53_CONTROLS = [
|
|
|
427
379
|
category: "System and Communications Protection",
|
|
428
380
|
title: "Transmission Confidentiality and Integrity",
|
|
429
381
|
description: "Protect the confidentiality and integrity of transmitted information.",
|
|
430
|
-
keywords: ["encryption", "
|
|
431
|
-
findingCategories: ["insecure-transmission"],
|
|
432
|
-
cweIds: ["CWE-319", "CWE-
|
|
382
|
+
keywords: ["encryption", "tls", "https", "transmission"],
|
|
383
|
+
findingCategories: ["insecure-transmission", "cleartext"],
|
|
384
|
+
cweIds: ["CWE-319", "CWE-311"],
|
|
433
385
|
severityThreshold: "high",
|
|
434
386
|
},
|
|
435
387
|
{
|
|
@@ -437,10 +389,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
437
389
|
framework: "NIST-800-53",
|
|
438
390
|
category: "System and Communications Protection",
|
|
439
391
|
title: "Cryptographic Key Establishment and Management",
|
|
440
|
-
description: "Establish and manage cryptographic keys
|
|
441
|
-
keywords: ["
|
|
442
|
-
findingCategories: ["
|
|
443
|
-
cweIds: ["CWE-
|
|
392
|
+
description: "Establish and manage cryptographic keys used within the system.",
|
|
393
|
+
keywords: ["key management", "cryptographic", "keys", "rotation"],
|
|
394
|
+
findingCategories: ["weak-cryptography", "hardcoded-key"],
|
|
395
|
+
cweIds: ["CWE-321", "CWE-320"],
|
|
444
396
|
severityThreshold: "high",
|
|
445
397
|
},
|
|
446
398
|
{
|
|
@@ -448,22 +400,22 @@ export const NIST_800_53_CONTROLS = [
|
|
|
448
400
|
framework: "NIST-800-53",
|
|
449
401
|
category: "System and Communications Protection",
|
|
450
402
|
title: "Cryptographic Protection",
|
|
451
|
-
description: "Implement cryptographic mechanisms to
|
|
452
|
-
keywords: ["cryptography", "
|
|
453
|
-
findingCategories: ["weak-
|
|
454
|
-
cweIds: ["CWE-327", "CWE-328"
|
|
403
|
+
description: "Implement cryptographic mechanisms to protect confidentiality and integrity using approved algorithms.",
|
|
404
|
+
keywords: ["encryption", "cryptography", "algorithm", "cipher"],
|
|
405
|
+
findingCategories: ["weak-cryptography", "insecure-algorithm"],
|
|
406
|
+
cweIds: ["CWE-327", "CWE-328"],
|
|
455
407
|
severityThreshold: "high",
|
|
456
408
|
},
|
|
457
409
|
{
|
|
458
|
-
id: "SC-
|
|
410
|
+
id: "SC-17",
|
|
459
411
|
framework: "NIST-800-53",
|
|
460
412
|
category: "System and Communications Protection",
|
|
461
|
-
title: "
|
|
462
|
-
description: "
|
|
463
|
-
keywords: ["
|
|
464
|
-
findingCategories: ["
|
|
465
|
-
cweIds: ["CWE-
|
|
466
|
-
severityThreshold: "
|
|
413
|
+
title: "Public Key Infrastructure Certificates",
|
|
414
|
+
description: "Issue public key certificates under an appropriate certificate policy and obtain certificates from an approved service provider.",
|
|
415
|
+
keywords: ["certificate", "pki", "ssl", "tls"],
|
|
416
|
+
findingCategories: ["certificate-validation", "insecure-tls"],
|
|
417
|
+
cweIds: ["CWE-295", "CWE-296"],
|
|
418
|
+
severityThreshold: "medium",
|
|
467
419
|
},
|
|
468
420
|
{
|
|
469
421
|
id: "SC-23",
|
|
@@ -471,9 +423,9 @@ export const NIST_800_53_CONTROLS = [
|
|
|
471
423
|
category: "System and Communications Protection",
|
|
472
424
|
title: "Session Authenticity",
|
|
473
425
|
description: "Protect the authenticity of communications sessions.",
|
|
474
|
-
keywords: ["session
|
|
475
|
-
findingCategories: ["
|
|
476
|
-
cweIds: ["CWE-
|
|
426
|
+
keywords: ["session", "csrf", "session fixation", "hijacking"],
|
|
427
|
+
findingCategories: ["csrf", "session-management"],
|
|
428
|
+
cweIds: ["CWE-352", "CWE-384"],
|
|
477
429
|
severityThreshold: "high",
|
|
478
430
|
},
|
|
479
431
|
{
|
|
@@ -482,21 +434,23 @@ export const NIST_800_53_CONTROLS = [
|
|
|
482
434
|
category: "System and Communications Protection",
|
|
483
435
|
title: "Protection of Information at Rest",
|
|
484
436
|
description: "Protect the confidentiality and integrity of information at rest.",
|
|
485
|
-
keywords: ["
|
|
486
|
-
findingCategories: ["data-exposure", "
|
|
437
|
+
keywords: ["encryption at rest", "data protection", "storage"],
|
|
438
|
+
findingCategories: ["data-exposure", "unencrypted-data"],
|
|
487
439
|
cweIds: ["CWE-311", "CWE-312"],
|
|
488
440
|
severityThreshold: "high",
|
|
489
441
|
},
|
|
490
|
-
//
|
|
442
|
+
// =========================================================================
|
|
443
|
+
// SI - System and Information Integrity
|
|
444
|
+
// =========================================================================
|
|
491
445
|
{
|
|
492
446
|
id: "SI-2",
|
|
493
447
|
framework: "NIST-800-53",
|
|
494
448
|
category: "System and Information Integrity",
|
|
495
449
|
title: "Flaw Remediation",
|
|
496
|
-
description: "Identify, report, and correct system flaws
|
|
497
|
-
keywords: ["patching", "
|
|
498
|
-
findingCategories: ["dependency-
|
|
499
|
-
cweIds: ["CWE-
|
|
450
|
+
description: "Identify, report, and correct system flaws; install security-relevant software and firmware updates.",
|
|
451
|
+
keywords: ["patching", "updates", "remediation", "vulnerabilities"],
|
|
452
|
+
findingCategories: ["dependency-vulnerability", "outdated-component"],
|
|
453
|
+
cweIds: ["CWE-1104"],
|
|
500
454
|
severityThreshold: "high",
|
|
501
455
|
},
|
|
502
456
|
{
|
|
@@ -504,20 +458,20 @@ export const NIST_800_53_CONTROLS = [
|
|
|
504
458
|
framework: "NIST-800-53",
|
|
505
459
|
category: "System and Information Integrity",
|
|
506
460
|
title: "Malicious Code Protection",
|
|
507
|
-
description: "Implement malicious code protection
|
|
508
|
-
keywords: ["malware", "
|
|
509
|
-
findingCategories: ["code-injection", "xss", "
|
|
510
|
-
cweIds: ["CWE-94", "CWE-79", "CWE-
|
|
511
|
-
severityThreshold: "
|
|
461
|
+
description: "Implement malicious code protection that includes detection and eradication.",
|
|
462
|
+
keywords: ["malware", "virus", "malicious", "injection"],
|
|
463
|
+
findingCategories: ["code-injection", "xss", "sql-injection"],
|
|
464
|
+
cweIds: ["CWE-94", "CWE-79", "CWE-89"],
|
|
465
|
+
severityThreshold: "critical",
|
|
512
466
|
},
|
|
513
467
|
{
|
|
514
468
|
id: "SI-4",
|
|
515
469
|
framework: "NIST-800-53",
|
|
516
470
|
category: "System and Information Integrity",
|
|
517
471
|
title: "System Monitoring",
|
|
518
|
-
description: "Monitor the system to detect attacks
|
|
519
|
-
keywords: ["monitoring", "
|
|
520
|
-
findingCategories: ["insufficient-logging"],
|
|
472
|
+
description: "Monitor the system to detect attacks, unauthorized activities, and anomalies.",
|
|
473
|
+
keywords: ["monitoring", "detection", "intrusion", "anomaly"],
|
|
474
|
+
findingCategories: ["insufficient-logging", "security-misconfiguration"],
|
|
521
475
|
cweIds: ["CWE-778"],
|
|
522
476
|
severityThreshold: "medium",
|
|
523
477
|
},
|
|
@@ -527,9 +481,9 @@ export const NIST_800_53_CONTROLS = [
|
|
|
527
481
|
category: "System and Information Integrity",
|
|
528
482
|
title: "Software, Firmware, and Information Integrity",
|
|
529
483
|
description: "Employ integrity verification tools to detect unauthorized changes to software, firmware, and information.",
|
|
530
|
-
keywords: ["integrity", "checksum", "hash
|
|
531
|
-
findingCategories: ["
|
|
532
|
-
cweIds: ["CWE-
|
|
484
|
+
keywords: ["integrity", "checksum", "hash", "verification"],
|
|
485
|
+
findingCategories: ["integrity-check"],
|
|
486
|
+
cweIds: ["CWE-354"],
|
|
533
487
|
severityThreshold: "medium",
|
|
534
488
|
},
|
|
535
489
|
{
|
|
@@ -537,10 +491,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
537
491
|
framework: "NIST-800-53",
|
|
538
492
|
category: "System and Information Integrity",
|
|
539
493
|
title: "Information Input Validation",
|
|
540
|
-
description: "Check the validity of information inputs.",
|
|
541
|
-
keywords: ["input validation", "sanitization", "
|
|
494
|
+
description: "Check the validity of information inputs to the system.",
|
|
495
|
+
keywords: ["input validation", "sanitization", "filtering"],
|
|
542
496
|
findingCategories: ["sql-injection", "xss", "command-injection", "path-traversal"],
|
|
543
|
-
cweIds: ["CWE-20", "CWE-
|
|
497
|
+
cweIds: ["CWE-20", "CWE-79", "CWE-89", "CWE-78", "CWE-22"],
|
|
544
498
|
severityThreshold: "high",
|
|
545
499
|
},
|
|
546
500
|
{
|
|
@@ -548,10 +502,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
548
502
|
framework: "NIST-800-53",
|
|
549
503
|
category: "System and Information Integrity",
|
|
550
504
|
title: "Error Handling",
|
|
551
|
-
description: "Generate error messages that provide information necessary for corrective actions without revealing information
|
|
552
|
-
keywords: ["error handling", "
|
|
553
|
-
findingCategories: ["
|
|
554
|
-
cweIds: ["CWE-209", "CWE-
|
|
505
|
+
description: "Generate error messages that provide information necessary for corrective actions without revealing information exploitable by adversaries.",
|
|
506
|
+
keywords: ["error handling", "exception", "error message"],
|
|
507
|
+
findingCategories: ["information-disclosure", "verbose-errors"],
|
|
508
|
+
cweIds: ["CWE-209", "CWE-497"],
|
|
555
509
|
severityThreshold: "medium",
|
|
556
510
|
},
|
|
557
511
|
{
|
|
@@ -559,10 +513,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
559
513
|
framework: "NIST-800-53",
|
|
560
514
|
category: "System and Information Integrity",
|
|
561
515
|
title: "Information Management and Retention",
|
|
562
|
-
description: "Manage and retain information within the system and
|
|
563
|
-
keywords: ["data retention", "
|
|
564
|
-
findingCategories: ["data-exposure"],
|
|
565
|
-
cweIds: ["CWE-
|
|
516
|
+
description: "Manage and retain information within the system and output from the system in accordance with applicable requirements.",
|
|
517
|
+
keywords: ["data retention", "data management", "privacy"],
|
|
518
|
+
findingCategories: ["data-exposure", "pii-exposure"],
|
|
519
|
+
cweIds: ["CWE-200", "CWE-359"],
|
|
566
520
|
severityThreshold: "medium",
|
|
567
521
|
},
|
|
568
522
|
{
|
|
@@ -570,22 +524,24 @@ export const NIST_800_53_CONTROLS = [
|
|
|
570
524
|
framework: "NIST-800-53",
|
|
571
525
|
category: "System and Information Integrity",
|
|
572
526
|
title: "Memory Protection",
|
|
573
|
-
description: "Implement safeguards to protect
|
|
574
|
-
keywords: ["memory
|
|
575
|
-
findingCategories: ["
|
|
576
|
-
cweIds: ["CWE-119", "CWE-120", "CWE-
|
|
527
|
+
description: "Implement safeguards to protect memory from unauthorized code execution.",
|
|
528
|
+
keywords: ["memory", "buffer overflow", "stack", "heap"],
|
|
529
|
+
findingCategories: ["buffer-overflow", "memory-corruption"],
|
|
530
|
+
cweIds: ["CWE-119", "CWE-120", "CWE-787"],
|
|
577
531
|
severityThreshold: "critical",
|
|
578
532
|
},
|
|
579
|
-
//
|
|
533
|
+
// =========================================================================
|
|
534
|
+
// SR - Supply Chain Risk Management
|
|
535
|
+
// =========================================================================
|
|
580
536
|
{
|
|
581
537
|
id: "SR-3",
|
|
582
538
|
framework: "NIST-800-53",
|
|
583
539
|
category: "Supply Chain Risk Management",
|
|
584
540
|
title: "Supply Chain Controls and Processes",
|
|
585
|
-
description: "Establish a process to identify and
|
|
586
|
-
keywords: ["supply chain", "
|
|
587
|
-
findingCategories: ["dependency-
|
|
588
|
-
cweIds: ["CWE-
|
|
541
|
+
description: "Establish a process to identify, assess, and mitigate supply chain risks.",
|
|
542
|
+
keywords: ["supply chain", "dependencies", "third-party", "vendor"],
|
|
543
|
+
findingCategories: ["dependency-vulnerability", "supply-chain"],
|
|
544
|
+
cweIds: ["CWE-1104"],
|
|
589
545
|
severityThreshold: "high",
|
|
590
546
|
},
|
|
591
547
|
{
|
|
@@ -593,10 +549,10 @@ export const NIST_800_53_CONTROLS = [
|
|
|
593
549
|
framework: "NIST-800-53",
|
|
594
550
|
category: "Supply Chain Risk Management",
|
|
595
551
|
title: "Provenance",
|
|
596
|
-
description: "Document, monitor, and maintain valid provenance of
|
|
597
|
-
keywords: ["provenance", "
|
|
598
|
-
findingCategories: ["
|
|
599
|
-
cweIds: [
|
|
552
|
+
description: "Document, monitor, and maintain valid provenance of system components.",
|
|
553
|
+
keywords: ["provenance", "origin", "sbom", "bill of materials"],
|
|
554
|
+
findingCategories: ["supply-chain", "unknown-source"],
|
|
555
|
+
cweIds: [],
|
|
600
556
|
severityThreshold: "medium",
|
|
601
557
|
},
|
|
602
558
|
{
|
|
@@ -604,31 +560,22 @@ export const NIST_800_53_CONTROLS = [
|
|
|
604
560
|
framework: "NIST-800-53",
|
|
605
561
|
category: "Supply Chain Risk Management",
|
|
606
562
|
title: "Acquisition Strategies, Tools, and Methods",
|
|
607
|
-
description: "Employ acquisition strategies,
|
|
563
|
+
description: "Employ acquisition strategies, tools, and methods to protect against supply chain risks.",
|
|
608
564
|
keywords: ["acquisition", "procurement", "vendor assessment"],
|
|
609
|
-
findingCategories: ["
|
|
610
|
-
|
|
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",
|
|
565
|
+
findingCategories: ["supply-chain"],
|
|
566
|
+
cweIds: [],
|
|
567
|
+
severityThreshold: "low",
|
|
621
568
|
},
|
|
622
569
|
{
|
|
623
570
|
id: "SR-11",
|
|
624
571
|
framework: "NIST-800-53",
|
|
625
572
|
category: "Supply Chain Risk Management",
|
|
626
573
|
title: "Component Authenticity",
|
|
627
|
-
description: "Develop and implement anti-counterfeit policy and procedures
|
|
628
|
-
keywords: ["authenticity", "counterfeit", "
|
|
629
|
-
findingCategories: ["dependency-
|
|
630
|
-
cweIds: [
|
|
631
|
-
severityThreshold: "
|
|
574
|
+
description: "Develop and implement anti-counterfeit policy and procedures for detecting and preventing counterfeit components.",
|
|
575
|
+
keywords: ["authenticity", "counterfeit", "verification"],
|
|
576
|
+
findingCategories: ["supply-chain", "dependency-vulnerability"],
|
|
577
|
+
cweIds: [],
|
|
578
|
+
severityThreshold: "medium",
|
|
632
579
|
},
|
|
633
580
|
];
|
|
634
581
|
/**
|
|
@@ -641,24 +588,69 @@ export function getNIST80053Controls() {
|
|
|
641
588
|
* Get NIST 800-53 controls by category (control family)
|
|
642
589
|
*/
|
|
643
590
|
export function getNIST80053ControlsByCategory(category) {
|
|
644
|
-
return NIST_800_53_CONTROLS.filter((c) => c.category === category);
|
|
591
|
+
return NIST_800_53_CONTROLS.filter((c) => c.category.toLowerCase() === category.toLowerCase());
|
|
645
592
|
}
|
|
646
593
|
/**
|
|
647
594
|
* Get NIST 800-53 control by ID
|
|
648
595
|
*/
|
|
649
596
|
export function getNIST80053ControlById(id) {
|
|
650
|
-
return NIST_800_53_CONTROLS.find((c) => c.id === id);
|
|
597
|
+
return NIST_800_53_CONTROLS.find((c) => c.id === id || c.id === id.toUpperCase());
|
|
651
598
|
}
|
|
652
599
|
/**
|
|
653
|
-
* Get NIST 800-53 control
|
|
600
|
+
* Get all NIST 800-53 control categories (families)
|
|
654
601
|
*/
|
|
655
602
|
export function getNIST80053Categories() {
|
|
656
|
-
|
|
603
|
+
const categories = new Set(NIST_800_53_CONTROLS.map((c) => c.category));
|
|
604
|
+
return Array.from(categories).sort();
|
|
657
605
|
}
|
|
658
606
|
/**
|
|
659
|
-
*
|
|
607
|
+
* NIST 800-53 control family descriptions
|
|
660
608
|
*/
|
|
661
|
-
export
|
|
662
|
-
|
|
663
|
-
|
|
609
|
+
export const NIST_CONTROL_FAMILIES = {
|
|
610
|
+
"Access Control": {
|
|
611
|
+
id: "AC",
|
|
612
|
+
name: "Access Control",
|
|
613
|
+
description: "Limit system access to authorized users, processes, or devices.",
|
|
614
|
+
},
|
|
615
|
+
"Audit and Accountability": {
|
|
616
|
+
id: "AU",
|
|
617
|
+
name: "Audit and Accountability",
|
|
618
|
+
description: "Create, protect, and retain system audit records; ensure accountability.",
|
|
619
|
+
},
|
|
620
|
+
"Configuration Management": {
|
|
621
|
+
id: "CM",
|
|
622
|
+
name: "Configuration Management",
|
|
623
|
+
description: "Establish and maintain configurations using security engineering principles.",
|
|
624
|
+
},
|
|
625
|
+
"Identification and Authentication": {
|
|
626
|
+
id: "IA",
|
|
627
|
+
name: "Identification and Authentication",
|
|
628
|
+
description: "Identify and authenticate users, processes, and devices.",
|
|
629
|
+
},
|
|
630
|
+
"Risk Assessment": {
|
|
631
|
+
id: "RA",
|
|
632
|
+
name: "Risk Assessment",
|
|
633
|
+
description: "Assess risks to organizational operations, assets, and individuals.",
|
|
634
|
+
},
|
|
635
|
+
"System and Services Acquisition": {
|
|
636
|
+
id: "SA",
|
|
637
|
+
name: "System and Services Acquisition",
|
|
638
|
+
description: "Allocate sufficient resources for security; employ secure development processes.",
|
|
639
|
+
},
|
|
640
|
+
"System and Communications Protection": {
|
|
641
|
+
id: "SC",
|
|
642
|
+
name: "System and Communications Protection",
|
|
643
|
+
description: "Protect communications and control boundaries between systems.",
|
|
644
|
+
},
|
|
645
|
+
"System and Information Integrity": {
|
|
646
|
+
id: "SI",
|
|
647
|
+
name: "System and Information Integrity",
|
|
648
|
+
description: "Identify, report, and correct system flaws; protect against malicious code.",
|
|
649
|
+
},
|
|
650
|
+
"Supply Chain Risk Management": {
|
|
651
|
+
id: "SR",
|
|
652
|
+
name: "Supply Chain Risk Management",
|
|
653
|
+
description: "Identify, assess, and mitigate supply chain risks.",
|
|
654
|
+
},
|
|
655
|
+
};
|
|
664
656
|
//# sourceMappingURL=nist-800-53.js.map
|