Protocol Documentation

Table of Contents

analyzer.proto

Top

Intrusion Detection Message Exchange Format (IDMEF) version 2 (revision 0.3)

Protobuf API

Analyzer

FieldTypeLabelDescription
IP string

IP address (either version 4 or version 6)

Name string

Name of the analyzer, which must be reasonably unique, however still bear some meaningful sense. Usually denotes hierarchy of organizational units which detector belongs to and its own name or it can distinguish multiple analyzers running with the same IP

Hostname string

Hostname of this analyzer. SHOULD be a fully-qualified domain name

Type Analyzer.AnalyzerTypeEnum

Analyzer type

Model string

Generic name, brand, version

Category Analyzer.AnalyzerCategoryEnum repeated

Analyzer categories

Data Analyzer.AnalyzerDataEnum repeated

Data analyzed for detection

Method Analyzer.AnalyzerMethodEnum repeated

Detection method

GeoLocation string

GPS coordinates for the sensor

UnLocation string

Standard UN/LOCODE location

Location string

Internal location of the agent/sensor

Analyzer.AnalyzerCategoryEnum

Possible analyzer categories

NameNumberDescription
Category_1DLiS 0

1D LIDAR Sensor

Category_2DLiS 1

2D LIDAR Sensor

Category_3DLiS 2

3D LIDAR Sensor

Category_1DLaS 3

1D Laser Sensor

Category_2DLaS 4

2D Laser Sensor

Category_3DLaS 5

3D Laser Sensor

Category_VAD 6

Voice Activity Detection

Category_HAR 7

Human Activity Recognition

Category_FRC 8

Face Recognition Camera

Category_VNIR 9

Visible and Near-InfraRed

Category_SWIR 10

Short Wavelength InfraRed

Category_LWIR 11

Long Wavelength InfraRed

Category_MWIR 12

Middle Wavelength InfraRed

Category_ADS 13

Anti Drone System

Category_ODC 14

Object Detection Camera

Category_WEA 15

Category_DDOS 16

Anti-DDoS protection

Category_SPAM 17

Detect Spam, Phishing, etc.

Category_AV 18

Detect malware (signature)

Category_EDR 19

Endpoint Detection and Response

Category_FW 20

Firewall

Category_NIDS 21

Network Intrusion detection System

Category_HIDS 22

Host Intrusion detection System

Category_WIDS 23

Wifi Intrusion detection System

Category_PROX 24

Proxy: Detect trying to use wrong ACL or wrong TLS session

Category_WAF 25

Web Application Firewall

Category_HPT 26

Honeypot

Category_LOG 27

Log analysis

Category_IAM 28

Identity & Access Management

Category_VPN 29

Virtual Private Network

Category_ETL 30

Ex : Logstash, Fluend, Vector

Category_RASP 31

Runtime Application Self Protection

Category_BAST 32

Clientless remote desktop gateway

Category_NAC 33

Network Access Control

Category_SIEM 34

System Information and Event Management

Category_NMS 35

Network Management System

Analyzer.AnalyzerDataEnum

Possible types of data/sensors

NameNumberDescription
Data_Light 0

Data_Noise 1

Data_Touch 2

Data_Images 3

Data_Vibration 4

Data_Lidar 5

Data_Thermic 6

Data_Seismic 7

Data_Temperature 8

Data_Rain 9

Data_Water 10

Data_Humidity 11

Data_Particles 12

Data_Contact 13

Data_MagneticField 14

Data_Acoustics 15

Data_Fog 16

Data_External 17

Data_Reporting 18

Data_Connection 19

Data_Datagram 20

Data_Content 21

Data_Data 22

Data_File 23

Data_Flow 24

Data_Log 25

Data_Protocol 26

Data_Host 27

Data_Network 28

Data_Alert 29

Data_Relay 30

Data_Auth 31

Data_SNMP 32

Simple Network Management Protocol

Analyzer.AnalyzerMethodEnum

Possible detection methods

NameNumberDescription
Method_Biometric 0

Method_Signature 1

Method_Monitor 2

Method_Policy 3

Method_Statistical 4

Method_AI 5

Method_Heat 6

Method_Movement 7

Method_Blackhole 8

Method_Heuristic 9

Method_Integrity 10

Method_Honeypot 11

Method_Tarpit 12

Method_Recon 13

Method_Correlation 14

Method_Threshold 15

Detection threshold for values

Analyzer.AnalyzerTypeEnum

Possible analyzer types

NameNumberDescription
Type_Cyber 0

The analyzer is a cyber analyzer

Type_Physical 1

The analyzer is a physical analyzer

Type_Availability 2

The analyzer is an availability analyzer

Type_Combined 3

The analyzer is an other type of analyzer

attachment.proto

Top

Intrusion Detection Message Exchange Format (IDMEF) version 2 (revision 0.3)

Protobuf API

The Attachment class contains information about data linked to a

source, target or vector

Attachment

FieldTypeLabelDescription
Name string

Unique identifier among attachments that can be used to reference this attachment from other classes using the "Attachment" attribute

FileName string

Attachment filename

Hash string

Checksum of the attachment's content. The use of a hash function from the SHA-2 or SHA-3 family is recommended

Size int64

Length of the content (Bytes)

Ref string repeated

References to known sources, related to the attack and/or vulnerability, and specific to this attachment. This MAY be a URL to additional info, or a URN (according to RFC 2141) in a registered (IANA) or unregistered ad-hoc namespace bearing reasonable information value and uniqueness, such as "urn:clamav:Win.Trojan.Banker-14334"

ExternalURI string repeated

If the attachment's content is available and/or recognizable from an external resource, this is the URI (usually a URL) to that resource. This MAY also be a URN (according to RFC 2141) in a registered (IANA) or unregistered ad-hoc namespace bearing reasonable information value and uniqueness, such as "urn:mhr:55eaf7effadc07f866d1eaed9c64e7ee49fe081a", "magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C"

Note string

Free text human-readable additional note

ContentType string

Internet Media Type of the attachment, according to RFC 2046 and related. Along with types standardized by IANA also non standard but widely used media types can be used (for examples see MIME types list at freeformatter.com)

ContentEncoding string

Content encoding. The following encodings are defined in this version of the specification: "json" - Content refers to a JSON object which has been serialized to a string using the serialization procedure defined in RFC 7159. "base64" - The Content has been serialized using the Base64 encoding defined in RFC 4648. This encoding SHOULD be used when the content contains binary data. If omitted, the "json" encoding should be assumed

Content string

The attachment's content if the content is included inside the message

idmefv2.proto

Top

Intrusion Detection Message Exchange Format (IDMEF) version 2 (revision 0.3)

Protobuf API

IDMEF

Root message

FieldTypeLabelDescription
Version string

Version of the IDMEFv2 Format

ID string

128-bit Universally Unique IDentifier (UUID) either UUID version 4 (random) or 5 (SHA-1)

Entity string

Tenant ID to support multi-tenancy (e.g. decentralized infrastructure, local agency, subsidiary company, etc.). Should be used when there are multiple sites/locations or multiple tenants (e.g. MSSPs)

Category IDMEF.CategoryEnum repeated

The ENISA:RIST incident category & subcategory

Cause IDMEF.CauseEnum

Alert cause's origin, if known at the time of detection. If unknown, this key should not be defined and may be filled later on by a manager or a human operator

Description string

Short free text human-readable description

Status IDMEF.StatusEnum

Alert state in the overall alert lifecycle

Severity IDMEF.SeverityEnum

Severity of the alert

Confidence float

Confidence of detector in its own reliability of this particular detection. (0 – surely false, 1 – no doubts)s

Note string

Free text human-readable additional note, possibly longer description of incident if not obvious

CreateTime google.protobuf.Timestamp

Message creation timestamp. May point out delay between detection and processing of data

StartTime google.protobuf.Timestamp

Deduced start of the event, or just time of the event if it is solitary

CeaseTime google.protobuf.Timestamp

Deduced end of the event

DeleteTime google.protobuf.Timestamp

Message deletion timestamp. MUST be specified if the message has to be deleted after this date for technical, organizational or ethical reasons

AltNames string repeated

Alternative identifiers; strings which help pair the event to internal systems' information (for example tickets in request tracking systems)

AltCategory string repeated

Alternate category from another reference than RIST (e.g. MISP, MITRE ATT@CK or another proprietary internal reference)

Ref string repeated

References to known sources, related to the alert and/or vulnerability, and specific to this alert. This MAY be a URL to additional info, or a URN (according to RFC 2141) in a registered (IANA) or unregistered ad-hoc namespace bearing reasonable information value and uniqueness, such as "urn:cve:CVE-2013-2266

CorrelID string repeated

Identifiers for the messages which were used as information sources to create this message, in case the message has been created based on correlation/analysis/deduction from other messages

AggrCondition string repeated

List of IDMEF fields that are shared (with the same value) by all aggregated events. Should be sent mostly by intermediary nodes, which detect duplicates, or aggregate events, spanning multiple detection windows, into a longer one. IDMEF fields syntax: <field> for top-level fields. E.g. "CeaseTime" <class>.<field> for subfields. E.g. "Source.IP" <field>(<N>) to reference the Nth element (0-based) inside a list. N defaults to 0 if omitted. E.g. "Source.IP(0)" refers to the first IP of the first source. The "StartTime" and "CeaseTime" fields are used to describe the aggregation timeframe, in conjunction with this field

PredID string repeated

Identifiers of previous messages which are obsoleted by this message. The obsoleted alert should no longer be used. This field can be used to "update" an alert

RelID string repeated

Other messages related to this message

Analyzer Analyzer

The Analyzer class identifies the analyzer from which the message originates

Sensor Sensor repeated

The Sensor class identifies the sensor used by the analyzer for its analysis

Source Source repeated

The Source class contains information about the possible source(s) of the event(s) that generated this message

Target Target repeated

The Target class contains information about the possible target(s) of the event(s) that generated this message

Vector Vector repeated

The Vector class contains information about the vector(s) of the event(s) that generated this message

Attachment Attachment repeated

The Attachment class contains information about data linked to a source, target or vector

Observable Observable repeated

The Observable class contains information about metadata linked to a source, target or vector

IDMEF.CategoryEnum

Possible alert categories

NameNumberDescription
Category_Abusive_Spam 0

Or 'Unsolicited Bulk Email', this means that the recipient has not granted verifiable permission for the message to be sent and that the message is sent as part of a larger collection of messages, all having a functionally comparable content. This IOC refers to resources, which make up a SPAM infrastructure, be it a harvesters like address verification, URLs in spam e-mails etc.

Category_Abusive_Harassment 1

Discretization or discrimination of somebody, e.g. cyber stalking, racism or threats against one or more individuals.

Category_Abusive_Illicit 2

Child Sexual Exploitation (CSE), Sexual content, glorification of violence, etc.

Category_Malicious_System 3

System infected with malware, e.g. PC, smartphone or server infected with a rootkit. Most often this refers to a connection to a sinkholed C2 server

Category_Malicious_Botnet 4

Command-and-control server contacted by malware on infected systems

Category_Malicious_Distribution 5

URI used for malware distribution, e.g. a download URL included in fake invoice malware spam or exploit-kits (on websites).

Category_Malicious_Configuration 6

URI hosting a malware configuration file, e.g. web-injects for a banking trojan

Category_Recon_Scanning 7

Attacks that send requests to a system to discover weaknesses. This also includes testing processes to gather information on hosts, services and accounts. Examples: fingerd, DNS querying, ICMP, SMTP (EXPN, RCPT, ...), port scanning.

Category_Recon_Sniffing 8

Observing and recording of network traffic (wiretapping).

Category_Recon_SocialEngineering 9

Gathering information from a human being in a non-technical way (e.g. lies, tricks, bribes, or threats).

Category_Attempt_Exploit 10

An attempt to compromise a system or to disrupt any service by exploiting vulnerabilities with a standardised identifier such as CVE name (e.g. buffer overflow, backdoor, cross site scripting, etc.)

Category_Attempt_Login 11

Multiple login attempts (Guessing / cracking of passwords, brute force). This IOC refers to a resource, which has been observed to perform brute-force attacks over a given application protocol.

Category_Attempt_NewSignature 12

An attack using an unknown exploit.

Category_Intrusion_AdminCompromise 13

Compromise of a system where the attacker gained administrative privileges.

Category_Intrusion_UserCompromise 14

Compromise of a system using an unprivileged (user/service) account.

Category_Intrusion_AppCompromise 15

Compromise of an application by exploiting (un-)known software vulnerabilities, e.g. SQL injection.

Category_Intrusion_SysCompromise 16

Compromise of a system, e.g. unauthorised logins or commands. This includes compromising attempts on honeypot systems.

Category_Intrusion_Burglary 17

Physical intrusion, e.g. into corporate building or data-centre.

Category_Availability_DoS 18

Denial of Service attack, e.g. sending specially crafted requests to a web application which causes the application to crash or slow down.

Category_Availability_DDoS 19

Distributed Denial of Service attack, e.g. SYN-Flood or UDP-based reflection/amplification attacks.

Category_Availability_Misconf 20

Software misconfiguration resulting in service availability issues, e.g. DNS server with outdated DNSSEC Root Zone KSK.

Category_Availability_Theft 21

Category_Availability_Sabotage 22

Physical sabotage, e.g cutting wires or malicious arson.

Category_Availability_Outage 23

Outage caused e.g. by air condition failure or natural disaster.

Category_Availability_Failure 24

Failure, malfunction (e.g. : bug, wear, faults, etc.)

Category_Information_UnauthorizedAccess 25

Unauthorised access to information, e.g. by abusing stolen login credentials for a system or application, intercepting traffic or gaining access to physical documents.

Category_Information_UnauthorizedModification 26

Unauthorised modification of information, e.g. by an attacker abusing stolen login credentials for a system or application or a ransomware encrypting data. Also includes defacements.

Category_Information_DataLoss 27

Loss of data, e.g. caused by harddisk failure or physical theft.

Category_Information_DataLeak 28

Leaked confidential information like credentials or personal data.

Category_Fraud_UnauthorizedUsage 29

Using resources for unauthorised purposes including profit-making ventures, e.g. the use of e-mail to participate in illegal profit chain letters or pyramid schemes.

Category_Fraud_Copyright 30

Offering or Installing copies of unlicensed commercial software or other copyright protected materials (Warez).

Category_Fraud_Masquerade 31

Type of attack in which one entity illegitimately impersonates the identity of another in order to benefit from it.

Category_Fraud_Phishing 32

Masquerading as another entity in order to persuade the user to reveal private credentials. This IOC most often refers to a URL, which is used to phish user credentials.

Category_Vulnerable_Crypto 33

Publicly accessible services offering weak crypto, e.g. web servers susceptible to POODLE/FREAK attacks.

Category_Vulnerable_DDoS 34

Publicly accessible services that can be abused for conducting DDoS reflection/amplification attacks, e.g. DNS open-resolvers or NTP servers with monlist enabled.

Category_Vulnerable_Surface 35

Potentially unwanted publicly accessible services, e.g. Telnet, RDP or VNC.

Category_Vulnerable_Disclosure 36

Publicly accessible services potentially disclosing sensitive information, e.g. SNMP or Redis.

Category_Vulnerable_System 37

A system which is vulnerable to certain attacks. Example: misconfigured client proxy settings (example: WPAD), outdated operating system version, XSS vulnerabilities, etc.

Category_Geophysical_Earthquake 38

A hazard originating from solid earth. This term is used interchangeably with the term geological hazard.

Category_Geophysical_MassMovement 39

A hazard originating from solid earth. This term is used interchangeably with the term geological hazard.

Category_Geophysical_Volcanic 40

A hazard originating from solid earth. This term is used interchangeably with the term geological hazard.

Category_Meteorological_Temperature 41

A hazard caused by short-lived, micro- to meso-scale extreme weather and atmospheric conditions that last from minutes to days.

Category_Meteorological_Fog 42

A hazard caused by short-lived, micro- to meso-scale extreme weather and atmospheric conditions that last from minutes to days.

Category_Meteorological_Storm 43

A hazard caused by short-lived, micro- to meso-scale extreme weather and atmospheric conditions that last from minutes to days.

Category_Hydrological_Flood 44

A hazard caused by the occurrence, movement, and distribution of surface and subsurface freshwater and saltwater.

Category_Hydrological_Landslide 45

A hazard caused by the occurrence, movement, and distribution of surface and subsurface freshwater and saltwater.

Category_Hydrological_Wave 46

A hazard caused by the occurrence, movement, and distribution of surface and subsurface freshwater and saltwater.

Category_Climatological_Drought 47

A hazard caused by long-lived, meso- to macro-scale atmospheric processes ranging from intra-seasonal to multi-decadal climate variability.​

Category_Climatological_LakeOutburst 48

A hazard caused by long-lived, meso- to macro-scale atmospheric processes ranging from intra-seasonal to multi-decadal climate variability.​

Category_Climatological_Wildfire 49

A hazard caused by long-lived, meso- to macro-scale atmospheric processes ranging from intra-seasonal to multi-decadal climate variability.​

Category_Biological_Epidemic 50

A hazard caused by the exposure to living organisms and their toxic substances (e.g. venom, mold) or vector-borne diseases that they may carry. Examples are venomous wildlife and insects, poisonous plants, and mosquitoes carrying disease-causing agents such as parasites, bacteria, or viruses (e.g. malaria).

Category_Biological_Insect 51

A hazard caused by the exposure to living organisms and their toxic substances (e.g. venom, mold) or vector-borne diseases that they may carry. Examples are venomous wildlife and insects, poisonous plants, and mosquitoes carrying disease-causing agents such as parasites, bacteria, or viruses (e.g. malaria).

Category_Biological_Animal 52

A hazard caused by the exposure to living organisms and their toxic substances (e.g. venom, mold) or vector-borne diseases that they may carry. Examples are venomous wildlife and insects, poisonous plants, and mosquitoes carrying disease-causing agents such as parasites, bacteria, or viruses (e.g. malaria).

Category_Extraterrestrial_Impact 53

A hazard caused by asteroids, meteoroids, and comets as they pass near-earth, enter the Earth’s atmosphere, and/or strike the Earth, and by changes in interplanetary conditions that effect the Earth’s magnetosphere, ionosphere, and thermosphere.

Category_Extraterrestrial_SpaceWeather 54

A hazard caused by asteroids, meteoroids, and comets as they pass near-earth, enter the Earth’s atmosphere, and/or strike the Earth, and by changes in interplanetary conditions that effect the Earth’s magnetosphere, ionosphere, and thermosphere.

Category_Other_Uncategorized 55

All incidents which don't fit in one of the given categories should be put into this class or the incident is not categorised.

Category_Other_Undetermined 56

The categorisation of the incident is unknown/undetermined.

Category_Test_Test 57

Meant for testing.

IDMEF.CauseEnum

Possible alert causes

NameNumberDescription
Cause_Normal 0

Cause_Error 1

Cause_Malicious 2

Cause_Malfunction 3

Cause_Natural 4

Cause_Unknown 5

IDMEF.SeverityEnum

Possible alert severities

NameNumberDescription
Severity_Unknown 0

Severity_Info 1

Severity_Low 2

Severity_Medium 3

Severity_High 4

IDMEF.StatusEnum

Possible alert statuses

NameNumberDescription
Status_Event 0

Status_Incident 1

observable.proto

Top

Intrusion Detection Message Exchange Format (IDMEF) version 2 (revision 0.3)

Protobuf API

The Observable class contains information about metadata linked to a

source, target or vector

Observable

FieldTypeLabelDescription
Name string

Unique identifier among observables that can be used to reference this observable from other classes using the "Observable" attribute

Reference string

Name of the reference from where the observable is specified

Content string

Observable content

sensor.proto

Top

Intrusion Detection Message Exchange Format (IDMEF) version 2 (revision 0.3)

Protobuf API

The Sensor class identifies the sensor used by the analyzer for its analysis

Sensor

FieldTypeLabelDescription
IP string

The sensor's IP address (either version 4 or version 6)

Name string

Name of the sensor, which must be reasonably unique, however still bear some meaningful sense. Usually denotes the hierarchy of organizational units the detector belongs to and its own name. May also be used to help distinguish sensors running with the same IP address

Hostname string

Hostname of this sensor. Should be a fully qualified domain name, but may not conform exactly because values extracted from logs, messages, DNS, etc. may themselves be malformed. An empty string can be used to explicitly state that this value was inquired but not found (missing DNS name)

Model string

Generic name, brand, version

UnLocation string

Standard UN/LOCODE location

Location string

Internal location of the sensor

CaptureZone string

String that describes the capture zone of the sensor in a serialized JSON string

source.proto

Top

Intrusion Detection Message Exchange Format (IDMEF) version 2 (revision 0.3)

Protobuf API

The Source class contains information about the possible source(s) of the

event(s) that generated this message

Source

FieldTypeLabelDescription
UnLocation string

Standard UN/LOCODE location for this source

Location string

Internal location description (for internal sources)

GeoLocation string

GPS coordinates for the source

Note string

Free text human-readable additional note

TI string repeated

Threat intelligence information about the source

IP string

Source IP address (either version 4 or version 6)

Hostname string

Hostname of this source. Should be a fully qualified domain name, but may not conform exactly because values extracted from logs, messages, DNS, etc. may themselves be malformed. An empty string can be used to explicitly state that this value was inquired but not found (missing DNS name)

User string

User ID or login responsible for the alert

Email string

Email address (e.g. the value of the "Reply-To" or "From" header inside a phishing e-mail)

Protocol string repeated

Protocols related to connections from/to this source/target. If several protocols are stacked, they must be ordered from the lowest (the closest to the medium) to the highest (the closest to the application) according to the ISO/OSI model

Port int32 repeated

Source ports involved

Attachment string repeated

Identifiers for attachments related to this source. Each identifier listed here MUST match the "Name" attribute for one of the attachments described using the "Attachment" class

Observable string repeated

Identifiers for observables related to this source. Each identifier listed here MUST match the "Name" attribute for one of the observables described using the "Observable" class

target.proto

Top

Intrusion Detection Message Exchange Format (IDMEF) version 2 (revision 0.3)

Protobuf API

The Target class contains information about the possible target(s) of the

event(s) that generated this message

Target

FieldTypeLabelDescription
UnLocation string

Standard UN/LOCODE location for this target

Location string

Internal location description (for internal target)

GeoLocation string

GPS coordinates for the target

Note string

Free text human-readable additional note

IP string

Target IP address (either version 4 or version 6)

Hostname string

Hostname of this target. Should be a fully qualified domain name, but may not conform exactly because values extracted from logs, messages, DNS, etc. may themselves be malformed. An empty string can be used to explicitly state that this value was inquired but not found (missing DNS name)

Service string

Service(s)/process(es) impacted by the event/alert

User string

User ID or login responsible for the alert

Email string

Email address (e.g. the value of the "To" header inside a phishing e-mail)

Port int32 repeated

Target ports affected

Attachment string repeated

Identifiers for attachments related to this target. Each identifier listed here MUST match the "Name" attribute for one of the attachments described using the "Attachment" class

Observable string repeated

Identifiers for observables related to this target. Each identifier listed here MUST match the "Name" attribute for one of the observables described using the "Observable" class

vector.proto

Top

Intrusion Detection Message Exchange Format (IDMEF) version 2 (revision 0.3)

Protobuf API

The Vector class contains information about the vector(s) of the event(s)

that generated this message

Vector

FieldTypeLabelDescription
Category Vector.VectorCategoryEnum repeated

Category for the detected "vector"

TI string repeated

Threat intelligence information about the vector

Name string

Name of the detected vector or "Unknown"

Size Vector.VectorSizeEnum

Average size of the detected vector

UnLocation string

UN Location of the vector (e.g. Storm detected on Athens)

GeoLocation string

GPS coordinates for the vector, providing event geolocation (i.e. where a man/car/animal was detected, a storm/drought/fire risk was predicted, etc.)

GeoRadius int32

Estimated radius around the provided geolocation (error margin) in meters. The value can be very precise or approximated (e.g. 100 m)

Location string

Internal location

Note string

Free text human-readable additional note

Attachment string repeated

Identifiers for attachments related to this vector. Each identifier listed here MUST match the "Name" attribute for one of the attachments described using the "Attachment" class

Observable string repeated

Identifiers for observables related to this vector. Each identifier listed here MUST match the "Name" attribute for one of the observables described using the "Observable" class

Vector.VectorCategoryEnum

Possible categories for attack vectors

NameNumberDescription
Vector_Unknown 0

Vector_Face 1

Vector_RunningMan 2

Vector_Human 3

Vector_Man 4

Vector_Woman 5

Vector_Chilren 6

Vector_Animal 7

Vector_Object 8

Vector_Blast 9

Vector_Fire 10

Vector_Wind 11

Vector_Snow 12

Vector_Rain 13

Vector_Chemical 14

Vector_Smoke 15

Vector_Vapors 16

Vector_Drug 17

Vector_Device 18

Vector_Drone 19

Vector_Car 20

Vector_Truck 21

Vector_Vehicle 22

Vector_Bird 23

Vector_Storm 24

Vector_HighTemperature 25

Vector_Artifact 26

Vector_AutonomousSystem 27

Vector_Directory 28

Vector_DomainName 29

Vector_EmailAddress 30

Vector_EmailMessage 31

Vector_File 32

Vector_IPv4Address 33

Vector_IPv6Address 34

Vector_Mutex 35

Vector_NetworkTraffic 36

Vector_Process 37

Vector_URL 38

Vector_UserAccount 39

Vector_WindowsRegistryKey 40

Vector_X509Certificate 41

Vector.VectorSizeEnum

Possible sizes for attack vectors

NameNumberDescription
Vector_Small 0

Vector_Medium 1

Vector_Large 2

Vector_Huge 3

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)