Package-level declarations

Types

Link copied to clipboard
@Serializable
data class Address(val absoluteAddress: Long? = null, val fullyQualifiedName: String? = null, val index: Long? = null, val kind: String? = null, val length: Long? = null, val name: String? = null, val offsetFromParent: Long? = null, val parentIndex: Long? = null, val properties: PropertyBag? = null, val relativeAddress: Long? = null)

A physical or virtual address, or a range of addresses, in an 'addressable region' (memory or a binary file).

Link copied to clipboard
@Serializable
data class Artifact(val contents: ArtifactContent? = null, val description: Message? = null, val encoding: String? = null, val hashes: Map<String, String>? = null, val lastModifiedTimeUTC: String? = null, val length: Long? = null, val location: ArtifactLocation? = null, val mimeType: String? = null, val offset: Long? = null, val parentIndex: Long? = null, val properties: PropertyBag? = null, val roles: List<Role>? = null, val sourceLanguage: String? = null)

A single artifact. In some cases, this artifact might be nested within another artifact.

Link copied to clipboard
@Serializable
data class ArtifactChange(val artifactLocation: ArtifactLocation, val properties: PropertyBag? = null, val replacements: List<Replacement>)

A change to a single artifact.

Link copied to clipboard
@Serializable
data class ArtifactContent(val binary: String? = null, val properties: PropertyBag? = null, val rendered: MultiformatMessageString? = null, val text: String? = null)

The contents of the artifact.

Link copied to clipboard
@Serializable
data class ArtifactLocation(val description: Message? = null, val index: Long? = null, val properties: PropertyBag? = null, val uri: String? = null, val uriBaseID: String? = null)

The location of the artifact.

Link copied to clipboard
@Serializable
data class Attachment(val artifactLocation: ArtifactLocation, val description: Message? = null, val properties: PropertyBag? = null, val rectangles: List<Rectangle>? = null, val regions: List<Region>? = null)

An artifact relevant to a result.

Link copied to clipboard

The state of a result relative to a baseline of a previous run.

Link copied to clipboard
@Serializable
data class CodeFlow(val message: Message? = null, val properties: PropertyBag? = null, val threadFlows: List<ThreadFlow>)

A set of threadFlows which together describe a pattern of code execution relevant to detecting a result.

Link copied to clipboard

Specifies the unit in which the tool measures columns.

Link copied to clipboard
@Serializable
data class ConfigurationOverride(val configuration: ReportingConfiguration, val descriptor: ReportingDescriptorReference, val properties: PropertyBag? = null)

Information about how a specific rule or notification was reconfigured at runtime.

Link copied to clipboard
@Serializable(with = Content.Companion::class)
enum Content : Enum<Content>
Link copied to clipboard
@Serializable
data class Conversion(val analysisToolLogFiles: List<ArtifactLocation>? = null, val invocation: Invocation? = null, val properties: PropertyBag? = null, val tool: Tool)

A conversion object that will be merged with a separate run.

Link copied to clipboard
@Serializable
data class Edge(val id: String, val label: Message? = null, val properties: PropertyBag? = null, val sourceNodeID: String, val targetNodeID: String)

Represents a directed edge in a graph.

Link copied to clipboard
@Serializable
data class EdgeTraversal(val edgeID: String, val finalState: Map<String, MultiformatMessageString>? = null, val message: Message? = null, val properties: PropertyBag? = null, val stepOverEdgeCount: Long? = null)

Represents the traversal of a single edge during a graph traversal.

Link copied to clipboard
@Serializable
data class Exception(val innerExceptions: List<Exception>? = null, val kind: String? = null, val message: String? = null, val properties: PropertyBag? = null, val stack: Stack? = null)

The runtime exception, if any, relevant to this notification.

Link copied to clipboard
@Serializable
data class ExternalProperties(val addresses: List<Address>? = null, val artifacts: List<Artifact>? = null, val conversion: Conversion? = null, val driver: ToolComponent? = null, val extensions: List<ToolComponent>? = null, val externalizedProperties: PropertyBag? = null, val graphs: List<Graph>? = null, val guid: String? = null, val invocations: List<Invocation>? = null, val logicalLocations: List<LogicalLocation>? = null, val policies: List<ToolComponent>? = null, val properties: PropertyBag? = null, val results: List<Result>? = null, val runGUID: String? = null, val schema: String? = null, val taxonomies: List<ToolComponent>? = null, val threadFlowLocations: List<ThreadFlowLocation>? = null, val translations: List<ToolComponent>? = null, val version: Version? = null, val webRequests: List<WebRequest>? = null, val webResponses: List<WebResponse>? = null)

The top-level element of an external property file.

Link copied to clipboard
@Serializable
data class ExternalPropertyFileReference(val guid: String? = null, val itemCount: Long? = null, val location: ArtifactLocation? = null, val properties: PropertyBag? = null)

An external property file containing a run.conversion object to be merged with the root log file.

Link copied to clipboard
@Serializable
data class ExternalPropertyFileReferences(val addresses: List<ExternalPropertyFileReference>? = null, val artifacts: List<ExternalPropertyFileReference>? = null, val conversion: ExternalPropertyFileReference? = null, val driver: ExternalPropertyFileReference? = null, val extensions: List<ExternalPropertyFileReference>? = null, val externalizedProperties: ExternalPropertyFileReference? = null, val graphs: List<ExternalPropertyFileReference>? = null, val invocations: List<ExternalPropertyFileReference>? = null, val logicalLocations: List<ExternalPropertyFileReference>? = null, val policies: List<ExternalPropertyFileReference>? = null, val properties: PropertyBag? = null, val results: List<ExternalPropertyFileReference>? = null, val taxonomies: List<ExternalPropertyFileReference>? = null, val threadFlowLocations: List<ExternalPropertyFileReference>? = null, val translations: List<ExternalPropertyFileReference>? = null, val webRequests: List<ExternalPropertyFileReference>? = null, val webResponses: List<ExternalPropertyFileReference>? = null)

References to external property files that should be inlined with the content of a root log file.

Link copied to clipboard
@Serializable
data class Fix(val artifactChanges: List<ArtifactChange>, val description: Message? = null, val properties: PropertyBag? = null)

A proposed fix for the problem represented by a result object. A fix specifies a set of artifacts to modify. For each artifact, it specifies a set of bytes to remove, and provides a set of new bytes to replace them.

Link copied to clipboard
@Serializable
data class Graph(val description: Message? = null, val edges: List<Edge>? = null, val nodes: List<Node>? = null, val properties: PropertyBag? = null)

A network of nodes and directed edges that describes some aspect of the structure of the code (for example, a call graph).

Link copied to clipboard
@Serializable
data class GraphTraversal(val description: Message? = null, val edgeTraversals: List<EdgeTraversal>? = null, val immutableState: Map<String, MultiformatMessageString>? = null, val initialState: Map<String, MultiformatMessageString>? = null, val properties: PropertyBag? = null, val resultGraphIndex: Long? = null, val runGraphIndex: Long? = null)

Represents a path through a graph.

Link copied to clipboard

Specifies the importance of this location in understanding the code flow in which it occurs. The order from most to least important is "essential", "important", "unimportant". Default: "important".

Link copied to clipboard
@Serializable
data class Invocation(val account: String? = null, val arguments: List<String>? = null, val commandLine: String? = null, val endTimeUTC: String? = null, val environmentVariables: Map<String, String>? = null, val executableLocation: ArtifactLocation? = null, val executionSuccessful: Boolean, val exitCode: Long? = null, val exitCodeDescription: String? = null, val exitSignalName: String? = null, val exitSignalNumber: Long? = null, val machine: String? = null, val notificationConfigurationOverrides: List<ConfigurationOverride>? = null, val processID: Long? = null, val processStartFailureMessage: String? = null, val properties: PropertyBag? = null, val responseFiles: List<ArtifactLocation>? = null, val ruleConfigurationOverrides: List<ConfigurationOverride>? = null, val startTimeUTC: String? = null, val stderr: ArtifactLocation? = null, val stdin: ArtifactLocation? = null, val stdout: ArtifactLocation? = null, val stdoutStderr: ArtifactLocation? = null, val toolConfigurationNotifications: List<Notification>? = null, val toolExecutionNotifications: List<Notification>? = null, val workingDirectory: ArtifactLocation? = null)

An invocation object that describes the invocation of the converter.

Link copied to clipboard
@Serializable(with = Level.Companion::class)
enum Level : Enum<Level>

Specifies the failure level for the report.

Link copied to clipboard
@Serializable
data class Location(val annotations: List<Region>? = null, val id: Long? = null, val logicalLocations: List<LogicalLocation>? = null, val message: Message? = null, val physicalLocation: PhysicalLocation? = null, val properties: PropertyBag? = null, val relationships: List<LocationRelationship>? = null)

The location to which this stack frame refers.

Link copied to clipboard
@Serializable
data class LocationRelationship(val description: Message? = null, val kinds: List<String>? = null, val properties: PropertyBag? = null, val target: Long)

Information about the relation of one location to another.

Link copied to clipboard
@Serializable
data class LogicalLocation(val decoratedName: String? = null, val fullyQualifiedName: String? = null, val index: Long? = null, val kind: String? = null, val name: String? = null, val parentIndex: Long? = null, val properties: PropertyBag? = null)

A logical location of a construct that produced a result.

Link copied to clipboard
@Serializable
data class Message(val arguments: List<String>? = null, val id: String? = null, val markdown: String? = null, val properties: PropertyBag? = null, val text: String? = null)

A short description of the artifact.

Link copied to clipboard
@Serializable
data class MultiformatMessageString(val markdown: String? = null, val properties: PropertyBag? = null, val text: String)

An alternate rendered representation of the artifact (e.g., a decompiled representation of a binary region).

Link copied to clipboard
@Serializable
data class Node(val children: List<Node>? = null, val id: String, val label: Message? = null, val location: Location? = null, val properties: PropertyBag? = null)

Represents a node in a graph.

Link copied to clipboard
@Serializable
data class Notification(val associatedRule: ReportingDescriptorReference? = null, val descriptor: ReportingDescriptorReference? = null, val exception: Exception? = null, val level: Level? = null, val locations: List<Location>? = null, val message: Message, val properties: PropertyBag? = null, val threadID: Long? = null, val timeUTC: String? = null)

Describes a condition relevant to the tool itself, as opposed to being relevant to a target being analyzed by the tool.

Link copied to clipboard
@Serializable
data class PhysicalLocation(val address: Address? = null, val artifactLocation: ArtifactLocation? = null, val contextRegion: Region? = null, val properties: PropertyBag? = null, val region: Region? = null)

Identifies the artifact and region.

Link copied to clipboard
@Serializable
data class PropertyBag(val tags: List<String>? = null)

Key/value pairs that provide additional information about the address.

Link copied to clipboard
@Serializable
data class Rectangle(val bottom: Double? = null, val left: Double? = null, val message: Message? = null, val properties: PropertyBag? = null, val right: Double? = null, val top: Double? = null)

An area within an image.

Link copied to clipboard
@Serializable
data class Region(val byteLength: Long? = null, val byteOffset: Long? = null, val charLength: Long? = null, val charOffset: Long? = null, val endColumn: Long? = null, val endLine: Long? = null, val message: Message? = null, val properties: PropertyBag? = null, val snippet: ArtifactContent? = null, val sourceLanguage: String? = null, val startColumn: Long? = null, val startLine: Long? = null)

A region within an artifact where a result was detected.

Link copied to clipboard
@Serializable
data class Replacement(val deletedRegion: Region, val insertedContent: ArtifactContent? = null, val properties: PropertyBag? = null)

The replacement of a single region of an artifact.

Link copied to clipboard
@Serializable
data class ReportingConfiguration(val enabled: Boolean? = null, val level: Level? = null, val parameters: PropertyBag? = null, val properties: PropertyBag? = null, val rank: Double? = null)

Specifies how the rule or notification was configured during the scan.

Link copied to clipboard
@Serializable
data class ReportingDescriptor(val defaultConfiguration: ReportingConfiguration? = null, val deprecatedGuids: List<String>? = null, val deprecatedIDS: List<String>? = null, val deprecatedNames: List<String>? = null, val fullDescription: MultiformatMessageString? = null, val guid: String? = null, val help: MultiformatMessageString? = null, val helpURI: String? = null, val id: String, val messageStrings: Map<String, MultiformatMessageString>? = null, val name: String? = null, val properties: PropertyBag? = null, val relationships: List<ReportingDescriptorRelationship>? = null, val shortDescription: MultiformatMessageString? = null)

Metadata that describes a specific report produced by the tool, as part of the analysis it provides or its runtime reporting.

Link copied to clipboard
@Serializable
data class ReportingDescriptorReference(val guid: String? = null, val id: String? = null, val index: Long? = null, val properties: PropertyBag? = null, val toolComponent: ToolComponentReference? = null)

A reference used to locate the descriptor whose configuration was overridden.

Link copied to clipboard
@Serializable
data class ReportingDescriptorRelationship(val description: Message? = null, val kinds: List<String>? = null, val properties: PropertyBag? = null, val target: ReportingDescriptorReference)

Information about the relation of one reporting descriptor to another.

Link copied to clipboard
@Serializable
data class Result(val analysisTarget: ArtifactLocation? = null, val attachments: List<Attachment>? = null, val baselineState: BaselineState? = null, val codeFlows: List<CodeFlow>? = null, val correlationGUID: String? = null, val fingerprints: Map<String, String>? = null, val fixes: List<Fix>? = null, val graphs: List<Graph>? = null, val graphTraversals: List<GraphTraversal>? = null, val guid: String? = null, val hostedViewerURI: String? = null, val kind: ResultKind? = null, val level: Level? = null, val locations: List<Location>? = null, val message: Message, val occurrenceCount: Long? = null, val partialFingerprints: Map<String, String>? = null, val properties: PropertyBag? = null, val provenance: ResultProvenance? = null, val rank: Double? = null, val relatedLocations: List<Location>? = null, val rule: ReportingDescriptorReference? = null, val ruleID: String? = null, val ruleIndex: Long? = null, val stacks: List<Stack>? = null, val suppressions: List<Suppression>? = null, val taxa: List<ReportingDescriptorReference>? = null, val webRequest: WebRequest? = null, val webResponse: WebResponse? = null, val workItemUris: List<String>? = null)

A result produced by an analysis tool.

Link copied to clipboard

A value that categorizes results by evaluation state.

Link copied to clipboard
@Serializable
data class ResultProvenance(val conversionSources: List<PhysicalLocation>? = null, val firstDetectionRunGUID: String? = null, val firstDetectionTimeUTC: String? = null, val invocationIndex: Long? = null, val lastDetectionRunGUID: String? = null, val lastDetectionTimeUTC: String? = null, val properties: PropertyBag? = null)

Information about how and when the result was detected.

Link copied to clipboard
@Serializable(with = Role.Companion::class)
enum Role : Enum<Role>
Link copied to clipboard
@Serializable
data class Run(val addresses: List<Address>? = null, val artifacts: List<Artifact>? = null, val automationDetails: RunAutomationDetails? = null, val baselineGUID: String? = null, val columnKind: ColumnKind? = null, val conversion: Conversion? = null, val defaultEncoding: String? = null, val defaultSourceLanguage: String? = null, val externalPropertyFileReferences: ExternalPropertyFileReferences? = null, val graphs: List<Graph>? = null, val invocations: List<Invocation>? = null, val language: String? = null, val logicalLocations: List<LogicalLocation>? = null, val newlineSequences: List<String>? = null, val originalURIBaseIDS: Map<String, ArtifactLocation>? = null, val policies: List<ToolComponent>? = null, val properties: PropertyBag? = null, val redactionTokens: List<String>? = null, val results: List<Result>? = null, val runAggregates: List<RunAutomationDetails>? = null, val specialLocations: SpecialLocations? = null, val taxonomies: List<ToolComponent>? = null, val threadFlowLocations: List<ThreadFlowLocation>? = null, val tool: Tool, val translations: List<ToolComponent>? = null, val versionControlProvenance: List<VersionControlDetails>? = null, val webRequests: List<WebRequest>? = null, val webResponses: List<WebResponse>? = null)

Describes a single run of an analysis tool, and contains the reported output of that run.

Link copied to clipboard
@Serializable
data class RunAutomationDetails(val correlationGUID: String? = null, val description: Message? = null, val guid: String? = null, val id: String? = null, val properties: PropertyBag? = null)

Automation details that describe this run.

Link copied to clipboard
@Serializable
data class SarifSchema210(val schema: String? = null, val version: Version, val inlineExternalProperties: List<ExternalProperties>? = null, val properties: PropertyBag? = null, val runs: List<Run>)

Static Analysis Results Format (SARIF) Version 2.1.0 JSON Schema: a standard format for the output of static analysis tools.

Link copied to clipboard
Link copied to clipboard
@Serializable
data class SpecialLocations(val displayBase: ArtifactLocation? = null, val properties: PropertyBag? = null)

A specialLocations object that defines locations of special significance to SARIF consumers.

Link copied to clipboard
@Serializable
data class Stack(val frames: List<StackFrame>, val message: Message? = null, val properties: PropertyBag? = null)

The sequence of function calls leading to the exception.

Link copied to clipboard
@Serializable
data class StackFrame(val location: Location? = null, val module: String? = null, val parameters: List<String>? = null, val properties: PropertyBag? = null, val threadID: Long? = null)

A function call within a stack trace.

Link copied to clipboard
@Serializable(with = Status.Companion::class)
enum Status : Enum<Status>

A string that indicates the review status of the suppression.

Link copied to clipboard
@Serializable
data class Suppression(val guid: String? = null, val justification: String? = null, val kind: SuppressionKind, val location: Location? = null, val properties: PropertyBag? = null, val status: Status? = null)

A suppression that is relevant to a result.

Link copied to clipboard

A string that indicates where the suppression is persisted.

Link copied to clipboard
@Serializable
data class ThreadFlow(val id: String? = null, val immutableState: Map<String, MultiformatMessageString>? = null, val initialState: Map<String, MultiformatMessageString>? = null, val locations: List<ThreadFlowLocation>, val message: Message? = null, val properties: PropertyBag? = null)

Describes a sequence of code locations that specify a path through a single thread of execution such as an operating system or fiber.

Link copied to clipboard
@Serializable
data class ThreadFlowLocation(val executionOrder: Long? = null, val executionTimeUTC: String? = null, val importance: Importance? = null, val index: Long? = null, val kinds: List<String>? = null, val location: Location? = null, val module: String? = null, val nestingLevel: Long? = null, val properties: PropertyBag? = null, val stack: Stack? = null, val state: Map<String, MultiformatMessageString>? = null, val taxa: List<ReportingDescriptorReference>? = null, val webRequest: WebRequest? = null, val webResponse: WebResponse? = null)

A location visited by an analysis tool while simulating or monitoring the execution of a program.

Link copied to clipboard
@Serializable
data class Tool(val driver: ToolComponent, val extensions: List<ToolComponent>? = null, val properties: PropertyBag? = null)

A tool object that describes the converter.

Link copied to clipboard
@Serializable
data class ToolComponent(val associatedComponent: ToolComponentReference? = null, val contents: List<Content>? = null, val dottedQuadFileVersion: String? = null, val downloadURI: String? = null, val fullDescription: MultiformatMessageString? = null, val fullName: String? = null, val globalMessageStrings: Map<String, MultiformatMessageString>? = null, val guid: String? = null, val informationURI: String? = null, val isComprehensive: Boolean? = null, val language: String? = null, val localizedDataSemanticVersion: String? = null, val locations: List<ArtifactLocation>? = null, val minimumRequiredLocalizedDataSemanticVersion: String? = null, val name: String, val notifications: List<ReportingDescriptor>? = null, val organization: String? = null, val product: String? = null, val productSuite: String? = null, val properties: PropertyBag? = null, val releaseDateUTC: String? = null, val rules: List<ReportingDescriptor>? = null, val semanticVersion: String? = null, val shortDescription: MultiformatMessageString? = null, val supportedTaxonomies: List<ToolComponentReference>? = null, val taxa: List<ReportingDescriptor>? = null, val translationMetadata: TranslationMetadata? = null, val version: String? = null)

The analysis tool that was run.

Link copied to clipboard
@Serializable
data class ToolComponentReference(val guid: String? = null, val index: Long? = null, val name: String? = null, val properties: PropertyBag? = null)

A reference used to locate the toolComponent associated with the descriptor.

Link copied to clipboard
@Serializable
data class TranslationMetadata(val downloadURI: String? = null, val fullDescription: MultiformatMessageString? = null, val fullName: String? = null, val informationURI: String? = null, val name: String, val properties: PropertyBag? = null, val shortDescription: MultiformatMessageString? = null)

Translation metadata, required for a translation, not populated by other component types.

Link copied to clipboard
@Serializable(with = Version.Companion::class)
enum Version : Enum<Version>

The SARIF format version of this external properties object.

Link copied to clipboard
@Serializable
data class VersionControlDetails(val asOfTimeUTC: String? = null, val branch: String? = null, val mappedTo: ArtifactLocation? = null, val properties: PropertyBag? = null, val repositoryURI: String, val revisionID: String? = null, val revisionTag: String? = null)

Specifies the information necessary to retrieve a desired revision from a version control system.

Link copied to clipboard
@Serializable
data class WebRequest(val body: ArtifactContent? = null, val headers: Map<String, String>? = null, val index: Long? = null, val method: String? = null, val parameters: Map<String, String>? = null, val properties: PropertyBag? = null, val protocol: String? = null, val target: String? = null, val version: String? = null)

A web request associated with this thread flow location.

Link copied to clipboard
@Serializable
data class WebResponse(val body: ArtifactContent? = null, val headers: Map<String, String>? = null, val index: Long? = null, val noResponseReceived: Boolean? = null, val properties: PropertyBag? = null, val protocol: String? = null, val reasonPhrase: String? = null, val statusCode: Long? = null, val version: String? = null)

A web response associated with this thread flow location.