package tsunami.proto

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service PluginService

plugin_service.proto:94

Represents the plugin service, two RPCs for running plugins and listing plugins, respectively.

message AdditionalDetail

vulnerability.proto:91

Additional details regarding a vulnerability can be stored here. Prefers to use the existing structured data when possible, otherwise store the raw data as a blob.

Used in: Vulnerability

enum AddressFamily

network.proto:28

The address family of an IP address.

Used in: IpAddress

message BlobData

vulnerability.proto:103

A piece of arbitrary binary data.

Used in: AdditionalDetail

message CrawlConfig

web_crawl.proto:30

Next ID: 7

message CrawlConfig.Scope

web_crawl.proto:32

The crawler should only interact with web resources under certain scopes.

Used in: CrawlConfig

message CrawlResult

web_crawl.proto:85

Used in: WebServiceContext

message CrawlTarget

web_crawl.proto:68

Used in: CrawlResult

message Credential

vulnerability.proto:113

Credential for a vulnerable network service.

Used in: AdditionalDetail, Credentials

message Credentials

vulnerability.proto:120

A set of credentials for a vulnerable network service.

Used in: AdditionalDetail

message DetectionReport

detection.proto:47

Full report about a detected vulnerability.

Used in: DetectionReportList, FullDetectionReports

message DetectionReportList

detection.proto:64

Used in: RunResponse

enum DetectionStatus

detection.proto:33

Status of the vulnerability detection result.

Used in: DetectionReport

message FingerprintingReport

reconnaissance.proto:72

Report from a service fingerprinter.

message FullDetectionReports

scan_results.proto:92

Full detection reports from all triggered Tsunami detection plugins.

Used in: ScanResults

message Hostname

network.proto:50

The hostname of a networking device.

Used in: NetworkEndpoint

message HttpHeader

web_crawl.proto:80

Represents an HTTP header.

Used in: CrawlResult

message IpAddress

network.proto:35

The IP address of a networking device.

Used in: NetworkEndpoint

message MatchedPlugin

plugin_service.proto:66

Represents the plugin needed to run by the language-specific server as well as all the matched network services for the plugin.

Used in: RunRequest

message NetworkEndpoint

network.proto:55

A classification of an endpoint for a network device.

Used in: CrawlConfig, NetworkService, ScanTarget, TargetInfo

enum NetworkEndpoint.Type

network.proto:56

Used in: NetworkEndpoint

message NetworkService

network_service.proto:32

General information about a network service running on a target.

Used in: DetectionReport, FingerprintingReport, MatchedPlugin, PortScanningReport, ReconnaissanceReport, RunCompactRequest, ScanFinding, ScanTarget

message OperatingSystemClass

reconnaissance.proto:45

Represents a ForOperatingSystem annotation placeholder used by the PluginDefinition proto above. For possible values, consult the following database: https://raw.githubusercontent.com/nmap/nmap/master/nmap-os-db

Used in: TargetInfo

message PayloadAttributes

payload_generator.proto:91

Attributes of a payload. A detector can check these attributes to change its logic based on the payload type.

message PayloadDefinition

payload_generator.proto:112

Schema for each entry in payload_definitions.yaml Note: this message uses StringValue and BoolValue because we validate whether each payload definition in the yaml file has the correct fields present. Since empty proto fields are given default values (proto fields are not nullable), we use the wrapped types to check for actual presence.

Used in: PayloadLibrary

message PayloadGeneratorConfig

payload_generator.proto:30

Attributes utilized by the PayloadGenerator to select a payload

enum PayloadGeneratorConfig.ExecutionEnvironment

payload_generator.proto:73

The actual runtime environment when the payload is run e.g. while a PHP-based target wants a PHP-interpretation environment, the actual code execution may happen via the Linux shell: exec(“echo \”this is running in the system.\””).

Used in: PayloadDefinition, PayloadGeneratorConfig

enum PayloadGeneratorConfig.InterpretationEnvironment

payload_generator.proto:50

The environment that processes the payload for execution e.g. a PHP-based target likely wants a payload that is itself PHP code.

Used in: PayloadDefinition, PayloadGeneratorConfig

enum PayloadGeneratorConfig.VulnerabilityType

payload_generator.proto:32

The type of vulnerability the detector is looking for

Used in: PayloadDefinition, PayloadGeneratorConfig

message PayloadLibrary

payload_generator.proto:103

Container type for payload_definitions.yaml

enum PayloadValidationType

payload_generator.proto:96

Used in: PayloadDefinition

message PluginDefinition

plugin_representation.proto:29

Represents a PluginDefinition placeholder.

Used in: ListPluginsResponse, MatchedPlugin, RunCompactRequest

message PluginInfo

plugin_representation.proto:52

Represents a PluginInfo annotation placeholder used by the PluginDefinition proto above.

Used in: PluginDefinition

enum PluginInfo.PluginType

plugin_representation.proto:53

Used in: PluginInfo

message Port

network.proto:45

The port that a network service listens to.

Used in: NetworkEndpoint

message PortScanningReport

reconnaissance.proto:63

Report from a port scanner.

message ReconnaissanceReport

reconnaissance.proto:78

Full reconnaissance report about a single scanning target.

Used in: ScanResults

message RunCompactRequest.PluginNetworkServiceTarget

plugin_service.proto:50

Indexes in the following structure point to the services/plugins defined below. (The order is safe, guaranteed by the proto specification: "The order of the elements with respect to each other is preserved when parsing, though the ordering with respect to other fields is lost.")

Used in: RunCompactRequest

message RunResponse

plugin_service.proto:75

Represents a run response with the only field being all DetectionReports generated by the language-specific server.

Used as response type in: PluginService.Run, PluginService.RunCompact

message ScanFinding

scan_results.proto:50

A single vulnerability finding for a specific service.

Used in: ScanResults

message ScanResults

scan_results.proto:63

Full scanning results. NEXT ID: 9

enum ScanStatus

scan_results.proto:36

Execution status of the scan. NEXT ID: 5

Used in: ScanResults

message ScanTarget

scan_target.proto:31

The information about a scan target.

message ServiceContext

network_service.proto:67

Context information about a specific network service.

Used in: NetworkService

enum Severity

vulnerability.proto:28

Severity of a vulnerability.

Used in: Vulnerability

message Software

software.proto:96

A structured description about a software.

Used in: NetworkService, WebServiceContext

message TargetInfo

reconnaissance.proto:31

Detailed information about the scanning target.

Used in: DetectionReport, PortScanningReport, ReconnaissanceReport, RunCompactRequest, RunRequest, ScanFinding

message TargetOperatingSystemClass

plugin_representation.proto:100

Represents a ForOperatingSystem annotation placeholder used by the PluginDefinition proto above. These values are coming directly from the port scanner's output (e.g. nmap).

Used in: PluginDefinition

message TargetServiceName

plugin_representation.proto:82

Represents a ForServiceName annotation placeholder used by the PluginDefinition proto above.

Used in: PluginDefinition

message TargetSoftware

plugin_representation.proto:89

Represents a ForSoftware annotation placeholder used by the PluginDefinition proto above.

Used in: PluginDefinition

message TextData

vulnerability.proto:108

A piece of arbitrary UTF-8 encoded text data.

Used in: AdditionalDetail

enum TransportProtocol

network.proto:95

The transport layer protocols.

Used in: NetworkService

message Version

software.proto:28

The exact version of a software.

Used in: VersionRange, VersionSet

enum Version.VersionType

software.proto:32

Type of the Version message, identifying an ordinary software version or a sentinel MINIMUM/MAXIMUM version. See comments below for what is a sentinel version.

Used in: Version

message VersionRange

software.proto:59

An inclusive range of versions for a software.

Used in: VersionSet

enum VersionRange.Inclusiveness

software.proto:61

Whether the range endpoint is inclusive or exclusive.

Used in: VersionRange

message VersionSet

software.proto:90

A set of Versions and VersionRanges that completely describes a set of software releases, e.g. {3.9.1, 3.9.3, [4.7.1, 4.7.8], 4.8}

Used in: NetworkService, WebServiceContext

message Vulnerability

vulnerability.proto:56

Message that represents one single vulnerability detected by Tsunami.

Used in: DetectionReport, ScanFinding

message VulnerabilityId

vulnerability.proto:44

The identifier that uniquely identifies this vulnerability.

Used in: Vulnerability

message WebServiceContext

network_service.proto:75

Context information about a web application. NEXT ID: 5

Used in: ServiceContext