Skip to content

Class: AttackSoftware

Abstract superclass for ATT&CK Software objects, representing both Malware and Tool STIX types. Software in ATT&CK encompasses all programs used by adversaries to accomplish their objectives. Both Malware and Tool share the ATT&CK ID format S#### and the same set of ATT&CK-specific properties (x_mitre_aliases, x_mitre_platforms, x_mitre_domains, etc.). Concrete subclasses: Malware (stix type 'malware') and Tool (stix type 'tool').

  • NOTE: this is an abstract class and should not be instantiated directly

URI: attack:AttackSoftware

 classDiagram
    class AttackSoftware
    click AttackSoftware href "../AttackSoftware/"
      AttackObject <|-- AttackSoftware
        click AttackObject href "../AttackObject/"


      AttackSoftware <|-- AttackMalware
        click AttackMalware href "../AttackMalware/"
      AttackSoftware <|-- AttackTool
        click AttackTool href "../AttackTool/"


      AttackSoftware : confidence

      AttackSoftware : created

      AttackSoftware : created_by_ref

      AttackSoftware : description

      AttackSoftware : extensions

      AttackSoftware : external_references





        AttackSoftware --> "*" ExternalReference : external_references
        click ExternalReference href "../ExternalReference/"



      AttackSoftware : granular_markings





        AttackSoftware --> "*" GranularMarking : granular_markings
        click GranularMarking href "../GranularMarking/"



      AttackSoftware : id

      AttackSoftware : labels

      AttackSoftware : lang

      AttackSoftware : modified

      AttackSoftware : name

      AttackSoftware : object_marking_refs

      AttackSoftware : revoked

      AttackSoftware : spec_version





        AttackSoftware --> "1" SpecVersionEnum : spec_version
        click SpecVersionEnum href "../SpecVersionEnum/"



      AttackSoftware : type

      AttackSoftware : x_mitre_attack_spec_version

      AttackSoftware : x_mitre_deprecated

      AttackSoftware : x_mitre_old_attack_id

      AttackSoftware : x_mitre_version

Inheritance

Slots

Name Cardinality and Range Description Inheritance
x_mitre_attack_spec_version 1
SemverString
The version of the ATT&CK Data Model specification used to construct this obj... AttackObject
x_mitre_version 1
AttackVersionString
The version of this ATT&CK object content in 'major AttackObject
x_mitre_deprecated 0..1
Boolean
Boolean flag indicating that this ATT&CK object has been deprecated and shoul... AttackObject
x_mitre_old_attack_id 0..1
String
A legacy ATT&CK ID previously assigned to this object before a knowledge base... AttackObject
type 1
StixTypeName
STIX object type Core, StixEntity
spec_version 1
SpecVersionEnum
STIX specification version Core
id 1
StixIdentifier
STIX object identifier Core, StixEntity
created 1
Datetime
Creation timestamp Core
modified 1
Datetime
Modification timestamp Core
created_by_ref 0..1
StixIdentifier
The STIX ID of the identity object that first created this ATT&CK object Core
labels *
String
Terms used to describe this object Core
revoked 0..1
Boolean
Indicates whether this object has been revoked Core
confidence 0..1
Integer
Confidence that the producer has in this data Core
lang 0..1
String
Language of textual properties Core
external_references *
ExternalReference
External references to non-STIX information Core
object_marking_refs *
StixIdentifier
Marking definition references applied to this object Core
granular_markings *
GranularMarking
Granular markings that apply to selected content Core
extensions *
String
Open-ended extension payloads Core
name 1
String
The human-readable name of this ATT&CK object StixEntity
description 0..1
String
Human-readable description StixEntity

In Subsets

Notes

  • The class name 'attack:Software' collides with (is_a) 'stix:Software', so renamed.

Identifier and Mapping Information

Annotations

property value
note Software is a union type in the ATT&CK Data Model (softwareSchema = malwareSchema

Schema Source

  • from schema: https://w3id.org/lmodel/attack

Mappings

Mapping Type Mapped Value
self attack:AttackSoftware
native attack:AttackSoftware

LinkML Source

Direct

name: AttackSoftware
annotations:
  note:
    tag: note
    value: 'Software is a union type in the ATT&CK Data Model (softwareSchema = malwareSchema
      | toolSchema). This abstract class captures the shared properties. Use Malware
      or Tool for concrete objects. ATT&CK ID format: S####'
description: 'Abstract superclass for ATT&CK Software objects, representing both Malware
  and Tool STIX types. Software in ATT&CK encompasses all programs used by adversaries
  to accomplish their objectives. Both Malware and Tool share the ATT&CK ID format
  S#### and the same set of ATT&CK-specific properties (x_mitre_aliases, x_mitre_platforms,
  x_mitre_domains, etc.). Concrete subclasses: Malware (stix type ''malware'') and
  Tool (stix type ''tool'').'
notes:
- The class name 'attack:Software' collides with (is_a) 'stix:Software', so renamed.
in_subset:
- attack_sdos
from_schema: https://w3id.org/lmodel/attack
is_a: AttackObject
abstract: true

Induced

name: AttackSoftware
annotations:
  note:
    tag: note
    value: 'Software is a union type in the ATT&CK Data Model (softwareSchema = malwareSchema
      | toolSchema). This abstract class captures the shared properties. Use Malware
      or Tool for concrete objects. ATT&CK ID format: S####'
description: 'Abstract superclass for ATT&CK Software objects, representing both Malware
  and Tool STIX types. Software in ATT&CK encompasses all programs used by adversaries
  to accomplish their objectives. Both Malware and Tool share the ATT&CK ID format
  S#### and the same set of ATT&CK-specific properties (x_mitre_aliases, x_mitre_platforms,
  x_mitre_domains, etc.). Concrete subclasses: Malware (stix type ''malware'') and
  Tool (stix type ''tool'').'
notes:
- The class name 'attack:Software' collides with (is_a) 'stix:Software', so renamed.
in_subset:
- attack_sdos
from_schema: https://w3id.org/lmodel/attack
is_a: AttackObject
abstract: true
attributes:
  x_mitre_attack_spec_version:
    name: x_mitre_attack_spec_version
    description: The version of the ATT&CK Data Model specification used to construct
      this object, in MAJOR.MINOR.PATCH (semantic versioning) format. Helps consuming
      software determine whether the data format is supported. Objects lacking this
      property are assumed to conform to ATT&CK spec version 2.0.0. Refer to the ATT&CK
      CHANGELOG for all supported versions.
    comments:
    - 'absent_on: marking-definition, identity (x_mitre_version absent), relationship
      (x_mitre_version absent)'
    in_subset:
    - attack_sdos
    - attack_sros
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: x_mitre_attack_spec_version
    owner: AttackSoftware
    domain_of:
    - AttackObject
    range: semver_string
    required: true
  x_mitre_version:
    name: x_mitre_version
    description: 'The version of this ATT&CK object content in ''major.minor'' format,
      where both components are integers between 0 and 99. Incremented by ATT&CK whenever
      the substantive content of the object changes. Does not apply to relationship
      objects. Example: "1.0", "12.5".'
    comments:
    - 'absent_on: relationship, marking-definition'
    in_subset:
    - attack_sdos
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: x_mitre_version
    owner: AttackSoftware
    domain_of:
    - AttackObject
    range: attack_version_string
    required: true
  x_mitre_deprecated:
    name: x_mitre_deprecated
    description: Boolean flag indicating that this ATT&CK object has been deprecated
      and should no longer be used in new analyses or tooling implementations. Deprecated
      objects are retained in the knowledge base for historical reference and legacy
      compatibility, but are not actively maintained with new information.
    comments:
    - 'absent_on: marking-definition'
    in_subset:
    - attack_sdos
    - attack_sros
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: x_mitre_deprecated
    owner: AttackSoftware
    domain_of:
    - AttackObject
    range: boolean
  x_mitre_old_attack_id:
    name: x_mitre_old_attack_id
    description: A legacy ATT&CK ID previously assigned to this object before a knowledge
      base restructuring or domain migration event. Format mirrors the current ATT&CK
      ID format but from the prior numbering scheme (e.g., "MOB-T1001" for a mobile
      technique previously in the pre-unification Mobile ATT&CK dataset).
    in_subset:
    - attack_sdos
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: x_mitre_old_attack_id
    owner: AttackSoftware
    domain_of:
    - AttackObject
    range: string
  type:
    name: type
    description: STIX object type.
    from_schema: https://w3id.org/lmodel/attack
    related_mappings:
    - unified_cyber_ontology:state
    rank: 1000
    alias: type
    owner: AttackSoftware
    domain_of:
    - StixEntity
    - Bundle
    - Core
    - CyberObservableCore
    - ExtensionDefinition
    - LanguageContent
    - MarkingDefinition
    - File
    range: stix_type_name
    required: true
  spec_version:
    name: spec_version
    description: STIX specification version.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:specVersion
    rank: 1000
    alias: spec_version
    owner: AttackSoftware
    domain_of:
    - Core
    - CyberObservableCore
    - MarkingDefinition
    range: SpecVersionEnum
    required: true
  id:
    name: id
    description: STIX object identifier.
    from_schema: https://w3id.org/lmodel/attack
    related_mappings:
    - unified_cyber_ontology:externalReference
    rank: 1000
    alias: id
    owner: AttackSoftware
    domain_of:
    - StixEntity
    - Bundle
    - Core
    - CyberObservableCore
    - ExtensionDefinition
    - LanguageContent
    - MarkingDefinition
    - File
    range: stix_identifier
    required: true
  created:
    name: created
    description: Creation timestamp.
    notes:
    - STIX core timestamps require millisecond precision.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:objectCreatedTime
    rank: 1000
    alias: created
    owner: AttackSoftware
    domain_of:
    - Core
    - MarkingDefinition
    range: datetime
    required: true
    pattern: T\d{2}:\d{2}:\d{2}\.\d{3,}Z$
  modified:
    name: modified
    description: Modification timestamp.
    notes:
    - STIX core timestamps require millisecond precision.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:modifiedTime
    rank: 1000
    alias: modified
    owner: AttackSoftware
    domain_of:
    - Core
    range: datetime
    required: true
    pattern: T\d{2}:\d{2}:\d{2}\.\d{3,}Z$
  created_by_ref:
    name: created_by_ref
    description: The STIX ID of the identity object that first created this ATT&CK
      object. Typically references MITRE's identity (identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5).
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:createdBy
    rank: 1000
    alias: created_by_ref
    owner: AttackSoftware
    domain_of:
    - Core
    - MarkingDefinition
    range: stix_identifier
  labels:
    name: labels
    description: Terms used to describe this object.
    comments:
    - 'jsonschema_minItems: "1"'
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:tag
    rank: 1000
    alias: labels
    owner: AttackSoftware
    domain_of:
    - Core
    range: string
    multivalued: true
  revoked:
    name: revoked
    description: Indicates whether this object has been revoked.
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: revoked
    owner: AttackSoftware
    domain_of:
    - Core
    range: boolean
  confidence:
    name: confidence
    description: Confidence that the producer has in this data.
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: confidence
    owner: AttackSoftware
    domain_of:
    - Core
    range: integer
    minimum_value: 0
    maximum_value: 100
  lang:
    name: lang
    description: Language of textual properties.
    from_schema: https://w3id.org/lmodel/attack
    rank: 1000
    alias: lang
    owner: AttackSoftware
    domain_of:
    - Core
    - GranularMarking
    range: string
  external_references:
    name: external_references
    description: External references to non-STIX information.
    comments:
    - 'jsonschema_minItems: "1"'
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:externalReference
    rank: 1000
    alias: external_references
    owner: AttackSoftware
    domain_of:
    - Core
    - MarkingDefinition
    range: ExternalReference
    multivalued: true
  object_marking_refs:
    name: object_marking_refs
    description: Marking definition references applied to this object.
    comments:
    - 'jsonschema_minItems: "1"'
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:objectMarking
    rank: 1000
    alias: object_marking_refs
    owner: AttackSoftware
    domain_of:
    - Core
    - CyberObservableCore
    - MarkingDefinition
    range: stix_identifier
    multivalued: true
  granular_markings:
    name: granular_markings
    description: Granular markings that apply to selected content.
    comments:
    - 'jsonschema_minItems: "1"'
    from_schema: https://w3id.org/lmodel/attack
    narrow_mappings:
    - unified_cyber_ontology:objectMarking
    rank: 1000
    alias: granular_markings
    owner: AttackSoftware
    domain_of:
    - Core
    - CyberObservableCore
    - MarkingDefinition
    range: GranularMarking
    multivalued: true
  extensions:
    name: extensions
    description: Open-ended extension payloads.
    notes:
    - JSON Schema uses patternProperties for extension keys; exact key validation
      is delegated to validator tooling.
    comments:
    - 'jsonschema_rule: patternProperties validator_hint: validate-extension-keys-and-values'
    from_schema: https://w3id.org/lmodel/attack
    related_mappings:
    - unified_cyber_ontology:hasFacet
    rank: 1000
    alias: extensions
    owner: AttackSoftware
    domain_of:
    - Core
    - CyberObservableCore
    - MarkingDefinition
    - File
    range: string
    multivalued: true
  name:
    name: name
    description: The human-readable name of this ATT&CK object. Required on all ATT&CK
      objects except relationship objects (which never carry a name).
    from_schema: https://w3id.org/lmodel/attack
    exact_mappings:
    - unified_cyber_ontology:name
    rank: 1000
    alias: name
    owner: AttackSoftware
    domain_of:
    - RelatedAsset
    - StixEntity
    - ExtensionDefinition
    - MarkingDefinition
    - AutonomousSystem
    - File
    range: string
    required: true
  description:
    name: description
    description: Human-readable description.
    from_schema: https://w3id.org/lmodel/attack
    close_mappings:
    - unified_cyber_ontology:description
    rank: 1000
    alias: description
    owner: AttackSoftware
    domain_of:
    - RelatedAsset
    - MutableElement
    - StixEntity
    - ExtensionDefinition
    - ExternalReference
    range: string