@x12i/map-store-client 0.1.3 → 0.1.5
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/README.md +155 -1
- package/dist/estate/analytics.d.ts +50 -0
- package/dist/estate/analytics.d.ts.map +1 -0
- package/dist/estate/analytics.js +128 -0
- package/dist/estate/analytics.js.map +1 -0
- package/dist/estate/census.d.ts +123 -0
- package/dist/estate/census.d.ts.map +1 -0
- package/dist/estate/census.js +275 -0
- package/dist/estate/census.js.map +1 -0
- package/dist/estate/client.d.ts +66 -0
- package/dist/estate/client.d.ts.map +1 -0
- package/dist/estate/client.js +10 -0
- package/dist/estate/client.js.map +1 -0
- package/dist/estate/content.d.ts +91 -0
- package/dist/estate/content.d.ts.map +1 -0
- package/dist/estate/content.js +251 -0
- package/dist/estate/content.js.map +1 -0
- package/dist/estate/contract.d.ts +76 -0
- package/dist/estate/contract.d.ts.map +1 -0
- package/dist/estate/contract.js +291 -0
- package/dist/estate/contract.js.map +1 -0
- package/dist/estate/decisions.d.ts +32 -0
- package/dist/estate/decisions.d.ts.map +1 -0
- package/dist/estate/decisions.js +113 -0
- package/dist/estate/decisions.js.map +1 -0
- package/dist/estate/ids.d.ts +3 -0
- package/dist/estate/ids.d.ts.map +1 -0
- package/dist/estate/ids.js +6 -0
- package/dist/estate/ids.js.map +1 -0
- package/dist/estate/index.d.ts +30 -0
- package/dist/estate/index.d.ts.map +1 -0
- package/dist/estate/index.js +19 -0
- package/dist/estate/index.js.map +1 -0
- package/dist/estate/localStories.d.ts +28 -0
- package/dist/estate/localStories.d.ts.map +1 -0
- package/dist/estate/localStories.js +980 -0
- package/dist/estate/localStories.js.map +1 -0
- package/dist/estate/pack.d.ts +45 -0
- package/dist/estate/pack.d.ts.map +1 -0
- package/dist/estate/pack.js +83 -0
- package/dist/estate/pack.js.map +1 -0
- package/dist/estate/predictedAttack.d.ts +79 -0
- package/dist/estate/predictedAttack.d.ts.map +1 -0
- package/dist/estate/predictedAttack.js +321 -0
- package/dist/estate/predictedAttack.js.map +1 -0
- package/dist/estate/readState.d.ts +33 -0
- package/dist/estate/readState.d.ts.map +1 -0
- package/dist/estate/readState.js +58 -0
- package/dist/estate/readState.js.map +1 -0
- package/dist/estate/stories.d.ts +93 -0
- package/dist/estate/stories.d.ts.map +1 -0
- package/dist/estate/stories.js +224 -0
- package/dist/estate/stories.js.map +1 -0
- package/dist/estate/verdictReason.d.ts +17 -0
- package/dist/estate/verdictReason.d.ts.map +1 -0
- package/dist/estate/verdictReason.js +49 -0
- package/dist/estate/verdictReason.js.map +1 -0
- package/dist/fetch.d.ts +2 -0
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +13 -3
- package/dist/fetch.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/queries.d.ts +98 -0
- package/dist/queries.d.ts.map +1 -0
- package/dist/queries.js +180 -0
- package/dist/queries.js.map +1 -0
- package/package.json +14 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qCAAqC,EACrC,UAAU,EACV,kCAAkC,EAClC,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,mBAAmB,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qCAAqC,EACrC,UAAU,EACV,kCAAkC,EAClC,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,mBAAmB,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,5 +11,6 @@ export { fetchObjectSecurityContext, normalizeObjectSecurityContext, } from './o
|
|
|
11
11
|
export { fetchInvestigationPackets, fetchInvestigationPacket, parsePacketIndex, } from './packets';
|
|
12
12
|
export { ALL_BROWSEABLE_WORKING_PRODUCTS, ON_DEMAND_WORKING_PRODUCTS, browseableProduct, } from './products';
|
|
13
13
|
export { BAG_PRODUCTS, SERVING_OBJECT_TYPE, DISALLOWED_SECURITY_MAP_CONTENT_TYPES, bagProduct, isDisallowedSecurityMapContentType, memorixRecordId, mapStoreWorkingPath, } from './bagCatalog';
|
|
14
|
+
export { queryFindings, parseFindingSignal, fetchVulnerabilitiesBriefing, parseVulnerabilitiesBriefing, parseRelevantCritical, briefingDescriptionLine, cveRelevantCriticals, VENDOR_NO_DESCRIPTION, } from './queries';
|
|
14
15
|
export { fetchAttackSurfacesIndex, fetchAttackSurfaceDossier, fetchVpnSitesIndex, fetchVpnSiteDossier, fetchAttackCasePacketsIndex, fetchAttackCasePacket, readEntrySurfaces, recordRefToRoute, defaultEpistemicChrome, parseEpistemicBuckets, } from './attackSurfaces';
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qCAAqC,EACrC,UAAU,EACV,kCAAkC,EAClC,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qCAAqC,EACrC,UAAU,EACV,kCAAkC,EAClC,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AAUnB,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two map-store routes that are POST queries rather than working products.
|
|
3
|
+
* Both pin the session pair from `fetchBootstrap` and read the open vulnerability set.
|
|
4
|
+
* Descriptions come from the vendor feed the station stored. Nothing here invents text.
|
|
5
|
+
*/
|
|
6
|
+
export type DescriptionStatus = 'AVAILABLE' | 'VENDOR_NOT_PROVIDED';
|
|
7
|
+
/**
|
|
8
|
+
* Scanner fields for one open finding.
|
|
9
|
+
* Severity and CVSS come from the scanner. KEV and EPSS are the land stamp.
|
|
10
|
+
* A missing field stays null.
|
|
11
|
+
*/
|
|
12
|
+
export type FindingSignal = {
|
|
13
|
+
id: string | null;
|
|
14
|
+
cveId: string | null;
|
|
15
|
+
severity: string | null;
|
|
16
|
+
cvssScore: number | null;
|
|
17
|
+
kevListed: boolean | null;
|
|
18
|
+
epss: number | null;
|
|
19
|
+
exprtRating: string | null;
|
|
20
|
+
description: string | null;
|
|
21
|
+
descriptionStatus: DescriptionStatus | null;
|
|
22
|
+
};
|
|
23
|
+
export declare function parseFindingSignal(row: unknown): FindingSignal | null;
|
|
24
|
+
export type FindingsQueryInput = {
|
|
25
|
+
snapshotSetId: string;
|
|
26
|
+
analysisSnapshotId?: string | null;
|
|
27
|
+
/** Defaults to `tgi`. */
|
|
28
|
+
tenantId?: string;
|
|
29
|
+
signal?: AbortSignal;
|
|
30
|
+
/** Defaults to 200. */
|
|
31
|
+
limit?: number;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* `POST /map-store/v1/tenants/{tenant}/findings:query`.
|
|
35
|
+
* Open vulnerability findings for the pinned pair. The vulnerability catalog joins
|
|
36
|
+
* these onto the walked `findings-query` rows by finding id and by CVE id.
|
|
37
|
+
*/
|
|
38
|
+
export declare function queryFindings(input: FindingsQueryInput): Promise<FindingSignal[]>;
|
|
39
|
+
export type BriefingGap = {
|
|
40
|
+
id: string;
|
|
41
|
+
kind: string | null;
|
|
42
|
+
message: string | null;
|
|
43
|
+
count: number | null;
|
|
44
|
+
};
|
|
45
|
+
export type RelevantCritical = {
|
|
46
|
+
uniqueRiskKey: string | null;
|
|
47
|
+
riskId: string | null;
|
|
48
|
+
kind: 'cve' | 'cwe' | 'check' | string;
|
|
49
|
+
cveId: string | null;
|
|
50
|
+
title: string | null;
|
|
51
|
+
description: string | null;
|
|
52
|
+
descriptionStatus: DescriptionStatus | null;
|
|
53
|
+
hostCount: number;
|
|
54
|
+
findingCount: number | null;
|
|
55
|
+
cvssScore: number | null;
|
|
56
|
+
exprtRating: string | null;
|
|
57
|
+
kevListed: boolean | null;
|
|
58
|
+
exploitAvailable: boolean | null;
|
|
59
|
+
cisaKev: boolean | null;
|
|
60
|
+
};
|
|
61
|
+
export type VulnerabilitiesBriefing = {
|
|
62
|
+
snapshotSetId: string | null;
|
|
63
|
+
relevantCriticals: RelevantCritical[];
|
|
64
|
+
gaps: BriefingGap[];
|
|
65
|
+
/** True when gaps[] includes `gap:soes:cve-name-unavailable`. */
|
|
66
|
+
cveNameUnavailable: boolean;
|
|
67
|
+
};
|
|
68
|
+
export declare const VENDOR_NO_DESCRIPTION = "Vendor did not provide a description";
|
|
69
|
+
export declare function parseRelevantCritical(row: unknown): RelevantCritical | null;
|
|
70
|
+
export declare function parseVulnerabilitiesBriefing(payload: unknown): VulnerabilitiesBriefing;
|
|
71
|
+
/**
|
|
72
|
+
* Caption for a CVE chip.
|
|
73
|
+
* AVAILABLE → description, then title. VENDOR_NOT_PROVIDED → the explicit vendor gap.
|
|
74
|
+
* No status → only text the row already carries.
|
|
75
|
+
*/
|
|
76
|
+
export declare function briefingDescriptionLine(row: {
|
|
77
|
+
description: string | null;
|
|
78
|
+
title: string | null;
|
|
79
|
+
descriptionStatus: DescriptionStatus | null;
|
|
80
|
+
}): string | null;
|
|
81
|
+
export type VulnerabilitiesBriefingInput = {
|
|
82
|
+
snapshotSetId: string;
|
|
83
|
+
analysisSnapshotId?: string | null;
|
|
84
|
+
/** Defaults to `tgi`. */
|
|
85
|
+
tenantId?: string;
|
|
86
|
+
/** Defaults to 10. */
|
|
87
|
+
relevantLimit?: number;
|
|
88
|
+
signal?: AbortSignal;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* `POST /map-store/v1/tenants/{tenant}/vulnerabilities:briefing`.
|
|
92
|
+
* Ranked CVE hubs for the pinned pair. The CVE catalog paints these first,
|
|
93
|
+
* ahead of the walked `cve-catalog` and the bundled CVE text.
|
|
94
|
+
*/
|
|
95
|
+
export declare function fetchVulnerabilitiesBriefing(input: VulnerabilitiesBriefingInput): Promise<VulnerabilitiesBriefing>;
|
|
96
|
+
/** CVE hubs only, ranked by host count. */
|
|
97
|
+
export declare function cveRelevantCriticals(briefing: VulnerabilitiesBriefing | null, limit?: number): RelevantCritical[];
|
|
98
|
+
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
|
package/dist/queries.js
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The two map-store routes that are POST queries rather than working products.
|
|
3
|
+
* Both pin the session pair from `fetchBootstrap` and read the open vulnerability set.
|
|
4
|
+
* Descriptions come from the vendor feed the station stored. Nothing here invents text.
|
|
5
|
+
*/
|
|
6
|
+
import { mapPost } from './fetch';
|
|
7
|
+
import { asList, asRecord, firstString } from './util';
|
|
8
|
+
const DEFAULT_TENANT = 'tgi';
|
|
9
|
+
/** A CVE id wherever it is written, or null when the text names none. */
|
|
10
|
+
function readLooseCve(value) {
|
|
11
|
+
if (typeof value === 'string') {
|
|
12
|
+
const match = value.match(/CVE-\d{4}-\d+/i);
|
|
13
|
+
return match ? match[0].toUpperCase() : null;
|
|
14
|
+
}
|
|
15
|
+
const rec = asRecord(value);
|
|
16
|
+
if (!rec)
|
|
17
|
+
return null;
|
|
18
|
+
return readLooseCve(rec.id ?? rec.cveId ?? rec.value ?? rec.cve);
|
|
19
|
+
}
|
|
20
|
+
function num(value) {
|
|
21
|
+
if (typeof value === 'number' && Number.isFinite(value))
|
|
22
|
+
return value;
|
|
23
|
+
if (typeof value === 'string' && value.trim() && Number.isFinite(Number(value)))
|
|
24
|
+
return Number(value);
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
function bool(value) {
|
|
28
|
+
if (value === true || value === false)
|
|
29
|
+
return value;
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
function statusOf(value) {
|
|
33
|
+
const s = firstString(value)?.toUpperCase();
|
|
34
|
+
if (s === 'AVAILABLE' || s === 'VENDOR_NOT_PROVIDED')
|
|
35
|
+
return s;
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
export function parseFindingSignal(row) {
|
|
39
|
+
const rec = asRecord(row);
|
|
40
|
+
if (!rec)
|
|
41
|
+
return null;
|
|
42
|
+
const signals = asRecord(rec.globalSignals);
|
|
43
|
+
return {
|
|
44
|
+
id: firstString(rec.id, rec.findingId, rec.objectId) ?? null,
|
|
45
|
+
cveId: firstString(rec.cveId) ?? null,
|
|
46
|
+
severity: firstString(rec.severity, signals?.severity) ?? null,
|
|
47
|
+
cvssScore: num(rec.cvssScore ?? signals?.cvssScore ?? asRecord(signals?.cvss)?.baseScore),
|
|
48
|
+
kevListed: bool(rec.kevListed ?? rec.cisaKev ?? signals?.kevListed ?? signals?.cisaKev ?? signals?.kev),
|
|
49
|
+
epss: num(rec.epss ?? signals?.epss ?? asRecord(signals?.epss)?.score ?? signals?.epssScore),
|
|
50
|
+
exprtRating: firstString(rec.exprtRating) ?? null,
|
|
51
|
+
description: firstString(rec.description) ?? null,
|
|
52
|
+
descriptionStatus: statusOf(rec.descriptionStatus),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* `POST /map-store/v1/tenants/{tenant}/findings:query`.
|
|
57
|
+
* Open vulnerability findings for the pinned pair. The vulnerability catalog joins
|
|
58
|
+
* these onto the walked `findings-query` rows by finding id and by CVE id.
|
|
59
|
+
*/
|
|
60
|
+
export async function queryFindings(input) {
|
|
61
|
+
const tenant = encodeURIComponent(input.tenantId ?? DEFAULT_TENANT);
|
|
62
|
+
const body = await mapPost(`/tenants/${tenant}/findings:query`, {
|
|
63
|
+
snapshotSetId: input.snapshotSetId,
|
|
64
|
+
...(input.analysisSnapshotId ? { analysisSnapshotId: input.analysisSnapshotId } : {}),
|
|
65
|
+
status: 'open',
|
|
66
|
+
findingType: 'vulnerability',
|
|
67
|
+
format: 'json',
|
|
68
|
+
limit: input.limit ?? 200,
|
|
69
|
+
}, { signal: input.signal });
|
|
70
|
+
const rec = asRecord(body);
|
|
71
|
+
return asList(rec?.items ?? rec?.findings ?? rec?.records).flatMap((row) => {
|
|
72
|
+
const parsed = parseFindingSignal(row);
|
|
73
|
+
return parsed ? [parsed] : [];
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
const VENDOR_GAP = 'gap:soes:cve-name-unavailable';
|
|
77
|
+
export const VENDOR_NO_DESCRIPTION = 'Vendor did not provide a description';
|
|
78
|
+
function distinctFromId(text, cveId) {
|
|
79
|
+
if (!text)
|
|
80
|
+
return null;
|
|
81
|
+
const t = text.trim();
|
|
82
|
+
if (!t)
|
|
83
|
+
return null;
|
|
84
|
+
if (cveId && t.toUpperCase() === cveId.toUpperCase())
|
|
85
|
+
return null;
|
|
86
|
+
return t;
|
|
87
|
+
}
|
|
88
|
+
export function parseRelevantCritical(row) {
|
|
89
|
+
const rec = asRecord(row);
|
|
90
|
+
if (!rec)
|
|
91
|
+
return null;
|
|
92
|
+
const cveId = readLooseCve(rec.cveId ?? rec.cve) ??
|
|
93
|
+
readLooseCve(rec.riskId) ??
|
|
94
|
+
readLooseCve(rec.uniqueRiskKey);
|
|
95
|
+
const kindRaw = (firstString(rec.kind) ?? (cveId ? 'cve' : '')).toLowerCase();
|
|
96
|
+
const kind = kindRaw || (cveId ? 'cve' : 'unknown');
|
|
97
|
+
if (!cveId && kind === 'cve')
|
|
98
|
+
return null;
|
|
99
|
+
return {
|
|
100
|
+
uniqueRiskKey: firstString(rec.uniqueRiskKey) ?? null,
|
|
101
|
+
riskId: firstString(rec.riskId) ?? cveId,
|
|
102
|
+
kind,
|
|
103
|
+
cveId,
|
|
104
|
+
title: distinctFromId(firstString(rec.title) ?? null, cveId),
|
|
105
|
+
description: distinctFromId(firstString(rec.description) ?? null, cveId),
|
|
106
|
+
descriptionStatus: statusOf(rec.descriptionStatus),
|
|
107
|
+
hostCount: num(rec.hostCount) ?? 0,
|
|
108
|
+
findingCount: num(rec.findingCount),
|
|
109
|
+
cvssScore: num(rec.cvssScore),
|
|
110
|
+
exprtRating: firstString(rec.exprtRating, rec.vendorExploitRating) ?? null,
|
|
111
|
+
kevListed: bool(rec.kevListed),
|
|
112
|
+
exploitAvailable: bool(rec.exploitAvailable),
|
|
113
|
+
cisaKev: bool(rec.cisaKev),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
export function parseVulnerabilitiesBriefing(payload) {
|
|
117
|
+
const top = asRecord(payload) ?? {};
|
|
118
|
+
const briefing = asRecord(top.briefing) ?? top;
|
|
119
|
+
const gaps = asList(briefing.gaps).flatMap((raw) => {
|
|
120
|
+
const rec = asRecord(raw);
|
|
121
|
+
if (!rec)
|
|
122
|
+
return [];
|
|
123
|
+
const id = firstString(rec.id) ?? '';
|
|
124
|
+
if (!id)
|
|
125
|
+
return [];
|
|
126
|
+
return [{
|
|
127
|
+
id,
|
|
128
|
+
kind: firstString(rec.kind) ?? null,
|
|
129
|
+
message: firstString(rec.message) ?? null,
|
|
130
|
+
count: num(rec.count),
|
|
131
|
+
}];
|
|
132
|
+
});
|
|
133
|
+
return {
|
|
134
|
+
snapshotSetId: firstString(briefing.snapshotSetId, top.snapshotSetId) ?? null,
|
|
135
|
+
relevantCriticals: asList(briefing.relevantCriticals)
|
|
136
|
+
.map(parseRelevantCritical)
|
|
137
|
+
.filter((row) => row != null),
|
|
138
|
+
gaps,
|
|
139
|
+
cveNameUnavailable: gaps.some((g) => g.id === VENDOR_GAP),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Caption for a CVE chip.
|
|
144
|
+
* AVAILABLE → description, then title. VENDOR_NOT_PROVIDED → the explicit vendor gap.
|
|
145
|
+
* No status → only text the row already carries.
|
|
146
|
+
*/
|
|
147
|
+
export function briefingDescriptionLine(row) {
|
|
148
|
+
if (row.descriptionStatus === 'VENDOR_NOT_PROVIDED')
|
|
149
|
+
return VENDOR_NO_DESCRIPTION;
|
|
150
|
+
if (row.descriptionStatus === 'AVAILABLE')
|
|
151
|
+
return row.description ?? row.title;
|
|
152
|
+
return row.description ?? row.title;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* `POST /map-store/v1/tenants/{tenant}/vulnerabilities:briefing`.
|
|
156
|
+
* Ranked CVE hubs for the pinned pair. The CVE catalog paints these first,
|
|
157
|
+
* ahead of the walked `cve-catalog` and the bundled CVE text.
|
|
158
|
+
*/
|
|
159
|
+
export async function fetchVulnerabilitiesBriefing(input) {
|
|
160
|
+
const tenant = encodeURIComponent(input.tenantId ?? DEFAULT_TENANT);
|
|
161
|
+
const body = await mapPost(`/tenants/${tenant}/vulnerabilities:briefing`, {
|
|
162
|
+
snapshotSetId: input.snapshotSetId,
|
|
163
|
+
...(input.analysisSnapshotId ? { analysisSnapshotId: input.analysisSnapshotId } : {}),
|
|
164
|
+
status: 'open',
|
|
165
|
+
findingType: 'vulnerability',
|
|
166
|
+
format: 'json',
|
|
167
|
+
relevantLimit: input.relevantLimit ?? 10,
|
|
168
|
+
}, { signal: input.signal });
|
|
169
|
+
return parseVulnerabilitiesBriefing(body);
|
|
170
|
+
}
|
|
171
|
+
/** CVE hubs only, ranked by host count. */
|
|
172
|
+
export function cveRelevantCriticals(briefing, limit = 5) {
|
|
173
|
+
if (!briefing)
|
|
174
|
+
return [];
|
|
175
|
+
return briefing.relevantCriticals
|
|
176
|
+
.filter((row) => row.kind === 'cve' && row.cveId)
|
|
177
|
+
.sort((a, b) => b.hostCount - a.hostCount || (a.cveId ?? '').localeCompare(b.cveId ?? ''))
|
|
178
|
+
.slice(0, limit);
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@x12i/map-store-client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Browser HTTP client for map-store /map-store/v1 (Memorix estate via map-store only)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -43,6 +43,10 @@
|
|
|
43
43
|
"types": "./dist/packets.d.ts",
|
|
44
44
|
"import": "./dist/packets.js"
|
|
45
45
|
},
|
|
46
|
+
"./estate": {
|
|
47
|
+
"types": "./dist/estate/index.d.ts",
|
|
48
|
+
"import": "./dist/estate/index.js"
|
|
49
|
+
},
|
|
46
50
|
"./package.json": "./package.json"
|
|
47
51
|
},
|
|
48
52
|
"scripts": {
|
|
@@ -53,8 +57,17 @@
|
|
|
53
57
|
"node": ">=20"
|
|
54
58
|
},
|
|
55
59
|
"devDependencies": {
|
|
60
|
+
"@x12i/storyflowix": "1.2.0",
|
|
56
61
|
"typescript": "~5.9.2"
|
|
57
62
|
},
|
|
63
|
+
"peerDependencies": {
|
|
64
|
+
"@x12i/storyflowix": ">=1.2.0"
|
|
65
|
+
},
|
|
66
|
+
"peerDependenciesMeta": {
|
|
67
|
+
"@x12i/storyflowix": {
|
|
68
|
+
"optional": true
|
|
69
|
+
}
|
|
70
|
+
},
|
|
58
71
|
"publishConfig": {
|
|
59
72
|
"access": "public"
|
|
60
73
|
}
|