@x12i/map-store-client 0.1.2 → 0.1.4
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 +147 -1
- package/dist/attackSurfaces.d.ts.map +1 -1
- package/dist/attackSurfaces.js +17 -3
- package/dist/attackSurfaces.js.map +1 -1
- package/dist/bagCatalog.js +3 -3
- package/dist/bagCatalog.js.map +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +1 -15
- package/dist/bootstrap.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +3 -0
- package/dist/errors.js.map +1 -1
- package/dist/estate/analytics.d.ts +41 -0
- package/dist/estate/analytics.d.ts.map +1 -0
- package/dist/estate/analytics.js +115 -0
- package/dist/estate/analytics.js.map +1 -0
- package/dist/estate/census.d.ts +115 -0
- package/dist/estate/census.d.ts.map +1 -0
- package/dist/estate/census.js +266 -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 +77 -0
- package/dist/estate/content.d.ts.map +1 -0
- package/dist/estate/content.js +226 -0
- package/dist/estate/content.js.map +1 -0
- package/dist/estate/contract.d.ts +64 -0
- package/dist/estate/contract.d.ts.map +1 -0
- package/dist/estate/contract.js +258 -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 +26 -0
- package/dist/estate/index.d.ts.map +1 -0
- package/dist/estate/index.js +17 -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/stories.d.ts +85 -0
- package/dist/estate/stories.d.ts.map +1 -0
- package/dist/estate/stories.js +215 -0
- package/dist/estate/stories.js.map +1 -0
- package/dist/fetch.d.ts +2 -0
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +35 -4
- 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/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/working.d.ts +11 -1
- package/dist/working.d.ts.map +1 -1
- package/dist/working.js +23 -15
- package/dist/working.js.map +1 -1
- package/package.json +14 -1
package/README.md
CHANGED
|
@@ -36,4 +36,150 @@ import { fetchBootstrap, walkWorkingPages, mapFetch } from '@x12i/map-store-clie
|
|
|
36
36
|
import { asRecord } from '@x12i/map-store-client/util';
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
Subpath exports: `/util`, `/types`, `/errors`, `/products`, `/bagCatalog`, `/attackSurfaces`, `/packets`.
|
|
39
|
+
Subpath exports: `/util`, `/types`, `/errors`, `/products`, `/bagCatalog`, `/attackSurfaces`, `/packets`, `/estate`.
|
|
40
|
+
|
|
41
|
+
`queryFindings` and `fetchVulnerabilitiesBriefing` are exported from the package root. They are the two map-store routes that are POST queries rather than working products.
|
|
42
|
+
|
|
43
|
+
## The `estate` entry
|
|
44
|
+
|
|
45
|
+
`@x12i/map-store-client/estate` holds the reads that do not go through map-store: the Memorix content lists, the census and analytics records, the triage decisions, and the story pipeline. It takes the Memorix read client you build yourself, so it adds no dependency on `@x12i/memorix-client-api-client`.
|
|
46
|
+
|
|
47
|
+
Drawing stories needs `@x12i/storyflowix` at version 1.2.0 or newer. It is an optional peer: install it when you import `estate`. The rest of the package does not use it.
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
import { createMemorixReadClient } from '@x12i/memorix-client-api-client';
|
|
51
|
+
import { listContent, PREDICTED_ATTACK_LIST, isPredictedAttack } from '@x12i/map-store-client/estate';
|
|
52
|
+
|
|
53
|
+
const memorix = createMemorixReadClient({
|
|
54
|
+
baseUrl: 'http://memorix-client.invalid', // rewritten onto the /memorix-client proxy
|
|
55
|
+
orgId: 'tgi',
|
|
56
|
+
agentIds: ['network-synapix'],
|
|
57
|
+
caller: 'your-app',
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
// One list per object type the contract declares, markdown included, up to 20 pages of 200.
|
|
61
|
+
const attacks = (
|
|
62
|
+
await Promise.all(
|
|
63
|
+
PREDICTED_ATTACK_LIST.objectTypes.map((objectType) =>
|
|
64
|
+
listContent(memorix.data, { objectType, contentType: 'predicted-attack', includeMarkdown: true })
|
|
65
|
+
)
|
|
66
|
+
)
|
|
67
|
+
).flat().filter((row) => isPredictedAttack(row.data));
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The browser reaches the Memorix client API through your proxy at `/memorix-client`, with `x-memorix-org-id`, `x-memorix-agent-ids`, and `x-memorix-caller`. Story functions run through your proxy at `/skill-api` (`runStoryFunction`, agent `network-synapix`). Neither call goes to Memorix directly.
|
|
71
|
+
|
|
72
|
+
## What each page reads
|
|
73
|
+
|
|
74
|
+
Pins (`snapshotSetId`, `analysisSnapshotId`) come from `fetchBootstrap` and are passed as `expectedPair` on walks. They are never sent back as URL pins. A working product that pages returns `pageVariants`; `walkWorkingPages` fetches each of them.
|
|
75
|
+
|
|
76
|
+
### Once per session, shared by every page
|
|
77
|
+
|
|
78
|
+
| Read | Call |
|
|
79
|
+
|---|---|
|
|
80
|
+
| `GET /map-store/v1/health` | `fetchHealth` |
|
|
81
|
+
| `GET /map-store/v1/bootstrap` | `fetchBootstrap` |
|
|
82
|
+
| `working/estate-object-inventory`, all pages | `walkWorkingPages('estate-object-inventory', parseInventoryObject)` |
|
|
83
|
+
| `working/object-pre-ai-context`, all pages | `walkWorkingPages('object-pre-ai-context', …)` |
|
|
84
|
+
| `working/findings-query`, entry variant `open-vuln` | `walkWorkingPages('findings-query', …)`. If no row carries a CVE, fall back to `investigation-assessment` |
|
|
85
|
+
| `working/cve-catalog`, all pages | `walkWorkingPages('cve-catalog', …)` |
|
|
86
|
+
| `working/source-capability` | `fetchWorkingProduct('source-capability')` |
|
|
87
|
+
| `working/object-classification-census` | `fetchWorkingProduct('object-classification-census')` |
|
|
88
|
+
| `working/attack-surfaces` and `working/vpn-sites` | `fetchAttackSurfacesIndex`, `fetchVpnSitesIndex` |
|
|
89
|
+
| `working/open-questions` | `fetchWorkingProduct('open-questions')` |
|
|
90
|
+
| `working/known-unknowns-summary`, falling back to `known-unknowns` | `fetchWorkingProduct` |
|
|
91
|
+
| `working/reachability-claims-summary` | `fetchWorkingProduct('reachability-claims-summary')` |
|
|
92
|
+
| `working/attack-path-assessments` | `fetchWorkingProduct('attack-path-assessments')` |
|
|
93
|
+
| `working/alerts-query?variant=all` and `?variant=relevant` | `fetchWorkingProduct('alerts-query', 'all' \| 'relevant')` |
|
|
94
|
+
| `working/alerts-briefing` | `fetchWorkingProduct('alerts-briefing')` |
|
|
95
|
+
| `working/live-bootstrap` | `fetchLiveBootstrap` |
|
|
96
|
+
| `working/prospective-capability` | `fetchWorkingProduct('prospective-capability')` |
|
|
97
|
+
| `security-map` / `estate-analytics` / `working/estate-analytics`, discriminator `publication` | `readEstateAnalytics` |
|
|
98
|
+
| Connector census | `readSourceCensus` |
|
|
99
|
+
| Ranked CVE hubs | `fetchVulnerabilitiesBriefing` |
|
|
100
|
+
|
|
101
|
+
When `estateAnalyticsSuppliesTallies` is false, the triage counts are not on that record. Count them from `TRIAGE_TALLY_LISTS` with `listContent`: `finding` / `triage` (up to 400 pages) and `endpoint-asset` / `triage` (up to 20).
|
|
102
|
+
|
|
103
|
+
### Data sources
|
|
104
|
+
|
|
105
|
+
**Asset inventory** (`/assets`, plus `/assets/vulnerable`, `/endpoints`, `/identified`, `/unidentified`)
|
|
106
|
+
|
|
107
|
+
- The walked inventory, identities, and findings, and the CVE catalog for the severity dots.
|
|
108
|
+
- `loadTier0Census(data, 'asset')` — `security-map` / `tier0-analytics` / `working/asset-census`, discriminator `asset-census`.
|
|
109
|
+
- `listContent` of `endpoint-asset` / `triage`.
|
|
110
|
+
- A drill-down by decision uses `loadAssetDecisionIds` instead of the full list. It filters `data.decisionType=asset-triage` plus `data.urgency`, `data.decision=NOT_APPLICABLE`, or `data.assessmentState`. `loadAssetUrgencies` maps each asset to its urgency.
|
|
111
|
+
- `walkWorkingPages('attack-path-assessments', …)` for the zone reach tier. A row's `toZoneId` plus a `hypothesis` containing "deny" marks the zone cleared; any other hypothesis marks it possible.
|
|
112
|
+
|
|
113
|
+
**Networks** (`/networks`)
|
|
114
|
+
|
|
115
|
+
- Subnets and zones are derived from the walked inventory. No separate read.
|
|
116
|
+
- The attack-surfaces index, the VPN-sites index, and `reachability-claims-summary`.
|
|
117
|
+
- `readEstateAnalytics`.
|
|
118
|
+
|
|
119
|
+
**Vulnerability catalog** (`/vulnerabilities`, plus `/cves`, `/kev`, `/exploitable`, `/findings`)
|
|
120
|
+
|
|
121
|
+
- The walked findings joined to the inventory, the CVE catalog, and `fetchVulnerabilitiesBriefing`.
|
|
122
|
+
- `queryFindings` for scanner severity, CVSS, KEV, EPSS, and the vendor description. Join on finding id and on CVE id.
|
|
123
|
+
- `loadTier0Census(data, 'vulnerability')` — `working/vulnerability-census`.
|
|
124
|
+
- `listContent` of `finding` / `triage`, up to 120 pages.
|
|
125
|
+
- One finding's decision: `listRecordContent` of `finding` / `triage` with `discriminator: { field: 'decisionType', value: 'finding-triage' }`. `triageInstance(objectType)` names the instance.
|
|
126
|
+
- The CVE panel's analyses: `listContent` of `finding` / `analysis` filtered by `data.cveId`.
|
|
127
|
+
- A verdict line: `listRecordContent` of `finding` / `verdict-reason` for that record id, with markdown.
|
|
128
|
+
|
|
129
|
+
**Recent alerts** (`/alerts`)
|
|
130
|
+
|
|
131
|
+
- `source-capability`, `alerts-query` (`all` and `relevant`), and `alerts-briefing`.
|
|
132
|
+
- The walked inventory, for the asset names.
|
|
133
|
+
|
|
134
|
+
### Analysis
|
|
135
|
+
|
|
136
|
+
Both pages list one content type on every object type that declares it (`PREDICTED_ATTACK_LIST`, `MITIGATION_LIST`), with markdown, up to 20 pages of 200.
|
|
137
|
+
|
|
138
|
+
**Predicted attacks** (`/predicted-attacks`)
|
|
139
|
+
|
|
140
|
+
- `listContent` of `predicted-attack` on `finding`, `endpoint-asset`, `alert`, `network-device`, and `network-zone`. Keep a row when `isPredictedAttack` is true (`data.predictionType` is `finding-attack`, `asset-attack`, `alert-attack`, `device-attack`, or `zone-attack`).
|
|
141
|
+
- Fields read: `summary`, `scenarioSupport`, `score`, `asOf`, and `actions[]` (`action`, `phase`, `technique`, `assets`, `controls`, `chance`). `steps[]` is the fallback when no action names a technique.
|
|
142
|
+
|
|
143
|
+
**Mitigations** (`/mitigations`)
|
|
144
|
+
|
|
145
|
+
- `listContent` of `mitigation` on `finding`, `endpoint-asset`, `alert`, and `network-zone`. Keep a row when `isMitigationPlan` is true (`data.mitigationType` is `response-plan` and `data.plan.schemaVersion` is `response-plan/v1`).
|
|
146
|
+
- Fields read: `planStatus`, `summary`, `plan.subject.displayName`, and `plan.recommendations[]` (`title`, `readiness`, `conditions[].statement`, `steps`, `proposedOwnerRole`, `why`, `targetEffect`).
|
|
147
|
+
|
|
148
|
+
**Subject names.** `inventoryDisplayName(data, objectType, recordId)` reads `data.displayName` from that subject's `inventory` row.
|
|
149
|
+
|
|
150
|
+
**The diagram.** `predictionStepsFrom(row)` reads the steps, and `predictionDiagram(source)` builds the Storyflowix input. Every step carrying a technique id uses the `attack-path` template. Otherwise it uses `predicted-attack`, which `predictedAttackReady()` checks for in the installed Storyflowix. No steps, or `scenarioSupport` of `INSUFFICIENT_EVIDENCE`, produces the withheld block. No further request is made.
|
|
151
|
+
|
|
152
|
+
### Exposure
|
|
153
|
+
|
|
154
|
+
**Attack surfaces** (`/attack-surfaces/entries`, `/attack-surfaces/shared`)
|
|
155
|
+
|
|
156
|
+
- `fetchAttackSurfacesIndex`, then `fetchAttackSurfaceDossier(surfaceId)` per surface. Read `epistemicBuckets`, `destZones`, `instances`, and `honesty`.
|
|
157
|
+
|
|
158
|
+
**Exploitability assessments** (`/epa`)
|
|
159
|
+
|
|
160
|
+
- `walkWorkingPages('object-exploitability-assessments', …)`.
|
|
161
|
+
- `fetchBootstrap().assessmentCoverage` and `loadTier0Census(data, 'asset')`.
|
|
162
|
+
|
|
163
|
+
**VPN sites** (`/vpn-sites/sites`, `/vpn-sites/shared`)
|
|
164
|
+
|
|
165
|
+
- `fetchVpnSitesIndex`, then `fetchVpnSiteDossier(siteId)` per site. Read `peerPublicIp`, `remoteInnerOrigins`, `localInnerSelectors`, `nativeAcceptDestZones`, and `epistemicBuckets`.
|
|
166
|
+
|
|
167
|
+
**Reachability** (`/reachability`)
|
|
168
|
+
|
|
169
|
+
- `reachability-claims-summary`, the walked inventory, and `loadTier0Census(data, 'asset')`.
|
|
170
|
+
- `listContent` of `endpoint-asset` / `reachability-analysis`.
|
|
171
|
+
|
|
172
|
+
The estate census board, where a page shows one, is `loadTier0Census(data, 'estate')` — `working/estate-census`.
|
|
173
|
+
|
|
174
|
+
### Opening one record
|
|
175
|
+
|
|
176
|
+
**Context diagram.** An asset reads `listRecordContent` of `triage` with `triageInstance(objectType)`, and of `analysis`, using the `asset-exposure` and `zone-candidate` rows. A finding reads `finding` / `triage` with `finding-triage`, and `finding` / `analysis`, using the `vulnerability` or `detection` row.
|
|
177
|
+
|
|
178
|
+
**Story.**
|
|
179
|
+
|
|
180
|
+
1. `loadStoryTabs(catalog, objectType)` — `GET /api/v1/object-types/{type}` for `functions[]`, and `GET /api/v1/object-types/{type}/content-types/story` for the presentation labels.
|
|
181
|
+
2. `readStoredStory(data, objectType, recordId, template)` — the stored `story` row. Render `input` with Storyflowix and show `text`, `facts`, and `gaps`.
|
|
182
|
+
3. When nothing is stored, `runStoryFunction(functionId, objectType, recordId)` — `POST /skill-api/api/v1/agent-functions/agents/network-synapix/functions/{id}/run` with `{ objectType, recordId }`. Render `result.storyInput`.
|
|
183
|
+
4. When the run stops, `loadRecordContents(catalog, objectType, recordId)` then `buildLocalStory(template, objectType, contents)`. One `listRecords` call with `representation: 'both'`.
|
|
184
|
+
|
|
185
|
+
`declaringObjectTypes(contentType)` and `skillsContentTypes(objectType)` are the contract behind the lists: which object types declare which content types, and which discriminator values a row may carry. `requiredDiscriminator` reads the installed pack and names the instance a single-record read must send, so the API does not reject it with `READ_DISCRIMINATOR_REQUIRED`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attackSurfaces.d.ts","sourceRoot":"","sources":["../src/attackSurfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EAEnB,gBAAgB,EAEhB,gBAAgB,EAChB,cAAc,EACd,cAAc,EAEd,aAAa,EACd,MAAM,SAAS,CAAC;AAqBjB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CASlF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,GAClC,cAAc,EAAE,CAGlB;AA6BD,wBAAsB,wBAAwB,CAC5C,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAiC9B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"attackSurfaces.d.ts","sourceRoot":"","sources":["../src/attackSurfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAGnB,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EAEnB,gBAAgB,EAEhB,gBAAgB,EAChB,cAAc,EACd,cAAc,EAEd,aAAa,EACd,MAAM,SAAS,CAAC;AAqBjB,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CASlF;AAED,wBAAgB,sBAAsB,CACpC,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,GAClC,cAAc,EAAE,CAGlB;AA6BD,wBAAsB,wBAAwB,CAC5C,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAiC9B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAyCtC;AAED,wBAAsB,kBAAkB,CACtC,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,aAAa,CAAC,CA+BxB;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAyBhC;AAED,wBAAsB,2BAA2B,CAC/C,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,sBAAsB,CAAC,CAoCjC;AAED,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,mBAAmB,GACzB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA2BlC;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,EAAE,GAAG,IAAI,CA2B7E;AAED,qDAAqD;AACrD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAS7E"}
|
package/dist/attackSurfaces.js
CHANGED
|
@@ -95,7 +95,19 @@ export async function fetchAttackSurfacesIndex(opts) {
|
|
|
95
95
|
}
|
|
96
96
|
export async function fetchAttackSurfaceDossier(surfaceId, opts) {
|
|
97
97
|
const page = await fetchWorkingProduct('attack-surfaces', surfaceId, opts);
|
|
98
|
-
const
|
|
98
|
+
const unwrapped = asRecord(unwrapWorkingProduct(page)) ?? asRecord(page) ?? {};
|
|
99
|
+
const rows = (page.items ?? page.objects ?? [])
|
|
100
|
+
.map((row) => asRecord(row))
|
|
101
|
+
.filter((row) => Boolean(row));
|
|
102
|
+
const matched = rows.find((row) => firstString(row.surfaceId, row.id) === surfaceId) ??
|
|
103
|
+
rows[0];
|
|
104
|
+
const pageIsDossier = Boolean(unwrapped.epistemicBuckets ||
|
|
105
|
+
unwrapped.destZones ||
|
|
106
|
+
unwrapped.instances ||
|
|
107
|
+
unwrapped.summary ||
|
|
108
|
+
unwrapped.accepts ||
|
|
109
|
+
firstString(unwrapped.surfaceId) === surfaceId);
|
|
110
|
+
const item = matched ?? (pageIsDossier ? unwrapped : null);
|
|
99
111
|
if (!item)
|
|
100
112
|
return null;
|
|
101
113
|
const chrome = Array.isArray(item.epistemicChrome)
|
|
@@ -103,7 +115,7 @@ export async function fetchAttackSurfaceDossier(surfaceId, opts) {
|
|
|
103
115
|
: undefined;
|
|
104
116
|
return {
|
|
105
117
|
...item,
|
|
106
|
-
surfaceId: firstString(item.surfaceId) ?? surfaceId,
|
|
118
|
+
surfaceId: firstString(item.surfaceId, item.id) ?? surfaceId,
|
|
107
119
|
summary: firstString(item.summary),
|
|
108
120
|
priority: firstString(item.priority),
|
|
109
121
|
epistemicBuckets: parseEpistemicBuckets(item.epistemicBuckets),
|
|
@@ -115,7 +127,9 @@ export async function fetchAttackSurfaceDossier(surfaceId, opts) {
|
|
|
115
127
|
? item.destZones.filter((z) => typeof z === 'string')
|
|
116
128
|
: undefined,
|
|
117
129
|
instances: Array.isArray(item.instances)
|
|
118
|
-
? item.instances
|
|
130
|
+
? item.instances
|
|
131
|
+
.map(parseVpnSiteSummary)
|
|
132
|
+
.filter(Boolean)
|
|
119
133
|
: undefined,
|
|
120
134
|
};
|
|
121
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attackSurfaces.js","sourceRoot":"","sources":["../src/attackSurfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attackSurfaces.js","sourceRoot":"","sources":["../src/attackSurfaces.ts"],"names":[],"mappings":"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"}
|
package/dist/bagCatalog.js
CHANGED
|
@@ -54,7 +54,7 @@ export const BAG_PRODUCTS = [
|
|
|
54
54
|
{
|
|
55
55
|
contentType: 'source-capability',
|
|
56
56
|
label: 'Source capability',
|
|
57
|
-
note: 'Honest source limitations (
|
|
57
|
+
note: 'Honest source limitations (Splunk / Falcon / FortiGate / Security Analysis / live observations)',
|
|
58
58
|
kind: 'summary',
|
|
59
59
|
eager: 'index',
|
|
60
60
|
},
|
|
@@ -136,7 +136,7 @@ export const BAG_PRODUCTS = [
|
|
|
136
136
|
{
|
|
137
137
|
contentType: 'alerts-query',
|
|
138
138
|
label: 'Alerts query',
|
|
139
|
-
note: '
|
|
139
|
+
note: 'Degraded stub while source-capability.saes is UNAVAILABLE — show that limitation; do not backfill from inventory or AI',
|
|
140
140
|
kind: 'query-family',
|
|
141
141
|
mayBeMissing: true,
|
|
142
142
|
eager: 'skip',
|
|
@@ -153,7 +153,7 @@ export const BAG_PRODUCTS = [
|
|
|
153
153
|
{
|
|
154
154
|
contentType: 'object-exploitability-assessments',
|
|
155
155
|
label: 'Object exploitability assessments',
|
|
156
|
-
note: 'Already deep-walked for
|
|
156
|
+
note: 'Already deep-walked for exploitability assessments — Map localVerdict POSSIBLE is not an exploitability assessment',
|
|
157
157
|
kind: 'paged',
|
|
158
158
|
objectScoped: true,
|
|
159
159
|
alreadyLoaded: true,
|
package/dist/bagCatalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bagCatalog.js","sourceRoot":"","sources":["../src/bagCatalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,cAAuB,CAAC;AAsC3D;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,WAAW;IACX,+BAA+B;CACvB,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD;QACE,WAAW,EAAE,sBAAsB;QACnC,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,qDAAqD;QAC3D,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;KACf;IACD;QACE,WAAW,EAAE,yBAAyB;QACtC,KAAK,EAAE,yBAAyB;QAChC,IAAI,EAAE,oEAAoE;QAC1E,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,MAAM;KACd;IACD;QACE,WAAW,EAAE,iBAAiB;QAC9B,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,oEAAoE;QAC1E,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;KACf;IACD;QACE,WAAW,EAAE,mBAAmB;QAChC,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"bagCatalog.js","sourceRoot":"","sources":["../src/bagCatalog.ts"],"names":[],"mappings":"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"}
|
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EAEd,gBAAgB,EAEjB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EAEd,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAGjB,wBAAsB,WAAW,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAajF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,CA2CnE;AAED,wBAAsB,cAAc,CAClC,IAAI,CAAC,EAAE,eAAe,GACrB,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,CAKrE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CActE;AAED,wBAAsB,kBAAkB,CACtC,IAAI,CAAC,EAAE,eAAe,GAAG;IAAE,YAAY,CAAC,EAAE,YAAY,CAAA;CAAE,GACvD,OAAO,CAAC,aAAa,CAAC,CAGxB;AAED,wBAAgB,aAAa,CAC3B,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,GAChD,OAAO,CAET"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { mapFetch } from './fetch';
|
|
2
2
|
import { asRecord, firstString } from './util';
|
|
3
|
-
import { MapStoreError } from './types';
|
|
4
3
|
import { parseTypedRecordCensus } from './census';
|
|
5
4
|
export async function fetchHealth(opts) {
|
|
6
5
|
const body = await mapFetch('/health', opts);
|
|
@@ -77,20 +76,7 @@ export function normalizeLiveBootstrap(payload) {
|
|
|
77
76
|
}
|
|
78
77
|
export async function fetchLiveBootstrap(opts) {
|
|
79
78
|
const payload = await mapFetch('/working/live-bootstrap', opts);
|
|
80
|
-
|
|
81
|
-
const expected = opts?.expectedPair;
|
|
82
|
-
if (expected?.snapshotSetId) {
|
|
83
|
-
if (live.relatedSnapshotSetId &&
|
|
84
|
-
live.relatedSnapshotSetId !== expected.snapshotSetId) {
|
|
85
|
-
throw new MapStoreError(`Live overlay relatedSnapshotSetId ${live.relatedSnapshotSetId} disagrees with covering pair ${expected.snapshotSetId}.`, { code: 'mixed-generation', status: 409 });
|
|
86
|
-
}
|
|
87
|
-
if (expected.analysisSnapshotId &&
|
|
88
|
-
live.relatedAnalysisSnapshotId &&
|
|
89
|
-
live.relatedAnalysisSnapshotId !== expected.analysisSnapshotId) {
|
|
90
|
-
throw new MapStoreError(`Live overlay relatedAnalysisSnapshotId ${live.relatedAnalysisSnapshotId} disagrees with covering pair ${expected.analysisSnapshotId}.`, { code: 'mixed-generation', status: 409 });
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return live;
|
|
79
|
+
return normalizeLiveBootstrap(payload);
|
|
94
80
|
}
|
|
95
81
|
export function isLiveHealthy(availability) {
|
|
96
82
|
return availability === 'available';
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAU/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,wEAAwE;AACxE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,wEAAwE;AACxE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CA0BxD"}
|
package/dist/errors.js
CHANGED
|
@@ -21,6 +21,9 @@ export function formatMapStoreError(err) {
|
|
|
21
21
|
return (`Incomplete publication — required bag product is missing for this covering. ` +
|
|
22
22
|
`Not an empty estate. (${reason})`);
|
|
23
23
|
}
|
|
24
|
+
if (err.code === 'map-store-unreachable') {
|
|
25
|
+
return err.message;
|
|
26
|
+
}
|
|
24
27
|
if (err.code === 'memorix-unavailable') {
|
|
25
28
|
return reason || 'Map-store reports Memorix unavailable.';
|
|
26
29
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wEAAwE;AACxE,MAAM,UAAU,uBAAuB,CACrC,IAAa,EACb,QAAgB;IAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CACL,WAAW,CACT,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAG,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACtD,OAAO,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CACzD,IAAI,QAAQ,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpC,OAAO,CACL,6EAA6E;gBAC7E,sEAAsE;gBACtE,+DAA+D;gBAC/D,IAAI,MAAM,GAAG,CACd,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC1C,OAAO,CACL,8EAA8E;gBAC9E,yBAAyB,MAAM,GAAG,CACnC,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,wCAAwC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wEAAwE;AACxE,MAAM,UAAU,uBAAuB,CACrC,IAAa,EACb,QAAgB;IAEhB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CACL,WAAW,CACT,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,MAAM,EACX,OAAO,GAAG,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACtD,OAAO,GAAG,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CACzD,IAAI,QAAQ,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACpC,OAAO,CACL,6EAA6E;gBAC7E,sEAAsE;gBACtE,+DAA+D;gBAC/D,IAAI,MAAM,GAAG,CACd,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;YAC1C,OAAO,CACL,8EAA8E;gBAC9E,yBAAyB,MAAM,GAAG,CACnC,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACvC,OAAO,MAAM,IAAI,wCAAwC,CAAC;QAC5D,CAAC;QACD,OAAO,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The materialized estate rollup, and the connector census.
|
|
3
|
+
* Both are single Memorix reads. Neither is a working product.
|
|
4
|
+
*/
|
|
5
|
+
import type { EstateAnalyticsApi, EstateData } from './client';
|
|
6
|
+
export declare const ESTATE_ANALYTICS_TARGET: {
|
|
7
|
+
readonly objectType: "security-map";
|
|
8
|
+
readonly contentType: "estate-analytics";
|
|
9
|
+
readonly recordId: "working/estate-analytics";
|
|
10
|
+
readonly discriminatorValue: "publication";
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* `data` of `working/estate-analytics`.
|
|
14
|
+
* Null when the record is missing or the content type is not registered. Any other error is thrown.
|
|
15
|
+
*/
|
|
16
|
+
export declare function readEstateAnalytics(client: EstateData, signal?: AbortSignal): Promise<Record<string, unknown> | null>;
|
|
17
|
+
/**
|
|
18
|
+
* True when the estate-analytics record already carries the triage counts:
|
|
19
|
+
* finding decisions, asset decisions, priority bands, findings triaged,
|
|
20
|
+
* and both exploitability measures.
|
|
21
|
+
* When this is false, count them from the triage lists instead
|
|
22
|
+
* (`finding` / `triage` and `endpoint-asset` / `triage`). Nothing else is walked.
|
|
23
|
+
*/
|
|
24
|
+
export declare function estateAnalyticsSuppliesTallies(raw: unknown): boolean;
|
|
25
|
+
/** Lists to count when {@link estateAnalyticsSuppliesTallies} is false. */
|
|
26
|
+
export declare const TRIAGE_TALLY_LISTS: readonly [{
|
|
27
|
+
readonly objectType: "finding";
|
|
28
|
+
readonly contentType: "triage";
|
|
29
|
+
readonly maxPages: 400;
|
|
30
|
+
}, {
|
|
31
|
+
readonly objectType: "endpoint-asset";
|
|
32
|
+
readonly contentType: "triage";
|
|
33
|
+
readonly maxPages: 20;
|
|
34
|
+
}];
|
|
35
|
+
/**
|
|
36
|
+
* Connector census from `analytics.sourceCensus`.
|
|
37
|
+
* Null when the call fails or the body has no `status` and `subjects`.
|
|
38
|
+
* A `status` other than `live` is returned as-is and is not ready to render.
|
|
39
|
+
*/
|
|
40
|
+
export declare function readSourceCensus(analytics: EstateAnalyticsApi, signal?: AbortSignal): Promise<Record<string, unknown> | null>;
|
|
41
|
+
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/estate/analytics.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG/D,eAAO,MAAM,uBAAuB;;;;;CAK1B,CAAC;AASX;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,UAAU,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAUzC;AAsBD;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAsBpE;AAED,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB;;;;;;;;EAGrB,CAAC;AAEX;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CASzC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The materialized estate rollup, and the connector census.
|
|
3
|
+
* Both are single Memorix reads. Neither is a working product.
|
|
4
|
+
*/
|
|
5
|
+
import { asRecord } from '../util';
|
|
6
|
+
import { contentData } from './content';
|
|
7
|
+
export const ESTATE_ANALYTICS_TARGET = {
|
|
8
|
+
objectType: 'security-map',
|
|
9
|
+
contentType: 'estate-analytics',
|
|
10
|
+
recordId: 'working/estate-analytics',
|
|
11
|
+
discriminatorValue: 'publication',
|
|
12
|
+
};
|
|
13
|
+
function absent(err) {
|
|
14
|
+
const status = err?.status;
|
|
15
|
+
if (status === 404)
|
|
16
|
+
return true;
|
|
17
|
+
const code = asRecord(asRecord(err.body)?.error)?.code;
|
|
18
|
+
return status === 400 && code === 'ROUTE_UNKNOWN_CONTENT_TYPE';
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* `data` of `working/estate-analytics`.
|
|
22
|
+
* Null when the record is missing or the content type is not registered. Any other error is thrown.
|
|
23
|
+
*/
|
|
24
|
+
export async function readEstateAnalytics(client, signal) {
|
|
25
|
+
if (signal?.aborted)
|
|
26
|
+
return null;
|
|
27
|
+
try {
|
|
28
|
+
const page = await client.getContent({ ...ESTATE_ANALYTICS_TARGET });
|
|
29
|
+
if (signal?.aborted)
|
|
30
|
+
return null;
|
|
31
|
+
return contentData(page);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
if (absent(err))
|
|
35
|
+
return null;
|
|
36
|
+
throw err;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const TRIAGE_DECISIONS = ['FIX_NOW', 'PATCH_NOW', 'MITIGATE', 'ACCEPT_RISK'];
|
|
40
|
+
function readCount(leaf) {
|
|
41
|
+
if (typeof leaf === 'number' && Number.isFinite(leaf))
|
|
42
|
+
return leaf;
|
|
43
|
+
const rec = asRecord(leaf);
|
|
44
|
+
if (!rec || rec.produced === false)
|
|
45
|
+
return null;
|
|
46
|
+
const raw = rec.value ?? rec.count;
|
|
47
|
+
return typeof raw === 'number' && Number.isFinite(raw) ? raw : null;
|
|
48
|
+
}
|
|
49
|
+
function metricProduced(root, key) {
|
|
50
|
+
if (!root)
|
|
51
|
+
return false;
|
|
52
|
+
const direct = asRecord(root[key]);
|
|
53
|
+
if (direct?.produced === true && typeof direct.value === 'number')
|
|
54
|
+
return true;
|
|
55
|
+
const [section, name] = key.split('.');
|
|
56
|
+
const bag = asRecord(root[section ?? '']);
|
|
57
|
+
const nested = name ? asRecord(bag?.[name]) : null;
|
|
58
|
+
return nested?.produced === true && typeof nested.value === 'number';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* True when the estate-analytics record already carries the triage counts:
|
|
62
|
+
* finding decisions, asset decisions, priority bands, findings triaged,
|
|
63
|
+
* and both exploitability measures.
|
|
64
|
+
* When this is false, count them from the triage lists instead
|
|
65
|
+
* (`finding` / `triage` and `endpoint-asset` / `triage`). Nothing else is walked.
|
|
66
|
+
*/
|
|
67
|
+
export function estateAnalyticsSuppliesTallies(raw) {
|
|
68
|
+
const top = asRecord(raw);
|
|
69
|
+
const groups = asRecord(top?.groups);
|
|
70
|
+
if (!top || !groups)
|
|
71
|
+
return false;
|
|
72
|
+
const bagReady = (group) => {
|
|
73
|
+
if (!group || group.produced === false)
|
|
74
|
+
return false;
|
|
75
|
+
const bag = asRecord(group.buckets) ?? group;
|
|
76
|
+
return TRIAGE_DECISIONS.every((code) => readCount(bag[code] ?? bag[code.toLowerCase()]) != null);
|
|
77
|
+
};
|
|
78
|
+
if (!bagReady(asRecord(groups.findingDecisions)) || !bagReady(asRecord(groups.assetDecisions)))
|
|
79
|
+
return false;
|
|
80
|
+
const priority = asRecord(groups.priorityBands);
|
|
81
|
+
if (!priority || priority.produced === false)
|
|
82
|
+
return false;
|
|
83
|
+
if (readCount(priority.high) == null || readCount(priority.medium) == null || readCount(priority.low) == null) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
const measures = asRecord(top.measures);
|
|
87
|
+
return ((metricProduced(measures, 'exploitability.reviewed') || metricProduced(top, 'exploitability.reviewed')) &&
|
|
88
|
+
(metricProduced(measures, 'exploitability.highOrCritical') ||
|
|
89
|
+
metricProduced(top, 'exploitability.highOrCritical')) &&
|
|
90
|
+
(metricProduced(measures, 'planned.findingsTriaged') || metricProduced(top, 'planned.findingsTriaged')));
|
|
91
|
+
}
|
|
92
|
+
/** Lists to count when {@link estateAnalyticsSuppliesTallies} is false. */
|
|
93
|
+
export const TRIAGE_TALLY_LISTS = [
|
|
94
|
+
{ objectType: 'finding', contentType: 'triage', maxPages: 400 },
|
|
95
|
+
{ objectType: 'endpoint-asset', contentType: 'triage', maxPages: 20 },
|
|
96
|
+
];
|
|
97
|
+
/**
|
|
98
|
+
* Connector census from `analytics.sourceCensus`.
|
|
99
|
+
* Null when the call fails or the body has no `status` and `subjects`.
|
|
100
|
+
* A `status` other than `live` is returned as-is and is not ready to render.
|
|
101
|
+
*/
|
|
102
|
+
export async function readSourceCensus(analytics, signal) {
|
|
103
|
+
try {
|
|
104
|
+
const body = asRecord(await analytics.sourceCensus());
|
|
105
|
+
if (signal?.aborted)
|
|
106
|
+
return null;
|
|
107
|
+
if (!body || typeof body.status !== 'string' || !Array.isArray(body.subjects))
|
|
108
|
+
return null;
|
|
109
|
+
return body;
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/estate/analytics.ts"],"names":[],"mappings":"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"}
|