@mitre/hdf-converters 2.10.2 → 2.10.3
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/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +4 -1
- package/lib/src/ckl-mapper/checklist-jsonix-converter.d.ts +45 -4
- package/lib/src/ckl-mapper/checklist-jsonix-converter.js +432 -49
- package/lib/src/ckl-mapper/checklist-jsonix-converter.js.map +1 -1
- package/lib/src/ckl-mapper/checklist-mapper.d.ts +6 -3
- package/lib/src/ckl-mapper/checklist-mapper.js +177 -84
- package/lib/src/ckl-mapper/checklist-mapper.js.map +1 -1
- package/lib/src/ckl-mapper/checklistJsonix.d.ts +204 -0
- package/lib/src/ckl-mapper/checklistJsonix.js +131 -0
- package/lib/src/ckl-mapper/checklistJsonix.js.map +1 -0
- package/lib/src/jsonix-converter.d.ts +5 -3
- package/lib/src/jsonix-converter.js +9 -6
- package/lib/src/jsonix-converter.js.map +1 -1
- package/lib/src/jsonix-intermediate-converter.d.ts +1 -0
- package/lib/src/mappings/CciNistMapping.d.ts +49 -0
- package/lib/src/mappings/CciNistMapping.js +86 -1
- package/lib/src/mappings/CciNistMapping.js.map +1 -1
- package/lib/src/utils/CCI_List.d.ts +1 -0
- package/lib/src/utils/CCI_List.js +56259 -0
- package/lib/src/utils/CCI_List.js.map +1 -0
- package/package.json +4 -1
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
export type Checklist = {
|
|
2
|
+
name?: Name;
|
|
3
|
+
value?: boolean | null | Stigdata | string;
|
|
4
|
+
};
|
|
5
|
+
export type Name = {
|
|
6
|
+
localPart: LocalPartEnum;
|
|
7
|
+
namespaceURI?: string;
|
|
8
|
+
prefix?: null | string;
|
|
9
|
+
};
|
|
10
|
+
export declare enum LocalPartEnum {
|
|
11
|
+
Asset = "ASSET",
|
|
12
|
+
AssetType = "ASSET_TYPE",
|
|
13
|
+
AttributeData = "ATTRIBUTE_DATA",
|
|
14
|
+
Checklist = "CHECKLIST",
|
|
15
|
+
Comments = "COMMENTS",
|
|
16
|
+
FindingDetails = "FINDING_DETAILS",
|
|
17
|
+
HostFQDN = "HOST_FQDN",
|
|
18
|
+
HostGUID = "HOST_GUID",
|
|
19
|
+
HostIP = "HOST_IP",
|
|
20
|
+
HostMAC = "HOST_MAC",
|
|
21
|
+
HostName = "HOST_NAME",
|
|
22
|
+
ISTIG = "iSTIG",
|
|
23
|
+
Marking = "MARKING",
|
|
24
|
+
Role = "ROLE",
|
|
25
|
+
SeverityJustification = "SEVERITY_JUSTIFICATION",
|
|
26
|
+
SeverityOverride = "SEVERITY_OVERRIDE",
|
|
27
|
+
SiData = "SI_DATA",
|
|
28
|
+
SidData = "SID_DATA",
|
|
29
|
+
SidName = "SID_NAME",
|
|
30
|
+
Status = "STATUS",
|
|
31
|
+
StigData = "STIG_DATA",
|
|
32
|
+
StigGUID = "STIG_GUID",
|
|
33
|
+
StigInfo = "STIG_INFO",
|
|
34
|
+
Stigs = "STIGS",
|
|
35
|
+
TargetComment = "TARGET_COMMENT",
|
|
36
|
+
TargetKey = "TARGET_KEY",
|
|
37
|
+
TechArea = "TECH_AREA",
|
|
38
|
+
Vuln = "VULN",
|
|
39
|
+
VulnAttribute = "VULN_ATTRIBUTE",
|
|
40
|
+
WebDBInstance = "WEB_DB_INSTANCE",
|
|
41
|
+
WebDBSite = "WEB_DB_SITE",
|
|
42
|
+
WebOrDatabase = "WEB_OR_DATABASE"
|
|
43
|
+
}
|
|
44
|
+
export type Stigdata = {
|
|
45
|
+
attributedata?: null | string;
|
|
46
|
+
vulnattribute?: Vulnattribute;
|
|
47
|
+
comments?: null | string;
|
|
48
|
+
findingdetails?: null | string;
|
|
49
|
+
severityjustification?: null | string;
|
|
50
|
+
severityoverride?: Severityoverride;
|
|
51
|
+
status?: Status;
|
|
52
|
+
stigdata?: StigdatumElement[];
|
|
53
|
+
sidata?: Sidata[];
|
|
54
|
+
assettype?: Assettype;
|
|
55
|
+
hostfqdn?: null | string;
|
|
56
|
+
hostguid?: null | string;
|
|
57
|
+
hostip?: null | string;
|
|
58
|
+
hostmac?: null | string;
|
|
59
|
+
hostname?: null | string;
|
|
60
|
+
marking?: null | string;
|
|
61
|
+
role?: Role;
|
|
62
|
+
stigguid?: null | string;
|
|
63
|
+
targetcomment?: null | string;
|
|
64
|
+
targetkey?: null | string;
|
|
65
|
+
techarea?: Techarea;
|
|
66
|
+
webdbinstance?: null | string;
|
|
67
|
+
webdbsite?: null | string;
|
|
68
|
+
webordatabase?: boolean | null;
|
|
69
|
+
asset?: Asset;
|
|
70
|
+
stigs?: Stigs;
|
|
71
|
+
stiginfo?: Stiginfo;
|
|
72
|
+
vuln?: Vuln[];
|
|
73
|
+
siddata?: null | string;
|
|
74
|
+
sidname?: Sidname;
|
|
75
|
+
istig?: Istig[];
|
|
76
|
+
};
|
|
77
|
+
export type Asset = {
|
|
78
|
+
assettype: Assettype;
|
|
79
|
+
hostfqdn: null | string;
|
|
80
|
+
hostguid?: null | string;
|
|
81
|
+
hostip: null | string;
|
|
82
|
+
hostmac: null | string;
|
|
83
|
+
hostname: null | string;
|
|
84
|
+
marking?: null | string;
|
|
85
|
+
role: Role;
|
|
86
|
+
stigguid?: null | string;
|
|
87
|
+
targetcomment?: null | string;
|
|
88
|
+
targetkey: null | string;
|
|
89
|
+
techarea: Techarea;
|
|
90
|
+
webdbinstance: null | string;
|
|
91
|
+
webdbsite: null | string;
|
|
92
|
+
webordatabase: boolean | null;
|
|
93
|
+
};
|
|
94
|
+
export declare enum Assettype {
|
|
95
|
+
Computing = "Computing",
|
|
96
|
+
NonComputing = "Non-Computing"
|
|
97
|
+
}
|
|
98
|
+
export declare enum Role {
|
|
99
|
+
DomainController = "Domain Controller",
|
|
100
|
+
MemberServer = "Member Server",
|
|
101
|
+
None = "None",
|
|
102
|
+
Workstation = "Workstation"
|
|
103
|
+
}
|
|
104
|
+
export declare enum Techarea {
|
|
105
|
+
Empty = "",
|
|
106
|
+
ApplicationReview = "Application Review",
|
|
107
|
+
BoundarySecurity = "Boundary Security",
|
|
108
|
+
CDSAdminReview = "CDS Admin Review",
|
|
109
|
+
CDSTechnicalReview = "CDS Technical Review",
|
|
110
|
+
DatabaseReview = "Database Review",
|
|
111
|
+
DomainNameSystemDNS = "Domain Name System (DNS)",
|
|
112
|
+
ExchangeServer = "Exchange Server",
|
|
113
|
+
HostBasedSystemSecurityHBSS = "Host Based System Security (HBSS)",
|
|
114
|
+
InternalNetwork = "Internal Network",
|
|
115
|
+
Mobility = "Mobility",
|
|
116
|
+
OtherReview = "Other Review",
|
|
117
|
+
ReleasableNetworksREL = "Releasable Networks (REL)",
|
|
118
|
+
ReleaseableNetworksREL = "Releaseable Networks (REL)",
|
|
119
|
+
TraditionalSecurity = "Traditional Security",
|
|
120
|
+
UnixOS = "UNIX OS",
|
|
121
|
+
VVOIPReview = "VVOIP Review",
|
|
122
|
+
WebReview = "Web Review",
|
|
123
|
+
WindowsOS = "Windows OS"
|
|
124
|
+
}
|
|
125
|
+
export type Istig = {
|
|
126
|
+
stiginfo: Stiginfo;
|
|
127
|
+
vuln: Vuln[];
|
|
128
|
+
};
|
|
129
|
+
export type Stiginfo = {
|
|
130
|
+
sidata: Sidata[];
|
|
131
|
+
};
|
|
132
|
+
export type Sidata = {
|
|
133
|
+
siddata?: null | string;
|
|
134
|
+
sidname: Sidname;
|
|
135
|
+
};
|
|
136
|
+
export declare enum Sidname {
|
|
137
|
+
Classification = "classification",
|
|
138
|
+
Customname = "customname",
|
|
139
|
+
Description = "description",
|
|
140
|
+
Filename = "filename",
|
|
141
|
+
Notice = "notice",
|
|
142
|
+
Releaseinfo = "releaseinfo",
|
|
143
|
+
Source = "source",
|
|
144
|
+
Stigid = "stigid",
|
|
145
|
+
Title = "title",
|
|
146
|
+
UUID = "uuid",
|
|
147
|
+
Version = "version"
|
|
148
|
+
}
|
|
149
|
+
export type Vuln = {
|
|
150
|
+
comments: null | string;
|
|
151
|
+
findingdetails: null | string;
|
|
152
|
+
severityjustification: null | string;
|
|
153
|
+
severityoverride: Severityoverride;
|
|
154
|
+
status: Status;
|
|
155
|
+
stigdata: StigdatumElement[];
|
|
156
|
+
};
|
|
157
|
+
export declare enum Severityoverride {
|
|
158
|
+
Empty = "",
|
|
159
|
+
High = "high",
|
|
160
|
+
Low = "low",
|
|
161
|
+
Medium = "medium"
|
|
162
|
+
}
|
|
163
|
+
export declare enum Status {
|
|
164
|
+
NotAFinding = "NotAFinding",
|
|
165
|
+
NotApplicable = "Not_Applicable",
|
|
166
|
+
NotReviewed = "Not_Reviewed",
|
|
167
|
+
Open = "Open"
|
|
168
|
+
}
|
|
169
|
+
export type StigdatumElement = {
|
|
170
|
+
attributedata: null | string;
|
|
171
|
+
vulnattribute: Vulnattribute;
|
|
172
|
+
};
|
|
173
|
+
export declare enum Vulnattribute {
|
|
174
|
+
CciRef = "CCI_REF",
|
|
175
|
+
CheckContent = "Check_Content",
|
|
176
|
+
CheckContentRef = "Check_Content_Ref",
|
|
177
|
+
Class = "Class",
|
|
178
|
+
Documentable = "Documentable",
|
|
179
|
+
FalseNegatives = "False_Negatives",
|
|
180
|
+
FalsePositives = "False_Positives",
|
|
181
|
+
FixText = "Fix_Text",
|
|
182
|
+
GroupTitle = "Group_Title",
|
|
183
|
+
IAControls = "IA_Controls",
|
|
184
|
+
LegacyID = "LEGACY_ID",
|
|
185
|
+
MitigationControl = "Mitigation_Control",
|
|
186
|
+
Mitigations = "Mitigations",
|
|
187
|
+
PotentialImpact = "Potential_Impact",
|
|
188
|
+
Responsibility = "Responsibility",
|
|
189
|
+
RuleID = "Rule_ID",
|
|
190
|
+
RuleTitle = "Rule_Title",
|
|
191
|
+
RuleVer = "Rule_Ver",
|
|
192
|
+
STIGRef = "STIGRef",
|
|
193
|
+
SecurityOverrideGuidance = "Security_Override_Guidance",
|
|
194
|
+
Severity = "Severity",
|
|
195
|
+
StigUUID = "STIG_UUID",
|
|
196
|
+
TargetKey = "TargetKey",
|
|
197
|
+
ThirdPartyTools = "Third_Party_Tools",
|
|
198
|
+
VulnDiscuss = "Vuln_Discuss",
|
|
199
|
+
VulnNum = "Vuln_Num",
|
|
200
|
+
Weight = "Weight"
|
|
201
|
+
}
|
|
202
|
+
export type Stigs = {
|
|
203
|
+
istig: Istig[];
|
|
204
|
+
};
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Vulnattribute = exports.Status = exports.Severityoverride = exports.Sidname = exports.Techarea = exports.Role = exports.Assettype = exports.LocalPartEnum = void 0;
|
|
4
|
+
var LocalPartEnum;
|
|
5
|
+
(function (LocalPartEnum) {
|
|
6
|
+
LocalPartEnum["Asset"] = "ASSET";
|
|
7
|
+
LocalPartEnum["AssetType"] = "ASSET_TYPE";
|
|
8
|
+
LocalPartEnum["AttributeData"] = "ATTRIBUTE_DATA";
|
|
9
|
+
LocalPartEnum["Checklist"] = "CHECKLIST";
|
|
10
|
+
LocalPartEnum["Comments"] = "COMMENTS";
|
|
11
|
+
LocalPartEnum["FindingDetails"] = "FINDING_DETAILS";
|
|
12
|
+
LocalPartEnum["HostFQDN"] = "HOST_FQDN";
|
|
13
|
+
LocalPartEnum["HostGUID"] = "HOST_GUID";
|
|
14
|
+
LocalPartEnum["HostIP"] = "HOST_IP";
|
|
15
|
+
LocalPartEnum["HostMAC"] = "HOST_MAC";
|
|
16
|
+
LocalPartEnum["HostName"] = "HOST_NAME";
|
|
17
|
+
LocalPartEnum["ISTIG"] = "iSTIG";
|
|
18
|
+
LocalPartEnum["Marking"] = "MARKING";
|
|
19
|
+
LocalPartEnum["Role"] = "ROLE";
|
|
20
|
+
LocalPartEnum["SeverityJustification"] = "SEVERITY_JUSTIFICATION";
|
|
21
|
+
LocalPartEnum["SeverityOverride"] = "SEVERITY_OVERRIDE";
|
|
22
|
+
LocalPartEnum["SiData"] = "SI_DATA";
|
|
23
|
+
LocalPartEnum["SidData"] = "SID_DATA";
|
|
24
|
+
LocalPartEnum["SidName"] = "SID_NAME";
|
|
25
|
+
LocalPartEnum["Status"] = "STATUS";
|
|
26
|
+
LocalPartEnum["StigData"] = "STIG_DATA";
|
|
27
|
+
LocalPartEnum["StigGUID"] = "STIG_GUID";
|
|
28
|
+
LocalPartEnum["StigInfo"] = "STIG_INFO";
|
|
29
|
+
LocalPartEnum["Stigs"] = "STIGS";
|
|
30
|
+
LocalPartEnum["TargetComment"] = "TARGET_COMMENT";
|
|
31
|
+
LocalPartEnum["TargetKey"] = "TARGET_KEY";
|
|
32
|
+
LocalPartEnum["TechArea"] = "TECH_AREA";
|
|
33
|
+
LocalPartEnum["Vuln"] = "VULN";
|
|
34
|
+
LocalPartEnum["VulnAttribute"] = "VULN_ATTRIBUTE";
|
|
35
|
+
LocalPartEnum["WebDBInstance"] = "WEB_DB_INSTANCE";
|
|
36
|
+
LocalPartEnum["WebDBSite"] = "WEB_DB_SITE";
|
|
37
|
+
LocalPartEnum["WebOrDatabase"] = "WEB_OR_DATABASE";
|
|
38
|
+
})(LocalPartEnum = exports.LocalPartEnum || (exports.LocalPartEnum = {}));
|
|
39
|
+
var Assettype;
|
|
40
|
+
(function (Assettype) {
|
|
41
|
+
Assettype["Computing"] = "Computing";
|
|
42
|
+
Assettype["NonComputing"] = "Non-Computing";
|
|
43
|
+
})(Assettype = exports.Assettype || (exports.Assettype = {}));
|
|
44
|
+
var Role;
|
|
45
|
+
(function (Role) {
|
|
46
|
+
Role["DomainController"] = "Domain Controller";
|
|
47
|
+
Role["MemberServer"] = "Member Server";
|
|
48
|
+
Role["None"] = "None";
|
|
49
|
+
Role["Workstation"] = "Workstation";
|
|
50
|
+
})(Role = exports.Role || (exports.Role = {}));
|
|
51
|
+
var Techarea;
|
|
52
|
+
(function (Techarea) {
|
|
53
|
+
Techarea["Empty"] = "";
|
|
54
|
+
Techarea["ApplicationReview"] = "Application Review";
|
|
55
|
+
Techarea["BoundarySecurity"] = "Boundary Security";
|
|
56
|
+
Techarea["CDSAdminReview"] = "CDS Admin Review";
|
|
57
|
+
Techarea["CDSTechnicalReview"] = "CDS Technical Review";
|
|
58
|
+
Techarea["DatabaseReview"] = "Database Review";
|
|
59
|
+
Techarea["DomainNameSystemDNS"] = "Domain Name System (DNS)";
|
|
60
|
+
Techarea["ExchangeServer"] = "Exchange Server";
|
|
61
|
+
Techarea["HostBasedSystemSecurityHBSS"] = "Host Based System Security (HBSS)";
|
|
62
|
+
Techarea["InternalNetwork"] = "Internal Network";
|
|
63
|
+
Techarea["Mobility"] = "Mobility";
|
|
64
|
+
Techarea["OtherReview"] = "Other Review";
|
|
65
|
+
Techarea["ReleasableNetworksREL"] = "Releasable Networks (REL)";
|
|
66
|
+
Techarea["ReleaseableNetworksREL"] = "Releaseable Networks (REL)";
|
|
67
|
+
Techarea["TraditionalSecurity"] = "Traditional Security";
|
|
68
|
+
Techarea["UnixOS"] = "UNIX OS";
|
|
69
|
+
Techarea["VVOIPReview"] = "VVOIP Review";
|
|
70
|
+
Techarea["WebReview"] = "Web Review";
|
|
71
|
+
Techarea["WindowsOS"] = "Windows OS";
|
|
72
|
+
})(Techarea = exports.Techarea || (exports.Techarea = {}));
|
|
73
|
+
var Sidname;
|
|
74
|
+
(function (Sidname) {
|
|
75
|
+
Sidname["Classification"] = "classification";
|
|
76
|
+
Sidname["Customname"] = "customname";
|
|
77
|
+
Sidname["Description"] = "description";
|
|
78
|
+
Sidname["Filename"] = "filename";
|
|
79
|
+
Sidname["Notice"] = "notice";
|
|
80
|
+
Sidname["Releaseinfo"] = "releaseinfo";
|
|
81
|
+
Sidname["Source"] = "source";
|
|
82
|
+
Sidname["Stigid"] = "stigid";
|
|
83
|
+
Sidname["Title"] = "title";
|
|
84
|
+
Sidname["UUID"] = "uuid";
|
|
85
|
+
Sidname["Version"] = "version";
|
|
86
|
+
})(Sidname = exports.Sidname || (exports.Sidname = {}));
|
|
87
|
+
var Severityoverride;
|
|
88
|
+
(function (Severityoverride) {
|
|
89
|
+
Severityoverride["Empty"] = "";
|
|
90
|
+
Severityoverride["High"] = "high";
|
|
91
|
+
Severityoverride["Low"] = "low";
|
|
92
|
+
Severityoverride["Medium"] = "medium";
|
|
93
|
+
})(Severityoverride = exports.Severityoverride || (exports.Severityoverride = {}));
|
|
94
|
+
var Status;
|
|
95
|
+
(function (Status) {
|
|
96
|
+
Status["NotAFinding"] = "NotAFinding";
|
|
97
|
+
Status["NotApplicable"] = "Not_Applicable";
|
|
98
|
+
Status["NotReviewed"] = "Not_Reviewed";
|
|
99
|
+
Status["Open"] = "Open";
|
|
100
|
+
})(Status = exports.Status || (exports.Status = {}));
|
|
101
|
+
var Vulnattribute;
|
|
102
|
+
(function (Vulnattribute) {
|
|
103
|
+
Vulnattribute["CciRef"] = "CCI_REF";
|
|
104
|
+
Vulnattribute["CheckContent"] = "Check_Content";
|
|
105
|
+
Vulnattribute["CheckContentRef"] = "Check_Content_Ref";
|
|
106
|
+
Vulnattribute["Class"] = "Class";
|
|
107
|
+
Vulnattribute["Documentable"] = "Documentable";
|
|
108
|
+
Vulnattribute["FalseNegatives"] = "False_Negatives";
|
|
109
|
+
Vulnattribute["FalsePositives"] = "False_Positives";
|
|
110
|
+
Vulnattribute["FixText"] = "Fix_Text";
|
|
111
|
+
Vulnattribute["GroupTitle"] = "Group_Title";
|
|
112
|
+
Vulnattribute["IAControls"] = "IA_Controls";
|
|
113
|
+
Vulnattribute["LegacyID"] = "LEGACY_ID";
|
|
114
|
+
Vulnattribute["MitigationControl"] = "Mitigation_Control";
|
|
115
|
+
Vulnattribute["Mitigations"] = "Mitigations";
|
|
116
|
+
Vulnattribute["PotentialImpact"] = "Potential_Impact";
|
|
117
|
+
Vulnattribute["Responsibility"] = "Responsibility";
|
|
118
|
+
Vulnattribute["RuleID"] = "Rule_ID";
|
|
119
|
+
Vulnattribute["RuleTitle"] = "Rule_Title";
|
|
120
|
+
Vulnattribute["RuleVer"] = "Rule_Ver";
|
|
121
|
+
Vulnattribute["STIGRef"] = "STIGRef";
|
|
122
|
+
Vulnattribute["SecurityOverrideGuidance"] = "Security_Override_Guidance";
|
|
123
|
+
Vulnattribute["Severity"] = "Severity";
|
|
124
|
+
Vulnattribute["StigUUID"] = "STIG_UUID";
|
|
125
|
+
Vulnattribute["TargetKey"] = "TargetKey";
|
|
126
|
+
Vulnattribute["ThirdPartyTools"] = "Third_Party_Tools";
|
|
127
|
+
Vulnattribute["VulnDiscuss"] = "Vuln_Discuss";
|
|
128
|
+
Vulnattribute["VulnNum"] = "Vuln_Num";
|
|
129
|
+
Vulnattribute["Weight"] = "Weight";
|
|
130
|
+
})(Vulnattribute = exports.Vulnattribute || (exports.Vulnattribute = {}));
|
|
131
|
+
//# sourceMappingURL=checklistJsonix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checklistJsonix.js","sourceRoot":"","sources":["../../../src/ckl-mapper/checklistJsonix.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { Jsonix } from '@mitre/jsonix';
|
|
1
2
|
export declare abstract class JsonixConverter<T> {
|
|
2
|
-
|
|
3
|
-
constructor(
|
|
4
|
-
toJsonix(
|
|
3
|
+
context: Jsonix.Context;
|
|
4
|
+
constructor(mapping: Record<string, unknown>);
|
|
5
|
+
toJsonix(xmlString: string): T;
|
|
6
|
+
fromJsonix(object: T): string;
|
|
5
7
|
}
|
|
@@ -3,13 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.JsonixConverter = void 0;
|
|
4
4
|
const jsonix_1 = require("@mitre/jsonix");
|
|
5
5
|
class JsonixConverter {
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
6
|
+
constructor(mapping) {
|
|
7
|
+
this.context = new jsonix_1.Jsonix.Context([mapping]);
|
|
8
8
|
}
|
|
9
|
-
toJsonix(
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
toJsonix(xmlString) {
|
|
10
|
+
const unmarshaller = this.context.createUnmarshaller();
|
|
11
|
+
return unmarshaller.unmarshalString(xmlString);
|
|
12
|
+
}
|
|
13
|
+
fromJsonix(object) {
|
|
14
|
+
const marshaller = this.context.createMarshaller();
|
|
15
|
+
return marshaller.marshalString(object);
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
18
|
exports.JsonixConverter = JsonixConverter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsonix-converter.js","sourceRoot":"","sources":["../../src/jsonix-converter.ts"],"names":[],"mappings":";;;AAAA,0CAAqC;AAErC,MAAsB,eAAe;IAGnC,YAAY,
|
|
1
|
+
{"version":3,"file":"jsonix-converter.js","sourceRoot":"","sources":["../../src/jsonix-converter.ts"],"names":[],"mappings":";;;AAAA,0CAAqC;AAErC,MAAsB,eAAe;IAGnC,YAAY,OAAgC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,QAAQ,CAAC,SAAiB;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QACvD,OAAO,YAAY,CAAC,eAAe,CAAC,SAAS,CAAM,CAAC;IACtD,CAAC;IAED,UAAU,CAAC,MAAS;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACnD,OAAO,UAAU,CAAC,aAAa,CAAC,MAAiC,CAAC,CAAC;IACrE,CAAC;CACF;AAhBD,0CAgBC"}
|
|
@@ -1,6 +1,55 @@
|
|
|
1
1
|
import { CciNistMappingItem } from './CciNistMappingItem';
|
|
2
|
+
type Reference = {
|
|
3
|
+
'@_creator': string;
|
|
4
|
+
'@_title': string;
|
|
5
|
+
'@_version': string;
|
|
6
|
+
'@_location': string;
|
|
7
|
+
'@_index': string;
|
|
8
|
+
};
|
|
9
|
+
type CciItem = {
|
|
10
|
+
status: string;
|
|
11
|
+
publishdate: string;
|
|
12
|
+
contributor: string;
|
|
13
|
+
definition: string;
|
|
14
|
+
type: string;
|
|
15
|
+
references: {
|
|
16
|
+
reference: Reference[];
|
|
17
|
+
};
|
|
18
|
+
'@_id': string;
|
|
19
|
+
};
|
|
20
|
+
type CciItems = {
|
|
21
|
+
cci_item: CciItem[];
|
|
22
|
+
};
|
|
23
|
+
type Metadata = {
|
|
24
|
+
version: string;
|
|
25
|
+
publishdate: string;
|
|
26
|
+
};
|
|
27
|
+
type CciList = {
|
|
28
|
+
metadata: Metadata;
|
|
29
|
+
cci_items: CciItems;
|
|
30
|
+
};
|
|
31
|
+
type CciNistData = {
|
|
32
|
+
'?xml': {
|
|
33
|
+
'@_version': string;
|
|
34
|
+
'@_encoding': string;
|
|
35
|
+
};
|
|
36
|
+
'?xml-stylesheet': {
|
|
37
|
+
'@_type': string;
|
|
38
|
+
'@_href': string;
|
|
39
|
+
};
|
|
40
|
+
cci_list: CciList;
|
|
41
|
+
};
|
|
42
|
+
export declare class CciNistTwoWayMapper {
|
|
43
|
+
data: CciNistData;
|
|
44
|
+
constructor();
|
|
45
|
+
nistFilter(identifiers: string[], defaultNist: string[], collapse?: boolean): string[];
|
|
46
|
+
cciFilter(identifiers: string[], defaultCci: string[]): string[];
|
|
47
|
+
private findHighestVersionNistControlByCci;
|
|
48
|
+
private findMatchingCciIdsByNistControl;
|
|
49
|
+
}
|
|
2
50
|
export declare class CciNistMapping {
|
|
3
51
|
data: CciNistMappingItem[];
|
|
4
52
|
constructor();
|
|
5
53
|
nistFilter(identifiers: string[], defaultNist: string[], collapse?: boolean): string[];
|
|
6
54
|
}
|
|
55
|
+
export {};
|
|
@@ -1,8 +1,93 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CciNistMapping = void 0;
|
|
6
|
+
exports.CciNistMapping = exports.CciNistTwoWayMapper = void 0;
|
|
7
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const CCI_List_1 = require("../utils/CCI_List");
|
|
4
10
|
const CciNistMappingData_1 = require("./CciNistMappingData");
|
|
5
11
|
const CciNistMappingItem_1 = require("./CciNistMappingItem");
|
|
12
|
+
class CciNistTwoWayMapper {
|
|
13
|
+
constructor() {
|
|
14
|
+
const alwaysArray = ['cci_item', 'reference'];
|
|
15
|
+
const options = {
|
|
16
|
+
ignoreAttributes: false,
|
|
17
|
+
isArray: (tagName) => {
|
|
18
|
+
if (alwaysArray.includes(tagName)) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const parser = new fast_xml_parser_1.XMLParser(options);
|
|
27
|
+
this.data = parser.parse(CCI_List_1.CCI_List);
|
|
28
|
+
}
|
|
29
|
+
nistFilter(identifiers, defaultNist, collapse = true) {
|
|
30
|
+
const DEFAULT_NIST_TAGS = defaultNist;
|
|
31
|
+
let matches = [];
|
|
32
|
+
for (const id of identifiers) {
|
|
33
|
+
const nistRef = this.findHighestVersionNistControlByCci(id);
|
|
34
|
+
if (nistRef) {
|
|
35
|
+
matches.push(nistRef);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (collapse) {
|
|
39
|
+
matches = lodash_1.default.uniq(matches);
|
|
40
|
+
}
|
|
41
|
+
return matches !== null && matches !== void 0 ? matches : DEFAULT_NIST_TAGS;
|
|
42
|
+
}
|
|
43
|
+
cciFilter(identifiers, defaultCci) {
|
|
44
|
+
const matches = [];
|
|
45
|
+
for (const id of identifiers) {
|
|
46
|
+
matches.push(...this.findMatchingCciIdsByNistControl(id));
|
|
47
|
+
}
|
|
48
|
+
return matches !== null && matches !== void 0 ? matches : defaultCci;
|
|
49
|
+
}
|
|
50
|
+
findHighestVersionNistControlByCci(targetId) {
|
|
51
|
+
let highestVersionControl = null;
|
|
52
|
+
let highestVersion = -1;
|
|
53
|
+
const { cci_item } = this.data.cci_list.cci_items;
|
|
54
|
+
const targetItem = cci_item.find((item) => item['@_id'] === targetId);
|
|
55
|
+
if (targetItem) {
|
|
56
|
+
for (const reference of targetItem.references.reference) {
|
|
57
|
+
const version = parseFloat(reference['@_version']);
|
|
58
|
+
if (version > highestVersion) {
|
|
59
|
+
highestVersion = version;
|
|
60
|
+
highestVersionControl = reference['@_index'];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return highestVersionControl;
|
|
65
|
+
}
|
|
66
|
+
findMatchingCciIdsByNistControl(pattern) {
|
|
67
|
+
const matchingIds = [];
|
|
68
|
+
const { cci_item } = this.data.cci_list.cci_items;
|
|
69
|
+
for (const item of cci_item) {
|
|
70
|
+
for (const reference of item.references.reference) {
|
|
71
|
+
const regexPattern = new RegExp(`^${pattern}`);
|
|
72
|
+
if (RegExp(regexPattern).exec(reference['@_index']) &&
|
|
73
|
+
item.type === 'technical') {
|
|
74
|
+
matchingIds.push(item['@_id']);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
if (matchingIds.length === 0) {
|
|
78
|
+
const regexEditedPattern = new RegExp(`${/\w\w-\d\d?\d?/g.exec(pattern)}`);
|
|
79
|
+
if (RegExp(regexEditedPattern).exec(reference['@_index']) &&
|
|
80
|
+
item.type === 'technical') {
|
|
81
|
+
matchingIds.push(item['@_id']);
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return matchingIds;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.CciNistTwoWayMapper = CciNistTwoWayMapper;
|
|
6
91
|
class CciNistMapping {
|
|
7
92
|
constructor() {
|
|
8
93
|
this.data = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CciNistMapping.js","sourceRoot":"","sources":["../../../src/mappings/CciNistMapping.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CciNistMapping.js","sourceRoot":"","sources":["../../../src/mappings/CciNistMapping.ts"],"names":[],"mappings":"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"}
|