@mitre-attack/attack-data-model
Version:
A TypeScript API for the MITRE ATT&CK data model
45 lines (42 loc) • 1.51 kB
JavaScript
import {
attackBaseDomainObjectSchema
} from "./chunk-63MLXW5B.js";
import {
createOldMitreAttackIdSchema,
objectMarkingRefsSchema,
xMitreContributorsSchema,
xMitreDomainsSchema,
xMitreModifiedByRefSchema
} from "./chunk-7SVTHS3K.js";
import {
createAttackExternalReferencesSchema,
stixCreatedByRefSchema
} from "./chunk-ZAIY3U5E.js";
import {
createStixIdValidator
} from "./chunk-BX5HSTNG.js";
import {
createStixTypeValidator
} from "./chunk-E6AAF2HD.js";
// src/schemas/sdo/mitigation.schema.ts
import { z } from "zod";
var extensibleMitigationSchema = attackBaseDomainObjectSchema.extend({
id: createStixIdValidator("course-of-action"),
type: createStixTypeValidator("course-of-action"),
// Optional in STIX but required in ATT&CK
created_by_ref: stixCreatedByRefSchema,
description: z.string().describe("A description that provides more details and context about the Mitigation."),
// Optional in STIX but required in ATT&CK
external_references: createAttackExternalReferencesSchema("course-of-action"),
// Optional in STIX but required in ATT&CK
object_marking_refs: objectMarkingRefsSchema,
x_mitre_domains: xMitreDomainsSchema,
x_mitre_modified_by_ref: xMitreModifiedByRefSchema,
x_mitre_contributors: xMitreContributorsSchema.min(1).optional(),
x_mitre_old_attack_id: createOldMitreAttackIdSchema("course-of-action").optional()
}).strict();
var mitigationSchema = extensibleMitigationSchema;
export {
extensibleMitigationSchema,
mitigationSchema
};