@mitre-attack/attack-data-model
Version:
A TypeScript API for the MITRE ATT&CK data model
166 lines (163 loc) • 7.89 kB
TypeScript
import { z } from 'zod/v4';
declare const xMitreShortNameSchema: z.ZodEnum<{
"credential-access": "credential-access";
execution: "execution";
impact: "impact";
persistence: "persistence";
"privilege-escalation": "privilege-escalation";
"lateral-movement": "lateral-movement";
"defense-evasion": "defense-evasion";
exfiltration: "exfiltration";
discovery: "discovery";
collection: "collection";
"resource-development": "resource-development";
reconnaissance: "reconnaissance";
"command-and-control": "command-and-control";
"initial-access": "initial-access";
"inhibit-response-function": "inhibit-response-function";
evasion: "evasion";
"impair-process-control": "impair-process-control";
"network-effects": "network-effects";
"remote-service-effects": "remote-service-effects";
}>;
type XMitreShortName = z.infer<typeof xMitreShortNameSchema>;
declare const extensibleTacticSchema: z.ZodObject<{
spec_version: z.ZodEnum<{
"2.0": "2.0";
2.1: "2.1";
}>;
created: z.core.$ZodBranded<z.ZodISODateTime, "StixCreatedTimestamp">;
modified: z.core.$ZodBranded<z.ZodISODateTime, "StixModifiedTimestamp">;
created_by_ref: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
revoked: z.ZodOptional<z.ZodBoolean>;
confidence: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
lang: z.ZodOptional<z.ZodString>;
object_marking_refs: z.ZodNonOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
granular_markings: z.ZodOptional<z.ZodArray<z.ZodObject<{
marking_ref: z.ZodString;
selectors: z.ZodArray<z.ZodString>;
}, z.core.$strip>>>;
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
extension_type: z.ZodEnum<{
"new-sdo": "new-sdo";
"new-sco": "new-sco";
"new-sro": "new-sro";
"property-extension": "property-extension";
"toplevel-property-extension": "toplevel-property-extension";
}>;
}, z.core.$catchall<z.ZodUnknown>>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>;
name: z.ZodString;
x_mitre_attack_spec_version: z.ZodString;
x_mitre_version: z.ZodString;
x_mitre_old_attack_id: z.ZodOptional<z.ZodString>;
x_mitre_deprecated: z.ZodOptional<z.ZodBoolean>;
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">;
description: z.ZodString;
external_references: z.ZodArray<z.ZodObject<{
source_name: z.ZodString;
description: z.ZodOptional<z.ZodString>;
url: z.ZodOptional<z.ZodURL>;
external_id: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
x_mitre_domains: z.ZodArray<z.ZodEnum<{
"enterprise-attack": "enterprise-attack";
"mobile-attack": "mobile-attack";
"ics-attack": "ics-attack";
}>>;
x_mitre_shortname: z.ZodEnum<{
"credential-access": "credential-access";
execution: "execution";
impact: "impact";
persistence: "persistence";
"privilege-escalation": "privilege-escalation";
"lateral-movement": "lateral-movement";
"defense-evasion": "defense-evasion";
exfiltration: "exfiltration";
discovery: "discovery";
collection: "collection";
"resource-development": "resource-development";
reconnaissance: "reconnaissance";
"command-and-control": "command-and-control";
"initial-access": "initial-access";
"inhibit-response-function": "inhibit-response-function";
evasion: "evasion";
"impair-process-control": "impair-process-control";
"network-effects": "network-effects";
"remote-service-effects": "remote-service-effects";
}>;
x_mitre_modified_by_ref: z.ZodLiteral<`identity--${string}`>;
x_mitre_contributors: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>;
declare const tacticSchema: z.ZodObject<{
spec_version: z.ZodEnum<{
"2.0": "2.0";
2.1: "2.1";
}>;
created: z.core.$ZodBranded<z.ZodISODateTime, "StixCreatedTimestamp">;
modified: z.core.$ZodBranded<z.ZodISODateTime, "StixModifiedTimestamp">;
created_by_ref: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
revoked: z.ZodOptional<z.ZodBoolean>;
confidence: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
lang: z.ZodOptional<z.ZodString>;
object_marking_refs: z.ZodNonOptional<z.ZodOptional<z.ZodArray<z.ZodString>>>;
granular_markings: z.ZodOptional<z.ZodArray<z.ZodObject<{
marking_ref: z.ZodString;
selectors: z.ZodArray<z.ZodString>;
}, z.core.$strip>>>;
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
extension_type: z.ZodEnum<{
"new-sdo": "new-sdo";
"new-sco": "new-sco";
"new-sro": "new-sro";
"property-extension": "property-extension";
"toplevel-property-extension": "toplevel-property-extension";
}>;
}, z.core.$catchall<z.ZodUnknown>>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>>;
name: z.ZodString;
x_mitre_attack_spec_version: z.ZodString;
x_mitre_version: z.ZodString;
x_mitre_old_attack_id: z.ZodOptional<z.ZodString>;
x_mitre_deprecated: z.ZodOptional<z.ZodBoolean>;
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">;
description: z.ZodString;
external_references: z.ZodArray<z.ZodObject<{
source_name: z.ZodString;
description: z.ZodOptional<z.ZodString>;
url: z.ZodOptional<z.ZodURL>;
external_id: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
x_mitre_domains: z.ZodArray<z.ZodEnum<{
"enterprise-attack": "enterprise-attack";
"mobile-attack": "mobile-attack";
"ics-attack": "ics-attack";
}>>;
x_mitre_shortname: z.ZodEnum<{
"credential-access": "credential-access";
execution: "execution";
impact: "impact";
persistence: "persistence";
"privilege-escalation": "privilege-escalation";
"lateral-movement": "lateral-movement";
"defense-evasion": "defense-evasion";
exfiltration: "exfiltration";
discovery: "discovery";
collection: "collection";
"resource-development": "resource-development";
reconnaissance: "reconnaissance";
"command-and-control": "command-and-control";
"initial-access": "initial-access";
"inhibit-response-function": "inhibit-response-function";
evasion: "evasion";
"impair-process-control": "impair-process-control";
"network-effects": "network-effects";
"remote-service-effects": "remote-service-effects";
}>;
x_mitre_modified_by_ref: z.ZodLiteral<`identity--${string}`>;
x_mitre_contributors: z.ZodOptional<z.ZodArray<z.ZodString>>;
}, z.core.$strict>;
type Tactic = z.infer<typeof extensibleTacticSchema>;
export { type Tactic, type XMitreShortName, extensibleTacticSchema, tacticSchema, xMitreShortNameSchema };