@mitre-attack/attack-data-model
Version:
A TypeScript API for the MITRE ATT&CK data model
55 lines (52 loc) • 2.13 kB
TypeScript
import { z } from 'zod/v4';
import { StixIdentifier } from './stix-id.js';
import './stix-type.js';
/**
* The official STIX identifier for the MITRE Corporation identity object.
*
* This constant represents MITRE's identity in the STIX ecosystem and is used to
* attribute objects to the MITRE organization.
*/
declare const xMitreIdentity: StixIdentifier;
/**
* Schema for validating the MITRE identity identifier.
*
* Ensures that the value exactly matches MITRE's official STIX identity.
*/
declare const xMitreIdentitySchema: z.ZodLiteral<`identity--${string}`>;
/**
* Schema for validating modified-by references (`x_mitre_modified_by_ref`).
*
* The STIX ID of the MITRE identity object, used to track the identity of the MITRE
* organization which created the current version of the object. Previous versions may
* have been created by other individuals or organizations.
*
* @example
* ```typescript
* xMitreModifiedByRefSchema.parse('identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5'); // Valid
* xMitreModifiedByRefSchema.parse('identity--other'); // Invalid - must be MITRE identity
* ```
*/
declare const xMitreModifiedByRefSchema: z.ZodLiteral<`identity--${string}`>;
/**
* Type representing a validated MITRE modified-by reference.
*/
type XMitreModifiedByRef = z.infer<typeof xMitreModifiedByRefSchema>;
/**
* Schema for validating contributors (`x_mitre_contributors`).
*
* An array of names representing people and organizations who have contributed to the
* ATT&CK object. This property is not found on relationship objects.
*
* @example
* ```typescript
* xMitreContributorsSchema.parse(['John Doe', 'Acme Security']); // Valid
* xMitreContributorsSchema.parse([]); // Invalid - at least one contributor required when present
* ```
*/
declare const xMitreContributorsSchema: z.ZodArray<z.ZodString>;
/**
* Type representing a list of contributors.
*/
type XMitreContributors = z.infer<typeof xMitreContributorsSchema>;
export { type XMitreContributors, type XMitreModifiedByRef, xMitreContributorsSchema, xMitreIdentity, xMitreIdentitySchema, xMitreModifiedByRefSchema };