@mitre/hdf-schema 3.4.3 → 3.5.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/README.md +15 -2
- package/dist/go/hdf.go +535 -271
- package/dist/helpers.d.ts +56 -1
- package/dist/helpers.js +98 -38
- package/dist/index.d.ts +2 -0
- package/dist/index.js +28 -26
- package/dist/schemas/hdf-amendments.schema.json +235 -48
- package/dist/schemas/hdf-baseline.schema.json +240 -53
- package/dist/schemas/hdf-comparison.schema.json +1948 -1504
- package/dist/schemas/hdf-evidence-package.schema.json +242 -48
- package/dist/schemas/hdf-plan.schema.json +692 -498
- package/dist/schemas/hdf-requirement-change-event.schema.json +5290 -0
- package/dist/schemas/hdf-results.schema.json +1650 -1215
- package/dist/schemas/hdf-system.schema.json +262 -68
- package/dist/ts/hdf.d.ts +420 -73
- package/dist/ts/hdf.js +65 -30
- package/dist/ts/hdf.ts +428 -77
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ npm install @mitre/hdf-schema
|
|
|
17
17
|
|
|
18
18
|
## Schema Types
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
Eight document types: seven covering the full security assessment lifecycle, plus a continuous-monitoring change-event stream.
|
|
21
21
|
|
|
22
22
|
### HDF Results (`hdf-results`)
|
|
23
23
|
|
|
@@ -47,6 +47,10 @@ Bundles references to all documents needed for a compliance review — results,
|
|
|
47
47
|
|
|
48
48
|
Output of the diff engine. Structural comparison between two or more HDF documents showing requirement-level changes, status transitions, and field diffs.
|
|
49
49
|
|
|
50
|
+
### HDF Requirement Change Event (`hdf-requirement-change-event`)
|
|
51
|
+
|
|
52
|
+
A continuous-monitoring event stream: one event per requirement whose posture changed between two results scans (`new`, `absent`, `updated`, `fixed`, `regressed`). Each event carries the full after-state, a thin before-state, and a per-key sequence, so a reconciled results document can be replayed from a seed. Produced by `hdf events derive`.
|
|
53
|
+
|
|
50
54
|
## Usage
|
|
51
55
|
|
|
52
56
|
### Importing Schemas
|
|
@@ -56,7 +60,7 @@ Schemas can be imported in two ways:
|
|
|
56
60
|
```typescript
|
|
57
61
|
// Named exports from the barrel (all schemas + types available)
|
|
58
62
|
import { hdfResultsSchema, hdfBaselineSchema, hdfSystemSchema } from '@mitre/hdf-schema';
|
|
59
|
-
import type { HDFResults, HDFBaseline, HDFSystem, HDFPlan, HDFAmendments, HDFEvidencePackage, HDFComparison } from '@mitre/hdf-schema';
|
|
63
|
+
import type { HDFResults, HDFBaseline, HDFSystem, HDFPlan, HDFAmendments, HDFEvidencePackage, HDFComparison, HDFRequirementChangeEvent } from '@mitre/hdf-schema';
|
|
60
64
|
|
|
61
65
|
// Sub-path imports also work (all resolve to the same combined module)
|
|
62
66
|
import type { HDFResults } from '@mitre/hdf-schema/hdf-results';
|
|
@@ -126,6 +130,7 @@ func main() {
|
|
|
126
130
|
| `src/schemas/hdf-amendments.schema.json` | Waivers, attestations, POA&Ms |
|
|
127
131
|
| `src/schemas/hdf-evidence-package.schema.json` | Bundle of references to all documents |
|
|
128
132
|
| `src/schemas/hdf-comparison.schema.json` | Differential analysis between assessments |
|
|
133
|
+
| `src/schemas/hdf-requirement-change-event.schema.json` | Continuous-monitoring per-requirement change-event stream |
|
|
129
134
|
| `src/schemas/primitives/*.schema.json` | Shared type definitions |
|
|
130
135
|
| `dist/schemas/*.schema.json` | Bundled schemas (self-contained, all $refs inlined) |
|
|
131
136
|
|
|
@@ -184,6 +189,14 @@ All schemas use **JSON Schema draft/2020-12**.
|
|
|
184
189
|
Interactive schema reference documentation is published at:
|
|
185
190
|
**<https://mitre.github.io/hdf-libs/schemas/>**
|
|
186
191
|
|
|
192
|
+
### What's new in v3.5.0
|
|
193
|
+
|
|
194
|
+
- **`hdf-requirement-change-event` document type** — a new schema for the continuous-monitoring change-event stream (ADR-0005): per-requirement events (`new`/`absent`/`updated`/`fixed`/`regressed`) with a full after-state, thin before-state, and per-key sequence, chained for deterministic replay from a seed. Produced by `hdf events derive`.
|
|
195
|
+
- **`External_Reference` primitive + `externalReferences[]` wiring** — a generalized, STIX-2.1-aligned reference (required `sourceName` plus one of `externalId`/`href`/`description`, open `rel`/`kind`, optional lossless embedded `document`) wired across the document types, including on the inline `Status_Override`. Backs the STIX CTI enrichment feature (ADR-0006).
|
|
196
|
+
- **`Change_Reason` gains `dispositionChanged` and `effectiveImpactChanged`** — the diff engine's amendment-axis change reasons are now part of the comparison vocabulary.
|
|
197
|
+
- **POA&M `expiresAt` is now required** — a POA&M is a time-boxed acceptance of an open finding; the deadline is no longer optional. **Breaking:** previously-valid HDF documents with deadline-less POA&Ms now fail validation. Source a real remediation/vendor-fix date.
|
|
198
|
+
- **Compatibility.** The additions are additive except the required POA&M `expiresAt`; v3.4.x documents without deadline-less POA&Ms validate cleanly under v3.5.0. See CHANGELOG.
|
|
199
|
+
|
|
187
200
|
### What's new in v3.4.0
|
|
188
201
|
|
|
189
202
|
- **Generalized `boms[]` on components** — a single `boms[]` array on `Base_Component` carries any Bill of Materials (SBOM, `ai-model`, `dataset`, or reserved future `bomType`), each by passthrough (`ref`/`document`) or normalized shape. **Breaking:** replaces the former `sbom` / `sbomRef` / `sbomFormat` trio; a component may now carry several BOMs (e.g. an SBOM plus an ai-model BOM). See `primitives/bom.schema.json`.
|