openapi: 3.2.0
info:
title: CTIA Sighting API
version: 4178275a824512c2fd3a2acdb0e8277233919054 v2.71.0
license:
name: All Rights Reserved
url: ''
contact:
name: 'Cisco Security Business Group -- Advanced Threat '
url: http://github.com/threatgrid/ctia
email: cisco-intel-api-support@cisco.com
description: "A Threat Intelligence API service\n\n This API provides a mechanism for making Judgements on the Disposition\n of Observables, which are then distilled into a final Verdict. A\n Disposition is a statement regarding the malicious, or otherwise,\n nature of an Observable.\n\n The Judgements can be grouped into Indicators, which can be associated\n with Campaigns, Actors and TTPs. Feedback can be given on specific\n Judgements, indicating agreement or disagreement, or clarification.\n\n When an Observable with a malicious Verdict is seen, it can be recorded as\n a Sighting, and the Relations that Observable had with other Observables can\n be recorded as well.\n\n We support a pre-defined set of Observable Types. Each Observable Type has a\n specific form of natural identifier, its ID, which is almost always\n the default way it is represented when observed in the wild.\n\n * Ipv4/IPv6 -- 192.168.1.1\n * Domain/Hostname -- foo.com, www.bar.com\n * SHA256 -- the sha256 checksum of a file, or other data blob\n * MD5 -- the md5 checksum of a file, or other data blob\n * SHA1 -- the sha1 checksum of a file, or other data blob\n * URL -- A minimal form of the URL\n\n The Verdict is derived from all of the Judgements on that Observable which\n have not yet expired. The highest priority Judgement becomes the\n active verdict. If there is more than one Judgement with that\n priority, than Clean disposition has priority over all others, then\n Malicious disposition, and so on down to Unknown.\n\n CTIA Documentation"
x-provenance:
method: harvested
authored_by: Cisco XDR (CTIA)
harvested_by: API Evangelist
harvested_on: '2026-08-19'
first_party: true
note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
provider_published: true
x-evidence:
- type: source
url: https://private.intel.amp.cisco.com/index.html
- type: raw
url: https://private.intel.amp.cisco.com/swagger.json
servers:
- url: /
security:
- JWT: []
- oauth2:
- private-intel
- private-intel:read
- private-intel:write
- casebook
- casebook:read
- casebook:write
tags:
- name: Sighting
description: Sighting operations
paths:
/ctia/sighting:
post:
tags:
- Sighting
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Sighting'
application/x-yaml:
schema:
$ref: '#/components/schemas/Sighting'
application/edn:
schema:
$ref: '#/components/schemas/Sighting'
application/transit+json:
schema:
$ref: '#/components/schemas/Sighting'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/Sighting'
parameters:
- in: query
name: wait_for
description: wait for entity to be available for search
required: false
schema:
type: boolean
summary: Adds a new Sighting
description: Requires capability create-sighting.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NewSighting'
application/x-yaml:
schema:
$ref: '#/components/schemas/NewSighting'
application/edn:
schema:
$ref: '#/components/schemas/NewSighting'
application/transit+json:
schema:
$ref: '#/components/schemas/NewSighting'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/NewSighting'
description: a new Sighting
required: true
/ctia/sighting/{id}:
put:
tags:
- Sighting
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Sighting'
application/x-yaml:
schema:
$ref: '#/components/schemas/Sighting'
application/edn:
schema:
$ref: '#/components/schemas/Sighting'
application/transit+json:
schema:
$ref: '#/components/schemas/Sighting'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/Sighting'
parameters:
- in: query
name: wait_for
description: wait for updated entity to be available for search
required: false
schema:
type: boolean
- in: path
name: id
description: ''
required: true
schema:
type: string
summary: Update an existing Sighting
description: Requires capability create-sighting.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NewSighting'
application/x-yaml:
schema:
$ref: '#/components/schemas/NewSighting'
application/edn:
schema:
$ref: '#/components/schemas/NewSighting'
application/transit+json:
schema:
$ref: '#/components/schemas/NewSighting'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/NewSighting'
description: an updated Sighting
required: true
get:
tags:
- Sighting
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PartialSighting'
application/x-yaml:
schema:
$ref: '#/components/schemas/PartialSighting'
application/edn:
schema:
$ref: '#/components/schemas/PartialSighting'
application/transit+json:
schema:
$ref: '#/components/schemas/PartialSighting'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/PartialSighting'
summary: Get one Sighting by ID
parameters:
- in: path
name: id
description: ''
required: true
schema:
type: string
- in: query
name: fields
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- observed_time.end_time
- confidence
- detection_interval.end_time
- tlp
- modification_interval.start_time
- activity_interval.end_time
- id
- timestamp
- revision
- sensor
- count
- observed_time.start_time
- activity_interval.start_time
- detection_interval.start_time
- schema_version
- title
- source
- source_uri
- modification_interval.end_time
- language
description: Requires capability read-sighting.
delete:
tags:
- Sighting
responses:
'204':
description: ''
x-no-doc: false
parameters:
- in: path
name: id
description: ''
required: true
schema:
type: string
- in: query
name: wait_for
description: wait for deleted entity to no more be available for search
required: false
schema:
type: boolean
summary: Delete one Sighting
description: Requires capability delete-sighting.
/ctia/sighting/external_id/{external_id}:
get:
tags:
- Sighting
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/x-yaml:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/edn:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/transit+json:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/transit+msgpack:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
parameters:
- in: query
name: sort_by
description: Sort results on a field
required: false
schema:
type: string
enum:
- schema_version
- revision
- source
- title
- source_uri
- language
- id
- tlp
- timestamp
- in: query
name: sort_order
description: Sort direction
required: false
schema:
type: string
enum:
- desc
- asc
- in: query
name: offset
description: Pagination Offset
required: false
schema:
type: integer
format: int64
- in: query
name: search_after
description: Pagination stateless cursor
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: limit
description: Pagination Limit
required: false
schema:
type: integer
format: int64
- in: query
name: fields
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- observed_time.end_time
- confidence
- detection_interval.end_time
- tlp
- modification_interval.start_time
- activity_interval.end_time
- id
- timestamp
- revision
- sensor
- count
- observed_time.start_time
- activity_interval.start_time
- detection_interval.start_time
- schema_version
- title
- source
- source_uri
- modification_interval.end_time
- language
- in: path
name: external_id
description: ''
required: true
schema:
type: string
summary: List Sighting by external id
description: Requires capability read-sighting.
/ctia/sighting/search:
get:
tags:
- Sighting
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/x-yaml:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/edn:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/transit+json:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/transit+msgpack:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
summary: Search for Sighting entities using a ES query syntax and field filters
description: Requires capability search-sighting.
parameters:
- in: query
name: sort_order
description: Sort direction
required: false
schema:
type: string
enum:
- desc
- asc
- in: query
name: observables.value
description: ''
required: false
schema:
type: string
- in: query
name: tlp
description: ''
required: false
schema:
type: string
- in: query
name: from
description: ''
required: false
schema:
type: string
format: date-time
- in: query
name: sort_by
description: 'Sort result on fields.
The following fields are supported: activity_interval.end_time, activity_interval.start_time, confidence, count, detection_interval.end_time, detection_interval.start_time, id, language, modification_interval.end_time, modification_interval.start_time, observed_time.end_time, observed_time.start_time, observed_time.start_time,timestamp, revision, schema_version, sensor, source, source_uri, timestamp, title, tlp
Fields can be combined with '','' and sort order can be specified by '':asc'' and '':desc''. For example:
- activity_interval.end_time # sort by activity_interval.end_time ascending
- activity_interval.end_time:desc # sort by activity_interval.end_time descending
- activity_interval.end_time,activity_interval.start_time:desc # sort by activity_interval.end_time ascending, then activity_interval.start_time descending'
required: false
schema:
type: string
- in: query
name: fields
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- observed_time.end_time
- confidence
- detection_interval.end_time
- tlp
- modification_interval.start_time
- activity_interval.end_time
- id
- timestamp
- revision
- sensor
- count
- observed_time.start_time
- activity_interval.start_time
- detection_interval.start_time
- schema_version
- title
- source
- source_uri
- modification_interval.end_time
- language
- in: query
name: search_after
description: Pagination stateless cursor
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: observables.type
description: ''
required: false
schema:
type: string
- in: query
name: language
description: ''
required: false
schema:
type: string
- in: query
name: id
description: ''
required: false
schema:
type: string
- in: query
name: limit
description: Pagination Limit
required: false
schema:
type: integer
format: int64
- in: query
name: search_fields
description: '''fields'' key of Elasticsearch Fulltext Query.'
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- id
- short_description
- observables.value
- title
- source
- targets.observables.value
- description
- in: query
name: offset
description: Pagination Offset
required: false
schema:
type: integer
format: int64
- in: query
name: source
description: ''
required: false
schema:
type: string
- in: query
name: sensor
description: ''
required: false
schema:
type: string
- in: query
name: query
description: ''
required: false
schema:
type: string
- in: query
name: simple_query
description: Query String with simple query format
required: false
schema:
type: string
- in: query
name: revision
description: ''
required: false
schema:
type: integer
format: int64
- in: query
name: to
description: ''
required: false
schema:
type: string
format: date-time
delete:
tags:
- Sighting
description: Requires capabilities delete-sighting, search-sighting.
responses:
'200':
description: ''
content:
application/json:
schema:
type: integer
format: int64
application/x-yaml:
schema:
type: integer
format: int64
application/edn:
schema:
type: integer
format: int64
application/transit+json:
schema:
type: integer
format: int64
application/transit+msgpack:
schema:
type: integer
format: int64
summary: Delete Sighting entities matching given Lucene/ES query string or/and field filters
parameters:
- in: query
name: observables.value
description: ''
required: false
schema:
type: string
- in: query
name: tlp
description: ''
required: false
schema:
type: string
- in: query
name: from
description: ''
required: false
schema:
type: string
format: date-time
- in: query
name: search_after
description: Pagination stateless cursor
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: observables.type
description: ''
required: false
schema:
type: string
- in: query
name: language
description: ''
required: false
schema:
type: string
- in: query
name: id
description: ''
required: false
schema:
type: string
- in: query
name: REALLY_DELETE_ALL_THESE_ENTITIES
description: ' If you do not set this value or set it to false this route will perform a dry run. Set this value to true to perform the deletion. You MUST confirm you will fix the mess after the inevitable disaster that will occur after you perform that operation. DO NOT FORGET TO SET THAT TO FALSE AFTER EACH DELETION IF YOU INTEND TO USE THAT ROUTE MULTIPLE TIMES.'
required: false
schema:
type: boolean
- in: query
name: source
description: ''
required: false
schema:
type: string
- in: query
name: wait_for
description: wait for matched entity to be deleted
required: false
schema:
type: boolean
- in: query
name: sensor
description: ''
required: false
schema:
type: string
- in: query
name: query
description: ''
required: false
schema:
type: string
- in: query
name: simple_query
description: Query String with simple query format
required: false
schema:
type: string
- in: query
name: revision
description: ''
required: false
schema:
type: integer
format: int64
- in: query
name: to
description: ''
required: false
schema:
type: string
format: date-time
/ctia/sighting/search/count:
get:
tags:
- Sighting
responses:
'200':
description: ''
content:
application/json:
schema:
type: integer
format: int64
application/x-yaml:
schema:
type: integer
format: int64
application/edn:
schema:
type: integer
format: int64
application/transit+json:
schema:
type: integer
format: int64
application/transit+msgpack:
schema:
type: integer
format: int64
summary: Count Sighting matching a Lucene/ES query string and field filters
description: Requires capability search-sighting.
parameters:
- in: query
name: observables.value
description: ''
required: false
schema:
type: string
- in: query
name: tlp
description: ''
required: false
schema:
type: string
- in: query
name: from
description: ''
required: false
schema:
type: string
format: date-time
- in: query
name: search_after
description: Pagination stateless cursor
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: observables.type
description: ''
required: false
schema:
type: string
- in: query
name: language
description: ''
required: false
schema:
type: string
- in: query
name: id
description: ''
required: false
schema:
type: string
- in: query
name: source
description: ''
required: false
schema:
type: string
- in: query
name: sensor
description: ''
required: false
schema:
type: string
- in: query
name: query
description: ''
required: false
schema:
type: string
- in: query
name: simple_query
description: Query String with simple query format
required: false
schema:
type: string
- in: query
name: revision
description: ''
required: false
schema:
type: integer
format: int64
- in: query
name: to
description: ''
required: false
schema:
type: string
format: date-time
/ctia/sighting/metric/histogram:
get:
tags:
- Sighting
description: Requires capability search-sighting.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricResult'
application/x-yaml:
schema:
$ref: '#/components/schemas/MetricResult'
application/edn:
schema:
$ref: '#/components/schemas/MetricResult'
application/transit+json:
schema:
$ref: '#/components/schemas/MetricResult'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/MetricResult'
summary: Histogram for some Sighting field
parameters:
- in: query
name: observables.value
description: ''
required: false
schema:
type: string
- in: query
name: tlp
description: ''
required: false
schema:
type: string
- in: query
name: search_after
description: Pagination stateless cursor
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: observables.type
description: ''
required: false
schema:
type: string
- in: query
name: language
description: ''
required: false
schema:
type: string
- in: query
name: id
description: ''
required: false
schema:
type: string
- in: query
name: granularity
description: ''
required: true
schema:
type: string
enum:
- day
- week
- month
- in: query
name: from
description: Start date of the histogram. Filters the value of selected aggregated-on field.
required: true
schema:
type: string
format: date-time
- in: query
name: source
description: ''
required: false
schema:
type: string
- in: query
name: aggregate-on
description: ''
required: true
schema:
type: string
enum:
- observed_time.end_time
- detection_interval.end_time
- modification_interval.start_time
- activity_interval.end_time
- timestamp
- observed_time.start_time
- activity_interval.start_time
- detection_interval.start_time
- modification_interval.end_time
- in: query
name: agg-key
description: ''
required: false
schema:
type: string
- in: query
name: timezone
description: ''
required: false
schema:
type: string
enum:
- -05:00
- +02:00
- +01:00
- -09:00
- -01:00
- +03:00
- +08:00
- +04:00
- +00:00
- '+11:00'
- '-10:00'
- +05:00
- -03:00
- -04:00
- -02:00
- -07:00
- '-11:00'
- -06:00
- '+10:00'
- +09:00
- +07:00
- -08:00
- +06:00
- in: query
name: sensor
description: ''
required: false
schema:
type: string
- in: query
name: query
description: ''
required: false
schema:
type: string
- in: query
name: simple_query
description: Query String with simple query format
required: false
schema:
type: string
- in: query
name: revision
description: ''
required: false
schema:
type: integer
format: int64
- in: query
name: to
description: End date of the histogram. Filters the value of selected aggregated-on field.
required: false
schema:
type: string
format: date-time
/ctia/sighting/metric/topn:
get:
tags:
- Sighting
description: Requires capability search-sighting.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricResult'
application/x-yaml:
schema:
$ref: '#/components/schemas/MetricResult'
application/edn:
schema:
$ref: '#/components/schemas/MetricResult'
application/transit+json:
schema:
$ref: '#/components/schemas/MetricResult'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/MetricResult'
summary: Topn for some Sighting field
parameters:
- in: query
name: sort_order
description: ''
required: false
schema:
type: string
enum:
- desc
- asc
- in: query
name: observables.value
description: ''
required: false
schema:
type: string
- in: query
name: tlp
description: ''
required: false
schema:
type: string
- in: query
name: search_after
description: Pagination stateless cursor
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: observables.type
description: ''
required: false
schema:
type: string
- in: query
name: language
description: ''
required: false
schema:
type: string
- in: query
name: id
description: ''
required: false
schema:
type: string
- in: query
name: limit
description: ''
required: false
schema:
type: integer
format: int64
- in: query
name: from
description: ''
required: true
schema:
type: string
format: date-time
- in: query
name: source
description: ''
required: false
schema:
type: string
- in: query
name: aggregate-on
description: ''
required: true
schema:
type: string
enum:
- observables.type
- sensor
- source
- in: query
name: agg-key
description: ''
required: false
schema:
type: string
- in: query
name: sensor
description: ''
required: false
schema:
type: string
- in: query
name: query
description: ''
required: false
schema:
type: string
- in: query
name: simple_query
description: Query String with simple query format
required: false
schema:
type: string
- in: query
name: revision
description: ''
required: false
schema:
type: integer
format: int64
- in: query
name: to
description: ''
required: false
schema:
type: string
format: date-time
/ctia/sighting/metric/cardinality:
get:
tags:
- Sighting
description: Requires capability search-sighting.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MetricResult'
application/x-yaml:
schema:
$ref: '#/components/schemas/MetricResult'
application/edn:
schema:
$ref: '#/components/schemas/MetricResult'
application/transit+json:
schema:
$ref: '#/components/schemas/MetricResult'
application/transit+msgpack:
schema:
$ref: '#/components/schemas/MetricResult'
summary: Cardinality for some Sighting field
parameters:
- in: query
name: observables.value
description: ''
required: false
schema:
type: string
- in: query
name: tlp
description: ''
required: false
schema:
type: string
- in: query
name: search_after
description: Pagination stateless cursor
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: observables.type
description: ''
required: false
schema:
type: string
- in: query
name: language
description: ''
required: false
schema:
type: string
- in: query
name: id
description: ''
required: false
schema:
type: string
- in: query
name: from
description: ''
required: true
schema:
type: string
format: date-time
- in: query
name: source
description: ''
required: false
schema:
type: string
- in: query
name: aggregate-on
description: ''
required: true
schema:
type: string
enum:
- observables.type
- sensor
- source
- in: query
name: sensor
description: ''
required: false
schema:
type: string
- in: query
name: query
description: ''
required: false
schema:
type: string
- in: query
name: simple_query
description: Query String with simple query format
required: false
schema:
type: string
- in: query
name: revision
description: ''
required: false
schema:
type: integer
format: int64
- in: query
name: to
description: ''
required: false
schema:
type: string
format: date-time
/ctia/{observable_type}/{observable_value}/sightings:
get:
tags:
- Sighting
parameters:
- in: query
name: sort_order
description: Sort direction
required: false
schema:
type: string
enum:
- desc
- asc
- in: query
name: offset
description: Pagination Offset
required: false
schema:
type: integer
format: int64
- in: query
name: search_after
description: Pagination stateless cursor
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- in: query
name: limit
description: Pagination Limit
required: false
schema:
type: integer
format: int64
- in: query
name: from
description: ''
required: false
schema:
type: string
format: date-time
- in: query
name: to
description: ''
required: false
schema:
type: string
format: date-time
- in: query
name: fields
description: ''
required: false
style: form
explode: true
schema:
type: array
items:
type: string
enum:
- observed_time.end_time
- confidence
- detection_interval.end_time
- tlp
- modification_interval.start_time
- activity_interval.end_time
- id
- timestamp
- revision
- sensor
- count
- observed_time.start_time
- activity_interval.start_time
- detection_interval.start_time
- schema_version
- title
- source
- source_uri
- modification_interval.end_time
- language
- in: query
name: sort_by
description: ''
required: false
schema:
type: string
enum:
- observed_time.end_time
- confidence
- detection_interval.end_time
- tlp
- modification_interval.start_time
- activity_interval.end_time
- id
- timestamp
- revision
- sensor
- count
- observed_time.start_time
- activity_interval.start_time
- detection_interval.start_time
- schema_version
- title
- source
- source_uri
- observed_time.start_time,timestamp
- modification_interval.end_time
- language
- in: path
name: observable_type
description: Observable type names
required: true
example: acudid
schema:
type: string
enum:
- file_path
- mac_address
- trend_micro_id
- cybereason_id
- process_args
- s1_agent_id
- device
- hostname
- certificate_common_name
- serial_number
- meraki_network_id
- url
- jamf_management_id
- certificate_serial
- intune_id
- meraki_org_id
- cisco_cm_id
- registry_key
- process_path
- darktrace_id
- process_username
- cortex_agent_id
- orbital_node_id
- process_uid
- ngfw_name
- user
- certificate_issuer
- ipv6
- email
- cisco_uc_id
- cvm_id
- sha256
- crowdstrike_id
- google_cloud_id
- google_chromebook_id
- acudid
- sha1
- registry_name
- md5
- service_now_id
- ip
- domain
- email_subject
- imei
- ngfw_id
- amp_computer_guid
- ms_machine_id
- secure_access_id
- mutex
- processor_id
- swc_device_id
- registry_path
- odns_identity
- odns_identity_label
- cisco_mid
- process_name
- pki_serial
- meraki_node_sn
- email_messageid
- imsi
- user_agent
- process_hash
- file_name
- in: path
name: observable_value
description: ''
required: true
schema:
type: string
description: Requires capability list-sightings.
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/x-yaml:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/edn:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/transit+json:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
application/transit+msgpack:
schema:
type: array
items:
$ref: '#/components/schemas/PartialSighting'
summary: Returns Sightings associated with the specified observable.
components:
schemas:
LibraryLoadType:
example:
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
type: LibraryLoadEvent
dll_library_name: string
dll_library_path: string
type: object
properties:
time:
$ref: '#/components/schemas/ObservedTime'
process_id:
example: 10
type: integer
format: int64
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
type:
example: LibraryLoadEvent
type: string
enum:
- LibraryLoadEvent
dll_library_name:
example: string
description: String with at most 1024 characters.
type: string
dll_library_path:
example: string
description: String with at most 2048 characters.
type: string
additionalProperties: false
required:
- time
- process_id
- process_name
- type
- dll_library_name
- dll_library_path
FileDeleteType:
example:
file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileDeleteEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
type: object
properties:
file_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
time:
$ref: '#/components/schemas/ObservedTime'
type:
example: FileDeleteEvent
type: string
enum:
- FileDeleteEvent
file_path:
example: string
description: String with at most 2048 characters.
type: string
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_id:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
failed:
example: false
type: boolean
additionalProperties: false
required:
- file_name
- time
- type
- file_path
- process_name
- process_id
RegistryCreateType:
example:
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryCreateEvent
type: object
properties:
time:
$ref: '#/components/schemas/ObservedTime'
process_id:
example: 10
type: integer
format: int64
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
registry_key:
example: string
description: String with at most 1024 characters.
type: string
type:
example: RegistryCreateEvent
type: string
enum:
- RegistryCreateEvent
additionalProperties: false
required:
- time
- process_id
- process_name
- registry_key
- type
HTTPType:
example:
process_guid: 10
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
method: CONNECT
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: HTTPEvent
host: string
process_name: string
process_id: 10
process_username: string
query: string
encrypted: true
url_port: 10
type: object
properties:
process_guid:
example: 10
type: integer
format: int64
traffic:
$ref: '#/components/schemas/Traffic'
method:
example: CONNECT
type: string
enum:
- OPTIONS
- PATCH
- TRACE
- HEAD
- POST
- CONNECT
- GET
- PUT
time:
$ref: '#/components/schemas/ObservedTime'
type:
example: HTTPEvent
type: string
enum:
- HTTPEvent
host:
example: string
description: String with at most 1024 characters.
type: string
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_id:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
query:
example: string
description: String with at most 5000 characters.
type: string
encrypted:
example: true
type: boolean
url_port:
example: 10
type: integer
format: int64
additionalProperties: false
required:
- traffic
- time
- type
- host
- process_name
- process_id
NetflowType:
example:
parent_process_name: string
byte_count_in: 10
process_guid: 10
process_path: string
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
flow_time: '2016-01-01T01:01:01.000Z'
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_account: string
type: NetflowEvent
process_account_type: string
parent_process_path: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_account: string
parent_process_account_type: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
byte_count_out: 10
process_args: string
type: object
properties:
parent_process_name:
example: string
description: String with at most 1024 characters.
type: string
byte_count_in:
example: 10
type: integer
format: int64
process_guid:
example: 10
type: integer
format: int64
process_path:
example: string
description: String with at most 1024 characters.
type: string
traffic:
$ref: '#/components/schemas/Traffic'
flow_time:
example: '2016-01-01T01:01:01.000Z'
description: Schema definition for all date or timestamp values. Serialized as a string, the field should follow the rules of the [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
type: string
format: date-time
time:
$ref: '#/components/schemas/ObservedTime'
parent_process_account:
example: string
description: String with at most 1024 characters.
type: string
type:
example: NetflowEvent
type: string
enum:
- NetflowEvent
process_account_type:
example: string
description: String with at most 1024 characters.
type: string
parent_process_path:
example: string
description: String with at most 1024 characters.
type: string
parent_process_id:
example: 10
type: integer
format: int64
parent_process_args:
example: string
description: String with at most 1024 characters.
type: string
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_account:
example: string
description: String with at most 1024 characters.
type: string
parent_process_account_type:
example: string
description: String with at most 1024 characters.
type: string
process_hash:
example: string
description: String with at most 1024 characters.
type: string
process_id:
example: 10
type: integer
format: int64
parent_process_hash:
example: string
description: String with at most 1024 characters.
type: string
process_username:
example: string
description: String with at most 1024 characters.
type: string
byte_count_out:
example: 10
type: integer
format: int64
process_args:
example: string
description: String with at most 1024 characters.
type: string
additionalProperties: false
required:
- traffic
- time
- type
- process_name
- process_id
SightingDataTable:
example:
columns:
- name: string
type: integer
description: string
required: true
short_description: string
rows:
- - anything
row_count: 10
description: An embedded data table for the Sighting.
type: object
properties:
columns:
example:
- name: string
type: integer
description: string
required: true
short_description: string
description: an ordered list of column definitions
type: array
items:
$ref: '#/components/schemas/ColumnDefinition'
rows:
example:
- - anything
description: an ordered list of rows
type: array
items:
type: array
items: {}
row_count:
example: 10
description: The number of rows in the data table.
type: integer
format: int64
additionalProperties: false
required:
- columns
- rows
ObservedTime:
example:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
description: Period of time when a cyber observation is valid. `start_time` must come before `end_time` (if specified).
type: object
properties:
start_time:
example: '2016-01-01T01:01:01.000Z'
description: Time of the observation. If the observation was made over a period of time, than this field indicates the start of that period.
type: string
format: date-time
end_time:
example: '2016-01-01T01:01:01.000Z'
description: If the observation was made over a period of time, than this field indicates the end of that period.
type: string
format: date-time
additionalProperties: false
required:
- start_time
RegistrySetType:
example:
process_guid: 10
registry_data: string
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: RegistrySetEvent
registry_data_length: 10
registry_value: string
registry_key: string
process_name: string
process_id: 10
process_username: string
type: object
properties:
process_guid:
example: 10
type: integer
format: int64
registry_data:
example: string
description: String with at most 5000 characters.
type: string
time:
$ref: '#/components/schemas/ObservedTime'
type:
example: RegistrySetEvent
type: string
enum:
- RegistrySetEvent
registry_data_length:
example: 10
type: integer
format: int64
registry_value:
example: string
description: String with at most 2048 characters.
type: string
registry_key:
example: string
description: String with at most 1024 characters.
type: string
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_id:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
additionalProperties: false
required:
- time
- type
- registry_value
- registry_key
- process_name
- process_id
ProcessCreateType:
example:
parent_process_name: string
process_guid: 10
parent_process_guid: 10
process_disposition: string
parent_process_size: 10
process_size: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_disposition: string
type: ProcessCreateEvent
parent_process_username: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
parent_creation_time: '2016-01-01T01:01:01.000Z'
process_args: string
type: object
properties:
parent_process_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
parent_process_guid:
example: 10
type: integer
format: int64
process_disposition:
example: string
description: String with at most 1024 characters.
type: string
parent_process_size:
example: 10
type: integer
format: int64
process_size:
example: 10
type: integer
format: int64
time:
$ref: '#/components/schemas/ObservedTime'
parent_process_disposition:
example: string
description: String with at most 1024 characters.
type: string
type:
example: ProcessCreateEvent
type: string
enum:
- ProcessCreateEvent
parent_process_username:
example: string
description: String with at most 1024 characters.
type: string
parent_process_id:
example: 10
type: integer
format: int64
parent_process_args:
example: string
description: String with at most 2048 characters.
type: string
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_hash:
example: string
description: String with at most 2048 characters.
type: string
process_id:
example: 10
type: integer
format: int64
parent_process_hash:
example: string
description: String with at most 2048 characters.
type: string
process_username:
example: string
description: String with at most 1024 characters.
type: string
parent_creation_time:
example: '2016-01-01T01:01:01.000Z'
description: Schema definition for all date or timestamp values. Serialized as a string, the field should follow the rules of the [ISO8601](https://en.wikipedia.org/wiki/ISO_8601) standard.
type: string
format: date-time
process_args:
example: string
description: String with at most 2048 characters.
type: string
additionalProperties: false
required:
- time
- type
- process_name
- process_id
Traffic:
example:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
type: object
properties:
destination_host_name:
example: string
type: string
protocol:
example: 10
description: The IP [protocol id](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)
type: integer
format: int64
source_ip:
example: string
type: string
destination_subnet:
example: string
type: string
destination_ip:
example: string
type: string
source_subnet:
example: string
type: string
destination_port:
example: 10
type: integer
format: int64
direction:
example: incoming
type: string
enum:
- incoming
- outgoing
source_port:
example: 10
type: integer
format: int64
additionalProperties: false
required:
- protocol
- source_ip
- destination_ip
- destination_port
- direction
- source_port
Observable:
example:
value: 1.2.3.4
type: ip
description: An AssetMapping is a record that a specific Observable maps to an Asset for an indicated period of time.
type: object
properties:
value:
example: 1.2.3.4
description: The value of the observable.
type: string
type:
example: ip
description: The type of observable.
type: string
enum:
- file_path
- mac_address
- trend_micro_id
- cybereason_id
- process_args
- s1_agent_id
- device
- hostname
- certificate_common_name
- serial_number
- meraki_network_id
- url
- jamf_management_id
- certificate_serial
- intune_id
- meraki_org_id
- cisco_cm_id
- registry_key
- process_path
- darktrace_id
- process_username
- cortex_agent_id
- orbital_node_id
- process_uid
- ngfw_name
- user
- certificate_issuer
- ipv6
- email
- cisco_uc_id
- cvm_id
- sha256
- crowdstrike_id
- google_cloud_id
- google_chromebook_id
- acudid
- sha1
- registry_name
- md5
- service_now_id
- ip
- domain
- email_subject
- imei
- ngfw_id
- amp_computer_guid
- ms_machine_id
- secure_access_id
- mutex
- processor_id
- swc_device_id
- registry_path
- odns_identity
- odns_identity_label
- cisco_mid
- process_name
- pki_serial
- meraki_node_sn
- email_messageid
- imsi
- user_agent
- process_hash
- file_name
additionalProperties: false
required:
- value
- type
RegistryRenameType:
example:
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryRenameEvent
registry_old_key: string
type: object
properties:
time:
$ref: '#/components/schemas/ObservedTime'
process_id:
example: 10
type: integer
format: int64
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
registry_key:
example: string
description: String with at most 1024 characters.
type: string
type:
example: RegistryRenameEvent
type: string
enum:
- RegistryRenameEvent
registry_old_key:
example: string
description: String with at most 1024 characters.
type: string
additionalProperties: false
required:
- time
- process_id
- process_name
- registry_key
- type
- registry_old_key
SensorCoordinates:
example:
type: endpoint
observables:
- value: 1.2.3.4
type: ip
os: string
description: Describes the device that made the sighting (sensor) and contains identifying observables for the sensor.
type: object
properties:
type:
example: endpoint
description: The sensor/actuator name that best fits a device.
type: string
observables:
example:
- value: 1.2.3.4
type: ip
type: array
items:
$ref: '#/components/schemas/Observable'
os:
example: string
type: string
additionalProperties: false
required:
- type
- observables
RegistryDeleteType:
example:
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryDeleteEvent
registry_value: string
type: object
properties:
time:
$ref: '#/components/schemas/ObservedTime'
process_id:
example: 10
type: integer
format: int64
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
registry_key:
example: string
description: String with at most 1024 characters.
type: string
type:
example: RegistryDeleteEvent
type: string
enum:
- RegistryDeleteEvent
registry_value:
example: string
description: String with at most 2048 characters.
type: string
additionalProperties: false
required:
- time
- process_id
- process_name
- registry_key
- type
Sighting:
example:
description: string
schema_version: 1.3.30
revision: 10
relations:
- origin: string
origin_uri: string
relation: Allocated
relation_info:
keyword: anything
source:
value: 1.2.3.4
type: ip
related:
value: 1.2.3.4
type: ip
sensor_coordinates:
type: endpoint
observables:
- value: 1.2.3.4
type: ip
os: string
observables:
- value: 1.2.3.4
type: ip
type: sighting
source: string
external_ids:
- string
targets:
- type: endpoint
observables:
- value: 1.2.3.4
type: ip
observed_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
os: string
short_description: string
title: string
resolution: detected
internal: false
external_references:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
detection_interval:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
source_uri: string
activity_interval:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
language: string
id: string
count: 10
severity: Critical
tlp: green
modification_interval:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
context:
http_events:
- process_guid: 10
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
method: CONNECT
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: HTTPEvent
host: string
process_name: string
process_id: 10
process_username: string
query: string
encrypted: true
url_port: 10
process_create_events:
- parent_process_name: string
process_guid: 10
parent_process_guid: 10
process_disposition: string
parent_process_size: 10
process_size: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_disposition: string
type: ProcessCreateEvent
parent_process_username: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
parent_creation_time: '2016-01-01T01:01:01.000Z'
process_args: string
registry_delete_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryDeleteEvent
registry_value: string
file_modify_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileModifyEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
registry_set_events:
- process_guid: 10
registry_data: string
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: RegistrySetEvent
registry_data_length: 10
registry_value: string
registry_key: string
process_name: string
process_id: 10
process_username: string
file_create_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileCreateEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
registry_create_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryCreateEvent
library_load_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
type: LibraryLoadEvent
dll_library_name: string
dll_library_path: string
file_move_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileMoveEvent
old_name: string
file_path: string
process_name: string
process_id: 10
process_username: string
new_name: string
file_delete_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileDeleteEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
netflow_events:
- parent_process_name: string
byte_count_in: 10
process_guid: 10
process_path: string
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
flow_time: '2016-01-01T01:01:01.000Z'
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_account: string
type: NetflowEvent
process_account_type: string
parent_process_path: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_account: string
parent_process_account_type: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
byte_count_out: 10
process_args: string
registry_rename_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryRenameEvent
registry_old_key: string
timestamp: '2016-01-01T01:01:01.000Z'
confidence: High
observed_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
sensor: endpoint
data:
columns:
- name: string
type: integer
description: string
required: true
short_description: string
rows:
- - anything
row_count: 10
description: A sighting indicates that a particular entity or [indicator](indicator.md) was observed in an environment and can be an indication of a current or potential threat.
type: object
properties:
description:
example: string
description: A description of object, which may be detailed.
type: string
schema_version:
type: string
revision:
example: 10
description: A monotonically increasing revision, incremented each time the object is changed.
type: integer
format: int64
relations:
example:
- origin: string
origin_uri: string
relation: Allocated
relation_info:
keyword: anything
source:
value: 1.2.3.4
type: ip
related:
value: 1.2.3.4
type: ip
description: Provide any context we can about where the observable came from.
type: array
items:
$ref: '#/components/schemas/ObservedRelation'
sensor_coordinates:
$ref: '#/components/schemas/SensorCoordinates'
observables:
example:
- value: 1.2.3.4
type: ip
description: The object(s) of interest.
type: array
items:
$ref: '#/components/schemas/Observable'
type:
example: sighting
type: string
enum:
- sighting
source:
example: string
description: Represents the source of the intelligence that led to the creation of the entity.
type: string
external_ids:
example:
- string
description: "It is used to store a list of external identifiers that can be linked to the incident, providing a reliable and manageable way to correlate and group related events across multiple data sources. It is especially useful in larger organizations that rely on multiple security information and event management (SIEM) systems to detect security incidents. For instance, it can be used to track events across different network sensors, intrusion detection and prevention systems (IDPS), or log management platforms. \n The field can also be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. It can be used to cross-reference with other external tools such as threat intelligence feeds and vulnerability scanners."
type: array
items:
type: string
targets:
example:
- type: endpoint
observables:
- value: 1.2.3.4
type: ip
observed_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
os: string
description: 'May include one or more targets that observed the associated indicator. Targets can include network devices, host devices, or other entities that are capable of detecting indicators of compromise.
Can be used to assess the scope of potential threats, helping analysts understand which devices or components of the network may be vulnerable to attack. For example, if a particular malware strain is detected on several different systems within an organization, the `targets` field may indicate which systems are affected and which may need to be isolated or patched to prevent further spread.'
type: array
items:
$ref: '#/components/schemas/IdentitySpecification'
short_description:
example: string
description: A single line, short summary of the object.
type: string
title:
example: string
description: A short title for this object, used as primary display and reference value.
type: string
resolution:
example: detected
description: Represents the disposition or actions taken on the associated threat intelligence.
type: string
internal:
example: false
description: "If `true`, indicates that the sighting was reported from internal sources, such as an organization's own internal security tools or SOC.\n Internal sightings are often considered more reliable and actionable than external sightings, which are reported from external sources and may have a lower level of trustworthiness. Internal sightings can provide more context and can help identify potential threats that are unique to a particular environment or organization.\n Internal sightings can also help organizations prioritize their security response efforts by identifying threats that are specific to their environment and may not yet be widely known."
type: boolean
external_references:
example:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
description: "Specifies a list of external references which refers to non-CTIM information.\n\nSimilar to `external_ids` field with major differences:\n\n- `external_ids` field is used to store a list of external identifiers that can be used to link entities across different data sources. These identifiers are typically standardized and well-known, such as CVE IDs, US-CERT advisories, or other industry-standard threat intelligence feeds. The `external_ids` field can be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. \n\n- `external_references` field, on the other hand, is used to provide a more general mechanism for linking entities to external sources of information. The `external_references` field can include references to blog posts, articles, external documents, threat intelligence reports, and other sources of information that may not have a standardized format or identifier."
type: array
items:
$ref: '#/components/schemas/ExternalReference'
detection_interval:
$ref: '#/components/schemas/ObservedTime'
source_uri:
example: string
description: URI of the source of the intelligence that led to the creation of the entity.
type: string
activity_interval:
$ref: '#/components/schemas/ObservedTime'
language:
example: string
description: 'The `language` field is used to specify the primary language of the affected system or the target of an attack. It can be used to provide additional context and information about the entity. The primary purpose of this field is to help analysts filter and prioritize entities based on their knowledge and expertise of different languages.
For example, if an incident involves an attack on a system in a country where a specific language is predominant, the `language` field can be used to indicate that language, which can help analysts to quickly identify and respond to incidents that may be geographically or culturally relevant. This information can be used to prioritize incidents based on their potential impact. The `language` field can also be used to help with correlation of incidents across different systems and regions, as well as to help with data analysis and reporting.'
type: string
id:
example: string
description: Globally unique URI identifying this object.
type: string
count:
example: 10
description: 'The number of times an indicator was observed within a certain period of time.
For example, if an IP address associated with known malicious activity is observed once within a period of time, it may indicate a low-level threat. However, if the same IP address is observed multiple times within a short time frame, it may indicate a more severe and persistent threat.
It can also be used to prioritize security alerts and indicate the urgency of a response. High counts indicate that an indicator is actively being used in a larger campaign, while low counts may indicate isolated incidents.'
type: integer
format: int64
severity:
example: Critical
type: string
enum:
- Medium
- Info
- Unknown
- None
- High
- Critical
- Low
tlp:
example: green
description: 'TLP stands for [Traffic Light Protocol](https://www.us-cert.gov/tlp), which indicates precisely how a resource is intended to be shared, replicated, copied, etc.
It is used to indicate the sensitivity of the information contained within the message. This allows recipients to determine the appropriate handling and dissemination of the information based on their clearance level and need-to-know.
For example, an entity containing information about a critical vulnerability in a widely-used software might be marked as `red`, indicating that it should only be shared with a small group of highly trusted individuals who need to know in order to take appropriate action. On the other hand, a message containing more general information about security threats might be marked as `amber` or `green`, indicating that it can be shared more broadly within an organization.'
type: string
enum:
- white
- green
- red
- amber
modification_interval:
$ref: '#/components/schemas/ObservedTime'
context:
$ref: '#/components/schemas/Context'
timestamp:
example: '2016-01-01T01:01:01.000Z'
description: The time this object was created at, or last modified.
type: string
format: date-time
confidence:
example: High
type: string
enum:
- Medium
- Info
- Unknown
- None
- High
- Low
observed_time:
$ref: '#/components/schemas/ObservedTime'
sensor:
example: endpoint
description: The OpenC2 Actuator name that best fits the device that is creating this sighting (e.g. network.firewall)
type: string
data:
$ref: '#/components/schemas/SightingDataTable'
additionalProperties: false
MetricResultFilters:
type: object
properties:
from:
type: string
format: date-time
to:
type: string
format: date-time
additionalProperties: {}
required:
- from
- to
Context:
example:
http_events:
- process_guid: 10
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
method: CONNECT
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: HTTPEvent
host: string
process_name: string
process_id: 10
process_username: string
query: string
encrypted: true
url_port: 10
process_create_events:
- parent_process_name: string
process_guid: 10
parent_process_guid: 10
process_disposition: string
parent_process_size: 10
process_size: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_disposition: string
type: ProcessCreateEvent
parent_process_username: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
parent_creation_time: '2016-01-01T01:01:01.000Z'
process_args: string
registry_delete_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryDeleteEvent
registry_value: string
file_modify_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileModifyEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
registry_set_events:
- process_guid: 10
registry_data: string
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: RegistrySetEvent
registry_data_length: 10
registry_value: string
registry_key: string
process_name: string
process_id: 10
process_username: string
file_create_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileCreateEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
registry_create_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryCreateEvent
library_load_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
type: LibraryLoadEvent
dll_library_name: string
dll_library_path: string
file_move_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileMoveEvent
old_name: string
file_path: string
process_name: string
process_id: 10
process_username: string
new_name: string
file_delete_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileDeleteEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
netflow_events:
- parent_process_name: string
byte_count_in: 10
process_guid: 10
process_path: string
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
flow_time: '2016-01-01T01:01:01.000Z'
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_account: string
type: NetflowEvent
process_account_type: string
parent_process_path: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_account: string
parent_process_account_type: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
byte_count_out: 10
process_args: string
registry_rename_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryRenameEvent
registry_old_key: string
description: Context including the event type that best fits the type of the sighting.
type: object
properties:
http_events:
example:
- process_guid: 10
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
method: CONNECT
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: HTTPEvent
host: string
process_name: string
process_id: 10
process_username: string
query: string
encrypted: true
url_port: 10
description: a list of `HTTPType`
type: array
items:
$ref: '#/components/schemas/HTTPType'
process_create_events:
example:
- parent_process_name: string
process_guid: 10
parent_process_guid: 10
process_disposition: string
parent_process_size: 10
process_size: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_disposition: string
type: ProcessCreateEvent
parent_process_username: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
parent_creation_time: '2016-01-01T01:01:01.000Z'
process_args: string
description: a list of `ProcessCreate`
type: array
items:
$ref: '#/components/schemas/ProcessCreateType'
registry_delete_events:
example:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryDeleteEvent
registry_value: string
description: a list of `RegistryDeleteType`
type: array
items:
$ref: '#/components/schemas/RegistryDeleteType'
file_modify_events:
example:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileModifyEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
description: a list of `FileModifyType`
type: array
items:
$ref: '#/components/schemas/FileModifyType'
registry_set_events:
example:
- process_guid: 10
registry_data: string
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: RegistrySetEvent
registry_data_length: 10
registry_value: string
registry_key: string
process_name: string
process_id: 10
process_username: string
description: a list of `RegistrySetType`
type: array
items:
$ref: '#/components/schemas/RegistrySetType'
file_create_events:
example:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileCreateEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
description: a list of `FileCreateType`
type: array
items:
$ref: '#/components/schemas/FileCreateType'
registry_create_events:
example:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryCreateEvent
description: a list of `RegistryCreateType`
type: array
items:
$ref: '#/components/schemas/RegistryCreateType'
library_load_events:
example:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
type: LibraryLoadEvent
dll_library_name: string
dll_library_path: string
description: a list of `LibraryLoadType`
type: array
items:
$ref: '#/components/schemas/LibraryLoadType'
file_move_events:
example:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileMoveEvent
old_name: string
file_path: string
process_name: string
process_id: 10
process_username: string
new_name: string
description: a list of `FileMoveType`
type: array
items:
$ref: '#/components/schemas/FileMoveType'
file_delete_events:
example:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileDeleteEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
description: a list of `FileDeleteType`
type: array
items:
$ref: '#/components/schemas/FileDeleteType'
netflow_events:
example:
- parent_process_name: string
byte_count_in: 10
process_guid: 10
process_path: string
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
flow_time: '2016-01-01T01:01:01.000Z'
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_account: string
type: NetflowEvent
process_account_type: string
parent_process_path: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_account: string
parent_process_account_type: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
byte_count_out: 10
process_args: string
description: a list of `NetflowType`
type: array
items:
$ref: '#/components/schemas/NetflowType'
registry_rename_events:
example:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryRenameEvent
registry_old_key: string
description: a list of `RegistryRenameType`
type: array
items:
$ref: '#/components/schemas/RegistryRenameType'
additionalProperties: false
FileModifyType:
example:
file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileModifyEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
type: object
properties:
file_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
time:
$ref: '#/components/schemas/ObservedTime'
type:
example: FileModifyEvent
type: string
enum:
- FileModifyEvent
file_path:
example: string
description: String with at most 2048 characters.
type: string
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_id:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
failed:
example: false
type: boolean
additionalProperties: false
required:
- file_name
- time
- type
- file_path
- process_name
- process_id
FileCreateType:
example:
file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileCreateEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
type: object
properties:
file_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
time:
$ref: '#/components/schemas/ObservedTime'
type:
example: FileCreateEvent
type: string
enum:
- FileCreateEvent
file_path:
example: string
description: String with at most 2048 characters.
type: string
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_id:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
failed:
example: false
type: boolean
additionalProperties: false
required:
- file_name
- time
- type
- file_path
- process_name
- process_id
NewSighting:
description: a new Sighting
type: object
properties:
description:
example: string
description: A description of object, which may be detailed.
type: string
authorized_groups:
type: array
items:
type: string
schema_version:
type: string
revision:
example: 10
description: A monotonically increasing revision, incremented each time the object is changed.
type: integer
format: int64
relations:
example:
- origin: string
origin_uri: string
relation: Allocated
relation_info:
keyword: anything
source:
value: 1.2.3.4
type: ip
related:
value: 1.2.3.4
type: ip
description: Provide any context we can about where the observable came from.
type: array
items:
$ref: '#/components/schemas/ObservedRelation'
sensor_coordinates:
$ref: '#/components/schemas/SensorCoordinates'
observables:
example:
- value: 1.2.3.4
type: ip
description: The object(s) of interest.
type: array
items:
$ref: '#/components/schemas/Observable'
authorized_users:
type: array
items:
type: string
type:
example: sighting
type: string
enum:
- sighting
created:
type: string
format: date-time
source:
example: string
description: Represents the source of the intelligence that led to the creation of the entity.
type: string
external_ids:
example:
- string
description: "It is used to store a list of external identifiers that can be linked to the incident, providing a reliable and manageable way to correlate and group related events across multiple data sources. It is especially useful in larger organizations that rely on multiple security information and event management (SIEM) systems to detect security incidents. For instance, it can be used to track events across different network sensors, intrusion detection and prevention systems (IDPS), or log management platforms. \n The field can also be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. It can be used to cross-reference with other external tools such as threat intelligence feeds and vulnerability scanners."
type: array
items:
type: string
modified:
type: string
format: date-time
targets:
example:
- type: endpoint
observables:
- value: 1.2.3.4
type: ip
observed_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
os: string
description: 'May include one or more targets that observed the associated indicator. Targets can include network devices, host devices, or other entities that are capable of detecting indicators of compromise.
Can be used to assess the scope of potential threats, helping analysts understand which devices or components of the network may be vulnerable to attack. For example, if a particular malware strain is detected on several different systems within an organization, the `targets` field may indicate which systems are affected and which may need to be isolated or patched to prevent further spread.'
type: array
items:
$ref: '#/components/schemas/IdentitySpecification'
short_description:
example: string
description: A single line, short summary of the object.
type: string
title:
example: string
description: A short title for this object, used as primary display and reference value.
type: string
resolution:
example: detected
description: Represents the disposition or actions taken on the associated threat intelligence.
type: string
internal:
example: false
description: "If `true`, indicates that the sighting was reported from internal sources, such as an organization's own internal security tools or SOC.\n Internal sightings are often considered more reliable and actionable than external sightings, which are reported from external sources and may have a lower level of trustworthiness. Internal sightings can provide more context and can help identify potential threats that are unique to a particular environment or organization.\n Internal sightings can also help organizations prioritize their security response efforts by identifying threats that are specific to their environment and may not yet be widely known."
type: boolean
external_references:
example:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
description: "Specifies a list of external references which refers to non-CTIM information.\n\nSimilar to `external_ids` field with major differences:\n\n- `external_ids` field is used to store a list of external identifiers that can be used to link entities across different data sources. These identifiers are typically standardized and well-known, such as CVE IDs, US-CERT advisories, or other industry-standard threat intelligence feeds. The `external_ids` field can be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. \n\n- `external_references` field, on the other hand, is used to provide a more general mechanism for linking entities to external sources of information. The `external_references` field can include references to blog posts, articles, external documents, threat intelligence reports, and other sources of information that may not have a standardized format or identifier."
type: array
items:
$ref: '#/components/schemas/ExternalReference'
detection_interval:
$ref: '#/components/schemas/ObservedTime'
source_uri:
example: string
description: URI of the source of the intelligence that led to the creation of the entity.
type: string
activity_interval:
$ref: '#/components/schemas/ObservedTime'
language:
example: string
description: 'The `language` field is used to specify the primary language of the affected system or the target of an attack. It can be used to provide additional context and information about the entity. The primary purpose of this field is to help analysts filter and prioritize entities based on their knowledge and expertise of different languages.
For example, if an incident involves an attack on a system in a country where a specific language is predominant, the `language` field can be used to indicate that language, which can help analysts to quickly identify and respond to incidents that may be geographically or culturally relevant. This information can be used to prioritize incidents based on their potential impact. The `language` field can also be used to help with correlation of incidents across different systems and regions, as well as to help with data analysis and reporting.'
type: string
id:
example: string
description: IDs are URIs, for example `https://www.domain.com/ctia/judgement/judgement-de305d54-75b4-431b-adb2-eb6b9e546014` for a [Judgement](judgement.md). This _ID_ type compares to the STIX _id_ field. The optional STIX _idref_ field is not used.
type: string
count:
example: 10
description: Zero, or a positive integer.
type: integer
format: int64
severity:
example: Critical
type: string
enum:
- Medium
- Info
- Unknown
- None
- High
- Critical
- Low
tlp:
example: green
description: 'TLP stands for [Traffic Light Protocol](https://www.us-cert.gov/tlp), which indicates precisely how a resource is intended to be shared, replicated, copied, etc.
It is used to indicate the sensitivity of the information contained within the message. This allows recipients to determine the appropriate handling and dissemination of the information based on their clearance level and need-to-know.
For example, an entity containing information about a critical vulnerability in a widely-used software might be marked as `red`, indicating that it should only be shared with a small group of highly trusted individuals who need to know in order to take appropriate action. On the other hand, a message containing more general information about security threats might be marked as `amber` or `green`, indicating that it can be shared more broadly within an organization.'
type: string
enum:
- white
- green
- red
- amber
modification_interval:
$ref: '#/components/schemas/ObservedTime'
context:
$ref: '#/components/schemas/Context'
client_id:
type: string
groups:
type: array
items:
type: string
timestamp:
example: '2016-01-01T01:01:01.000Z'
description: The time this object was created at, or last modified.
type: string
format: date-time
confidence:
example: High
type: string
enum:
- Medium
- Info
- Unknown
- None
- High
- Low
observed_time:
$ref: '#/components/schemas/ObservedTime'
owner:
type: string
sensor:
example: endpoint
description: The OpenC2 Actuator name that best fits the device that is creating this sighting (e.g. network.firewall)
type: string
data:
$ref: '#/components/schemas/SightingDataTable'
additionalProperties: false
required:
- observed_time
FileMoveType:
example:
file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileMoveEvent
old_name: string
file_path: string
process_name: string
process_id: 10
process_username: string
new_name: string
type: object
properties:
file_name:
example: string
description: String with at most 1024 characters.
type: string
process_guid:
example: 10
type: integer
format: int64
time:
$ref: '#/components/schemas/ObservedTime'
type:
example: FileMoveEvent
type: string
enum:
- FileMoveEvent
old_name:
example: string
description: String with at most 1024 characters.
type: string
file_path:
example: string
description: String with at most 2048 characters.
type: string
process_name:
example: string
description: String with at most 1024 characters.
type: string
process_id:
example: 10
type: integer
format: int64
process_username:
example: string
description: String with at most 1024 characters.
type: string
new_name:
example: string
description: String with at most 1024 characters.
type: string
additionalProperties: false
required:
- file_name
- time
- type
- old_name
- file_path
- process_name
- process_id
- new_name
IdentitySpecification:
example:
type: endpoint
observables:
- value: 1.2.3.4
type: ip
observed_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
os: string
description: Describes the target of the sighting and contains identifying observables for the target.
type: object
properties:
type:
example: endpoint
description: The sensor/actuator name that best fits a device.
type: string
observables:
example:
- value: 1.2.3.4
type: ip
type: array
items:
$ref: '#/components/schemas/Observable'
observed_time:
$ref: '#/components/schemas/ObservedTime'
os:
example: string
type: string
additionalProperties: false
required:
- type
- observables
- observed_time
ColumnDefinition:
example:
name: string
type: integer
description: string
required: true
short_description: string
type: object
properties:
name:
example: string
type: string
type:
example: integer
type: string
enum:
- url
- string
- observable
- number
- integer
- markdown
description:
example: string
description: Markdown string with at most 5000 characters.
type: string
required:
example: true
description: If `true`, the row entries for this column cannot contain `nulls`. Defaults to `true`.
type: boolean
short_description:
example: string
type: string
additionalProperties: false
required:
- name
- type
MetricResultData:
type: object
additionalProperties: {}
PartialSighting:
example:
description: string
schema_version: 1.3.30
revision: 10
relations:
- origin: string
origin_uri: string
relation: Allocated
relation_info:
keyword: anything
source:
value: 1.2.3.4
type: ip
related:
value: 1.2.3.4
type: ip
sensor_coordinates:
type: endpoint
observables:
- value: 1.2.3.4
type: ip
os: string
observables:
- value: 1.2.3.4
type: ip
type: sighting
source: string
external_ids:
- string
targets:
- type: endpoint
observables:
- value: 1.2.3.4
type: ip
observed_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
os: string
short_description: string
title: string
resolution: detected
internal: false
external_references:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
detection_interval:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
source_uri: string
activity_interval:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
language: string
id: string
count: 10
severity: Critical
tlp: green
modification_interval:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
context:
http_events:
- process_guid: 10
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
method: CONNECT
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: HTTPEvent
host: string
process_name: string
process_id: 10
process_username: string
query: string
encrypted: true
url_port: 10
process_create_events:
- parent_process_name: string
process_guid: 10
parent_process_guid: 10
process_disposition: string
parent_process_size: 10
process_size: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_disposition: string
type: ProcessCreateEvent
parent_process_username: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
parent_creation_time: '2016-01-01T01:01:01.000Z'
process_args: string
registry_delete_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryDeleteEvent
registry_value: string
file_modify_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileModifyEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
registry_set_events:
- process_guid: 10
registry_data: string
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: RegistrySetEvent
registry_data_length: 10
registry_value: string
registry_key: string
process_name: string
process_id: 10
process_username: string
file_create_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileCreateEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
registry_create_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryCreateEvent
library_load_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
type: LibraryLoadEvent
dll_library_name: string
dll_library_path: string
file_move_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileMoveEvent
old_name: string
file_path: string
process_name: string
process_id: 10
process_username: string
new_name: string
file_delete_events:
- file_name: string
process_guid: 10
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
type: FileDeleteEvent
file_path: string
process_name: string
process_id: 10
process_username: string
failed: false
netflow_events:
- parent_process_name: string
byte_count_in: 10
process_guid: 10
process_path: string
traffic:
destination_host_name: string
protocol: 10
source_ip: string
destination_subnet: string
destination_ip: string
source_subnet: string
destination_port: 10
direction: incoming
source_port: 10
flow_time: '2016-01-01T01:01:01.000Z'
time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
parent_process_account: string
type: NetflowEvent
process_account_type: string
parent_process_path: string
parent_process_id: 10
parent_process_args: string
process_name: string
process_account: string
parent_process_account_type: string
process_hash: string
process_id: 10
parent_process_hash: string
process_username: string
byte_count_out: 10
process_args: string
registry_rename_events:
- time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
process_id: 10
process_name: string
process_guid: 10
process_username: string
registry_key: string
type: RegistryRenameEvent
registry_old_key: string
timestamp: '2016-01-01T01:01:01.000Z'
confidence: High
observed_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
sensor: endpoint
data:
columns:
- name: string
type: integer
description: string
required: true
short_description: string
rows:
- - anything
row_count: 10
description: A sighting indicates that a particular entity or [indicator](indicator.md) was observed in an environment and can be an indication of a current or potential threat.
type: object
properties:
description:
example: string
description: A description of object, which may be detailed.
type: string
authorized_groups:
type: array
items:
type: string
schema_version:
type: string
revision:
example: 10
description: A monotonically increasing revision, incremented each time the object is changed.
type: integer
format: int64
relations:
example:
- origin: string
origin_uri: string
relation: Allocated
relation_info:
keyword: anything
source:
value: 1.2.3.4
type: ip
related:
value: 1.2.3.4
type: ip
description: Provide any context we can about where the observable came from.
type: array
items:
$ref: '#/components/schemas/ObservedRelation'
sensor_coordinates:
$ref: '#/components/schemas/SensorCoordinates'
observables:
example:
- value: 1.2.3.4
type: ip
description: The object(s) of interest.
type: array
items:
$ref: '#/components/schemas/Observable'
authorized_users:
type: array
items:
type: string
type:
example: sighting
type: string
enum:
- sighting
created:
type: string
format: date-time
source:
example: string
description: Represents the source of the intelligence that led to the creation of the entity.
type: string
external_ids:
example:
- string
description: "It is used to store a list of external identifiers that can be linked to the incident, providing a reliable and manageable way to correlate and group related events across multiple data sources. It is especially useful in larger organizations that rely on multiple security information and event management (SIEM) systems to detect security incidents. For instance, it can be used to track events across different network sensors, intrusion detection and prevention systems (IDPS), or log management platforms. \n The field can also be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. It can be used to cross-reference with other external tools such as threat intelligence feeds and vulnerability scanners."
type: array
items:
type: string
modified:
type: string
format: date-time
targets:
example:
- type: endpoint
observables:
- value: 1.2.3.4
type: ip
observed_time:
start_time: '2016-01-01T01:01:01.000Z'
end_time: '2016-01-01T01:01:01.000Z'
os: string
description: 'May include one or more targets that observed the associated indicator. Targets can include network devices, host devices, or other entities that are capable of detecting indicators of compromise.
Can be used to assess the scope of potential threats, helping analysts understand which devices or components of the network may be vulnerable to attack. For example, if a particular malware strain is detected on several different systems within an organization, the `targets` field may indicate which systems are affected and which may need to be isolated or patched to prevent further spread.'
type: array
items:
$ref: '#/components/schemas/IdentitySpecification'
short_description:
example: string
description: A single line, short summary of the object.
type: string
title:
example: string
description: A short title for this object, used as primary display and reference value.
type: string
resolution:
example: detected
description: Represents the disposition or actions taken on the associated threat intelligence.
type: string
internal:
example: false
description: "If `true`, indicates that the sighting was reported from internal sources, such as an organization's own internal security tools or SOC.\n Internal sightings are often considered more reliable and actionable than external sightings, which are reported from external sources and may have a lower level of trustworthiness. Internal sightings can provide more context and can help identify potential threats that are unique to a particular environment or organization.\n Internal sightings can also help organizations prioritize their security response efforts by identifying threats that are specific to their environment and may not yet be widely known."
type: boolean
external_references:
example:
- source_name: string
description: string
url: string
hashes:
- string
external_id: string
description: "Specifies a list of external references which refers to non-CTIM information.\n\nSimilar to `external_ids` field with major differences:\n\n- `external_ids` field is used to store a list of external identifiers that can be used to link entities across different data sources. These identifiers are typically standardized and well-known, such as CVE IDs, US-CERT advisories, or other industry-standard threat intelligence feeds. The `external_ids` field can be used to facilitate automation and orchestration workflows, where additional information can be shared among incident management systems. \n\n- `external_references` field, on the other hand, is used to provide a more general mechanism for linking entities to external sources of information. The `external_references` field can include references to blog posts, articles, external documents, threat intelligence reports, and other sources of information that may not have a standardized format or identifier."
type: array
items:
$ref: '#/components/schemas/ExternalReference'
detection_interval:
$ref: '#/components/schemas/ObservedTime'
source_uri:
example: string
description: URI of the source of the intelligence that led to the creation of the entity.
type: string
activity_interval:
$ref: '#/components/schemas/ObservedTime'
language:
example: string
description: 'The `language` field is used to specify the primary language of the affected system or the target of an attack. It can be used to provide additional context and information about the entity. The primary purpose of this field is to help analysts filter and prioritize entities based on their knowledge and expertise of different languages.
For example, if an incident involves an attack on a system in a country where a specific language is predominant, the `language` field can be used to indicate that language, which can help analysts to quickly identify and respond to incidents that may be geographically or culturally relevant. This information can be used to prioritize incidents based on their potential impact. The `language` field can also be used to help with correlation of incidents across different systems and regions, as well as to help with data analysis and reporting.'
type: string
id:
example: string
description: Globally unique URI identifying this object.
type: string
count:
example: 10
description: 'The number of times an indicator was observed within a certain period of time.
For example, if an IP address associated with known malicious activity is observed once within a period of time, it may indicate a low-level threat. However, if the same IP address is observed multiple times within a short time frame, it may indicate a more severe and persistent threat.
It can also be used to prioritize security alerts and indicate the urgency of a response. High counts indicate that an indicator is actively being used in a larger campaign, while low counts may indicate isolated incidents.'
type: integer
format: int64
severity:
example: Critical
type: string
enum:
- Medium
- Info
- Unknown
- None
- High
- Critical
- Low
tlp:
example: green
description: 'TLP stands for [Traffic Light Protocol](https://www.us-cert.gov/tlp), which indicates precisely how a resource is intended to be shared, replicated, copied, etc.
It is used to indicate the sensitivity of the information contained within the message. This allows recipients to determine the appropriate handling and dissemination of the information based on their clearance level and need-to-know.
For example, an entity containing information about a critical vulnerability in a widely-used software might be marked as `red`, indicating that it should only be shared with a small group of highly trusted individuals who need to know in order to take appropriate action. On the other hand, a message containing more general information about security threats might be marked as `amber` or `green`, indicating that it can be shared more broadly within an organization.'
type: string
enum:
- white
- green
- red
- amber
modification_interval:
$ref: '#/components/schemas/ObservedTime'
context:
$ref: '#/components/schemas/Context'
client_id:
type: string
groups:
type: array
items:
type: string
timestamp:
example: '2016-01-01T01:01:01.000Z'
description: The time this object was created at, or last modified.
type: string
format: date-time
confidence:
example: High
type: string
enum:
- Medium
- Info
- Unknown
- None
- High
- Low
observed_time:
$ref: '#/components/schemas/ObservedTime'
owner:
type: string
sensor:
example: endpoint
description: The OpenC2 Actuator name that best fits the device that is creating this sighting (e.g. network.firewall)
type: string
data:
$ref: '#/components/schemas/SightingDataTable'
additionalProperties: false
MetricResult:
type: object
properties:
data:
$ref: '#/components/schemas/MetricResultData'
type:
type: string
enum:
- histogram
- topn
- avg
- cardinality
filters:
$ref: '#/components/schemas/MetricResultFilters'
additionalProperties: false
required:
- data
- type
- filters
ExternalReference:
example:
source_name: string
description: string
url: string
hashes:
- string
external_id: string
description: External references are used to describe pointers to information represented outside of CTIM. For example, a Malware object could use an external reference to indicate an ID for that malware in an external database or a report could use references to represent source material.
type: object
properties:
source_name:
example: string
description: The source within which the external-reference is defined (system, registry, organization, etc.)
type: string
description:
example: string
description: Markdown string with at most 5000 characters.
type: string
url:
example: string
description: A URL reference to an external resource.
type: string
hashes:
example:
- string
description: Specifies a dictionary of hashes for the contents of the url.
type: array
items:
type: string
external_id:
example: string
description: An identifier for the external reference content.
type: string
additionalProperties: false
required:
- source_name
NewSightingRelationsRelationInfo:
example:
keyword: anything
type: object
additionalProperties:
example: anything
ObservedRelation:
example:
origin: string
origin_uri: string
relation: Allocated
relation_info:
keyword: anything
source:
value: 1.2.3.4
type: ip
related:
value: 1.2.3.4
type: ip
description: A relation inside a Sighting.
type: object
properties:
origin:
example: string
type: string
origin_uri:
example: string
description: A URI
type: string
relation:
example: Allocated
type: string
relation_info:
$ref: '#/components/schemas/NewSightingRelationsRelationInfo'
source:
$ref: '#/components/schemas/Observable'
related:
$ref: '#/components/schemas/Observable'
additionalProperties: false
required:
- origin
- relation
- source
- related
securitySchemes:
JWT:
type: apiKey
in: header
name: Authorization
description: 'Ex: Bearer \'
oauth2:
type: oauth2
flows:
authorizationCode:
scopes:
private-intel: Private Intelligence Full Access
private-intel:read: Private Intelligence Read Access
private-intel:write: Private Intelligence Write Access
casebook: Casebook Full Access
casebook:read: Casebook Read Access
casebook:write: Casebook Write Access
authorizationUrl: https://visibility.amp.cisco.com/iroh/oauth2/authorize
tokenUrl: https://visibility.amp.cisco.com/iroh/oauth2/token