UNPKG

@mitre-attack/attack-data-model

Version:

A TypeScript API for the MITRE ATT&CK data model

48 lines (45 loc) 1.51 kB
import { z } from 'zod/v4'; /** * Schema for validating individual ATT&CK domain values. * * ATT&CK domains represent different technology environments covered by the framework. * * @example * ```typescript * attackDomainSchema.parse('enterprise-attack'); // Valid * attackDomainSchema.parse('mobile-attack'); // Valid * attackDomainSchema.parse('cloud-attack'); // Invalid - not a valid domain * ``` */ declare const attackDomainSchema: z.ZodEnum<{ "enterprise-attack": "enterprise-attack"; "mobile-attack": "mobile-attack"; "ics-attack": "ics-attack"; }>; /** * Type representing a single ATT&CK domain. */ type AttackDomain = z.infer<typeof attackDomainSchema>; /** * Schema for validating ATT&CK domains (`x_mitre_domains`). * * An array of technology domains to which the ATT&CK object belongs. At least one * domain must be specified. * * @example * ```typescript * xMitreDomainsSchema.parse(['enterprise-attack']); // Valid * xMitreDomainsSchema.parse(['enterprise-attack', 'mobile-attack']); // Valid * xMitreDomainsSchema.parse([]); // Invalid - at least one domain required * ``` */ declare const xMitreDomainsSchema: z.ZodArray<z.ZodEnum<{ "enterprise-attack": "enterprise-attack"; "mobile-attack": "mobile-attack"; "ics-attack": "ics-attack"; }>>; /** * Type representing a list of ATT&CK domains. */ type XMitreDomains = z.infer<typeof xMitreDomainsSchema>; export { type AttackDomain, type XMitreDomains, attackDomainSchema, xMitreDomainsSchema };