Interface CyberObservableObjectCommonProperties

All Superinterfaces:
GenericValidation, SdoDefaultValidator
All Known Subinterfaces:
ArtifactCoo, AutonomousSystemCoo, CyberObservableObject, DirectoryCoo, DomainNameCoo, EmailAddressCoo, EmailMessageCoo, FileCoo, Ipv4AddressCoo, Ipv6AddressCoo, MacAddressCoo, MutexCoo, NetworkTrafficCoo, ProcessCoo, SoftwareCoo, UrlCoo, UserAccountCoo, WindowsRegistryKeyCoo, X509CertificateCoo
All Known Implementing Classes:
Artifact, AutonomousSystem, Directory, DomainName, EmailAddress, EmailMessage, File, Ipv4Address, Ipv6Address, MacAddress, Mutex, NetworkTraffic, Process, Software, Url, UserAccount, WindowsRegistryKey, X509Certificate

public interface CyberObservableObjectCommonProperties extends GenericValidation
  • Method Details

    • getType

      @NotBlank @JsonPropertyDescription("Indicates that this object is an Observable Object. The value of this property MUST be a valid Observable Object type name, but to allow for custom objects this has been removed from the schema.") @Pattern(regexp="^\\-?[a-z0-9]+(-[a-z0-9]+)*\\-?$") @Size(min=3, max=250) @NotBlank @Pattern(regexp="^\\-?[a-z0-9]+(-[a-z0-9]+)*\\-?$") @Size(min=3,max=250) String getType()
    • getExtensions

      @Default @JsonPropertyDescription("Specifies any extensions of the object, as a dictionary.") default Set<CyberObservableExtension> getExtensions()
      Multiple extensions can be added, but only 1 instance of a specific extension can be added.
    • getObservableObjectKey

      @Default default String getObservableObjectKey()
      Used for generation of Map Keys by ObservedDataSdo.getObjects() Manually set this value if you want to control key names. Otherwise UUIDs will be used.
    • getId

      String getId()
      The ID of this Cyber Observable Object. Must be deterministically generated based on the observable's properties. Format: [type]--[UUID based on content] This is required by BundleableObject interface.
    • getDefanged

      @JsonPropertyDescription("Indicates whether the data contained in the SCO has been defanged.") Optional<Boolean> getDefanged()
      Indicates whether the data contained in the SCO has been defanged. Defanging refers to the process of modifying data to make it safe to handle (e.g., changing an IP address from 192.168.1.1 to 192[.]168[.]1[.]1).