@mitre-attack/attack-data-model
Version:
A TypeScript API for the MITRE ATT&CK data model
41 lines (38 loc) • 2.89 kB
TypeScript
import { z } from 'zod/v4';
import { Malware } from './malware.schema.js';
import { Asset } from './asset.schema.js';
import { Campaign } from './campaign.schema.js';
import { DataComponent } from './data-component.schema.js';
import { LogSource } from './log-source.schema.js';
import { DataSource } from './data-source.schema.js';
import { Identity } from './identity.schema.js';
import { Matrix } from './matrix.schema.js';
import { Tool } from './tool.schema.js';
import { Tactic } from './tactic.schema.js';
import { Technique } from './technique.schema.js';
import { Group } from './group.schema.js';
import { Mitigation } from './mitigation.schema.js';
import { Collection } from './collection.schema.js';
import { DetectionStrategy } from './detection-strategy.schema.js';
import { Analytic } from './analytic.schema.js';
import { Relationship } from '../sro/relationship.schema.js';
import { MarkingDefinition } from '../smo/marking-definition.schema.js';
import '../common/stix-identifier.js';
import '../common/stix-type.js';
type AttackObject = Malware | Asset | Campaign | Collection | DataComponent | (DataSource | LogSource) | Identity | Matrix | Tool | Tactic | Technique | Group | Mitigation | DetectionStrategy | Analytic | Relationship | MarkingDefinition;
declare const attackObjectsSchema: z.ZodTypeAny;
type AttackObjects = z.infer<typeof attackObjectsSchema>;
declare const extensibleStixBundleSchema: z.ZodObject<{
id: z.ZodString;
type: z.ZodLiteral<"attack-pattern" | "bundle" | "campaign" | "course-of-action" | "extension-definition" | "identity" | "intrusion-set" | "malware" | "tool" | "marking-definition" | "x-mitre-analytic" | "x-mitre-data-component" | "x-mitre-detection-strategy" | "x-mitre-tactic" | "x-mitre-asset" | "x-mitre-data-source" | "x-mitre-log-source" | "x-mitre-matrix" | "x-mitre-collection" | "relationship" | "file" | "artifact">;
spec_version: z.ZodLiteral<"2.0" | "2.1">;
objects: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
}, z.core.$strict>;
declare const stixBundleSchema: z.ZodObject<{
id: z.ZodString;
type: z.ZodLiteral<"attack-pattern" | "bundle" | "campaign" | "course-of-action" | "extension-definition" | "identity" | "intrusion-set" | "malware" | "tool" | "marking-definition" | "x-mitre-analytic" | "x-mitre-data-component" | "x-mitre-detection-strategy" | "x-mitre-tactic" | "x-mitre-asset" | "x-mitre-data-source" | "x-mitre-log-source" | "x-mitre-matrix" | "x-mitre-collection" | "relationship" | "file" | "artifact">;
spec_version: z.ZodLiteral<"2.0" | "2.1">;
objects: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
}, z.core.$strict>;
type StixBundle = z.infer<typeof extensibleStixBundleSchema>;
export { type AttackObject, type AttackObjects, type StixBundle, attackObjectsSchema, extensibleStixBundleSchema, stixBundleSchema };