Skip to content

GetCodeFindingOutput

Source code in docs_src/capo_continuum/types/get_code_finding_output.py
class GetCodeFindingOutput(TypedDict, closed=True):
    type: "capo_continuum.types.finding_type.FindingType"
    """What kind of finding this is. Determines which of the type-specific members below are populated."""
    title: "capo_continuum.types.finding_title.FindingTitle"
    """The producer's title for the finding."""
    severity: "capo_continuum.types.finding_severity_id.FindingSeverityId"
    """The finding's severity."""
    summary: NotRequired["capo_continuum.types.finding_description.FindingDescription"]
    """A one-paragraph description."""
    detailed_description: NotRequired[
        "capo_continuum.types.finding_description.FindingDescription"
    ]
    """The full analysis."""
    category: NotRequired["capo_continuum.types.finding_category.FindingCategory"]
    """The producer's vulnerability category. Not a stable filter key across finding types -- see FindingCategory."""
    sub_category: NotRequired["capo_continuum.types.finding_category.FindingCategory"]
    """A more specific classification within `category`."""
    cwe_ids: NotRequired["capo_continuum.types.cwe_id_list.CweIdList"]
    """CWE identifiers classifying the finding."""
    owasp_category: NotRequired["capo_continuum.types.finding_category.FindingCategory"]
    """The OWASP Top 10 category, when the producer supplies one."""
    mitigation: NotRequired[
        "capo_continuum.types.finding_description.FindingDescription"
    ]
    """How to fix the finding."""
    file_path: NotRequired["capo_continuum.types.finding_file_path.FindingFilePath"]
    """The file the finding is about."""
    line_number: NotRequired["int"]
    """The 1-indexed line the finding is about. Bounds are enforced server-side rather than by a constraint trait: a numeric constraint generates a distinct newtype per enclosing structure, so the same concept would not share a type across the create input and the read output."""
    cve_id: NotRequired["capo_continuum.types.cve_id.CveId"]
    """The CVE this finding reports, for software-composition findings. Both code types can carry one: a customer document supplies it under vulnerabilities[].cve, and Continuum's scanner reports CVEs for dependency-manifest findings."""
    cvss_base_score: NotRequired["float"]
    """The CVSS base score accompanying `cveId`, when the producer supplies one, from 0.0 to 10.0. Not computed by Continuum. The range is enforced server-side, not by a @range trait -- the smithy-rs server SDK does not support range constraints on double shapes (smithy-rs#2007)."""
    affected_packages: NotRequired[
        "capo_continuum.types.affected_package_list.AffectedPackageList"
    ]
    """Packages implicated by the finding."""
    vulnerable_code: NotRequired[
        "capo_continuum.types.finding_code_snippet.FindingCodeSnippet"
    ]
    """The vulnerable code fragment."""
    relevant_inputs: NotRequired[
        "capo_continuum.types.finding_string_list.FindingStringList"
    ]
    """User-controlled inputs that reach the vulnerability."""
    steps_to_reproduce: NotRequired[
        "capo_continuum.types.finding_string_list.FindingStringList"
    ]
    """Steps to reproduce or exploit the finding."""
    validation: NotRequired["capo_continuum.types.finding_validation.FindingValidation"]
    """The validator's assessment. Absent when no validation ran."""
    end_line: NotRequired["int"]
    """The last line of the affected range, from the document's affected_code[].end_line."""
    mitre_techniques: NotRequired[
        "capo_continuum.types.finding_string_list.FindingStringList"
    ]
    """MITRE ATT&CK technique identifiers, from the document's finding_info.attacks[].technique.uid."""
    remediation_references: NotRequired[
        "capo_continuum.types.finding_string_list.FindingStringList"
    ]
    """Remediation references, from the document's vulnerabilities[].remediation.references."""
    ocsf_class: NotRequired["capo_continuum.types.finding_ocsf_class.FindingOcsfClass"]
    """The OCSF class the document declared. Determines whether `posture` is populated."""
    ocsf_schema_version: NotRequired[
        "capo_continuum.types.finding_category.FindingCategory"
    ]
    """The OCSF schema version the producer wrote against (metadata.version)."""
    product_name: NotRequired["capo_continuum.types.finding_category.FindingCategory"]
    """The producing product and vendor (metadata.product)."""
    product_vendor_name: NotRequired[
        "capo_continuum.types.finding_category.FindingCategory"
    ]
    product_version: NotRequired[
        "capo_continuum.types.finding_category.FindingCategory"
    ]
    source_status: NotRequired["capo_continuum.types.finding_category.FindingCategory"]
    """The producer's own status for the finding, and the enum value behind it. Distinct from `status`, which is Continuum's lifecycle state -- a producer may call a finding "New" while Continuum has it SUBMITTED."""
    source_status_id: NotRequired["int"]
    """The producer's numeric enum value for `sourceStatus`."""
    first_seen_at: NotRequired["datetime.datetime"]
    """When the producer first observed the finding (finding_info.first_seen_time). The producer's own clock, not Continuum's."""
    finding_types: NotRequired[
        "capo_continuum.types.finding_string_list.FindingStringList"
    ]
    """The producer's own classification of the finding (finding_info.types)."""
    vulnerabilities: NotRequired[
        "capo_continuum.types.finding_vulnerability_list.FindingVulnerabilityList"
    ]
    """Every vulnerability the document reported. A document may report several; the flat `cveId`/`cvssBaseScore`/`filePath`/`lineNumber` members above carry the first one's identity so a caller that only needs "what and where" does not have to walk this list."""
    resources: NotRequired[
        "capo_continuum.types.finding_resource_list.FindingResourceList"
    ]
    """Resources the document named (resources[])."""
    posture: NotRequired["capo_continuum.types.finding_posture.FindingPosture"]
    """The compliance posture, for an Application Security Posture Finding. Absent for a vulnerability finding."""
    finding_id: "capo_continuum.types.finding_id.FindingId"
    """The unique identifier of the finding."""
    finding_arn: "capo_continuum.types.finding_arn.FindingArn"
    """The ARN of the finding."""
    environment_id: "capo_continuum.types.environment_id.EnvironmentId"
    """The environment that owns the finding."""
    source: "capo_continuum.types.finding_source.FindingSource"
    """The system that produced the finding."""
    source_finding_id: "capo_continuum.types.source_finding_id.SourceFindingId"
    """The producer's own identifier for the finding."""
    reported_at: "datetime.datetime"
    """When the producer reported the finding -- its own clock, which is not Continuum's ingestion time. `createdAt` is when Continuum accepted it; these are genuinely different instants and a reader usually wants this one. For CreateCodeFinding, this is the submitted OCSF document's own top-level `time`. For findings Continuum's scanner produces, it is the finding's own creation time. Continuum does not validate it for plausibility: a producer's value is echoed as given, so a `timestamp` here asserts the unit and format, not that the instant is genuine."""
    status: "capo_continuum.types.finding_status.FindingStatus"
    """The current lifecycle status of the finding."""
    status_updated_at: "datetime.datetime"
    """The timestamp when the status last transitioned."""
    created_at: "datetime.datetime"
    """The timestamp when the finding was ingested."""
    scan_run_id: NotRequired["capo_continuum.types.scan_run_id.ScanRunId"]
    """The scan that produced the finding, when it came from one. For a finding Continuum's scanner produced, this is the Continuum scan run (see GetCodeScan). For a finding submitted with CreateCodeFinding, it is the OCSF document's `metadata.correlation_uid`, when that value is a valid ScanRunId. Absent when the finding did not come from a scan."""
    status_message: NotRequired[
        "capo_continuum.types.finding_status_message.FindingStatusMessage"
    ]
    """Human-readable context about the current status."""
    discard_reason: NotRequired[
        "capo_continuum.types.finding_discard_reason.FindingDiscardReason"
    ]
    """Why the finding was not escalated. Present only when status is DISCARDED."""
    discard_reasoning: NotRequired[
        "capo_continuum.types.finding_status_message.FindingStatusMessage"
    ]
    """Customer-facing explanation accompanying `discardReason`."""
    duplicate_of_issue_id: NotRequired["capo_continuum.types.issue_id.IssueId"]
    """The existing issue this finding duplicates. Present only for the DUPLICATE_OF_* discard reasons."""
    created_issue_id: NotRequired["capo_continuum.types.issue_id.IssueId"]
    """The issue Continuum created from this finding."""
    completed_at: NotRequired["datetime.datetime"]
    """When processing finished, whether by creating an issue or discarding. Absent while the finding is still in flight."""

affected_packages instance-attribute

affected_packages: NotRequired[AffectedPackageList]

Packages implicated by the finding.

category instance-attribute

category: NotRequired[FindingCategory]

The producer's vulnerability category. Not a stable filter key across finding types -- see FindingCategory.

completed_at instance-attribute

completed_at: NotRequired[datetime]

When processing finished, whether by creating an issue or discarding. Absent while the finding is still in flight.

created_at instance-attribute

created_at: datetime

The timestamp when the finding was ingested.

created_issue_id instance-attribute

created_issue_id: NotRequired[IssueId]

The issue Continuum created from this finding.

cve_id instance-attribute

cve_id: NotRequired[CveId]

The CVE this finding reports, for software-composition findings. Both code types can carry one: a customer document supplies it under vulnerabilities[].cve, and Continuum's scanner reports CVEs for dependency-manifest findings.

cvss_base_score instance-attribute

cvss_base_score: NotRequired[float]

The CVSS base score accompanying cveId, when the producer supplies one, from 0.0 to 10.0. Not computed by Continuum. The range is enforced server-side, not by a @range trait -- the smithy-rs server SDK does not support range constraints on double shapes (smithy-rs#2007).

cwe_ids instance-attribute

cwe_ids: NotRequired[CweIdList]

CWE identifiers classifying the finding.

detailed_description instance-attribute

detailed_description: NotRequired[FindingDescription]

The full analysis.

discard_reason instance-attribute

discard_reason: NotRequired[FindingDiscardReason]

Why the finding was not escalated. Present only when status is DISCARDED.

discard_reasoning instance-attribute

discard_reasoning: NotRequired[FindingStatusMessage]

Customer-facing explanation accompanying discardReason.

duplicate_of_issue_id instance-attribute

duplicate_of_issue_id: NotRequired[IssueId]

The existing issue this finding duplicates. Present only for the DUPLICATE_OF_* discard reasons.

end_line instance-attribute

end_line: NotRequired[int]

The last line of the affected range, from the document's affected_code[].end_line.

environment_id instance-attribute

environment_id: EnvironmentId

The environment that owns the finding.

file_path instance-attribute

file_path: NotRequired[FindingFilePath]

The file the finding is about.

finding_arn instance-attribute

finding_arn: FindingArn

The ARN of the finding.

finding_id instance-attribute

finding_id: FindingId

The unique identifier of the finding.

finding_types instance-attribute

finding_types: NotRequired[FindingStringList]

The producer's own classification of the finding (finding_info.types).

first_seen_at instance-attribute

first_seen_at: NotRequired[datetime]

When the producer first observed the finding (finding_info.first_seen_time). The producer's own clock, not Continuum's.

line_number instance-attribute

line_number: NotRequired[int]

The 1-indexed line the finding is about. Bounds are enforced server-side rather than by a constraint trait: a numeric constraint generates a distinct newtype per enclosing structure, so the same concept would not share a type across the create input and the read output.

mitigation instance-attribute

mitigation: NotRequired[FindingDescription]

How to fix the finding.

mitre_techniques instance-attribute

mitre_techniques: NotRequired[FindingStringList]

MITRE ATT&CK technique identifiers, from the document's finding_info.attacks[].technique.uid.

ocsf_class instance-attribute

ocsf_class: NotRequired[FindingOcsfClass]

The OCSF class the document declared. Determines whether posture is populated.

ocsf_schema_version instance-attribute

ocsf_schema_version: NotRequired[FindingCategory]

The OCSF schema version the producer wrote against (metadata.version).

owasp_category instance-attribute

owasp_category: NotRequired[FindingCategory]

The OWASP Top 10 category, when the producer supplies one.

posture instance-attribute

posture: NotRequired[FindingPosture]

The compliance posture, for an Application Security Posture Finding. Absent for a vulnerability finding.

product_name instance-attribute

product_name: NotRequired[FindingCategory]

The producing product and vendor (metadata.product).

product_vendor_name instance-attribute

product_vendor_name: NotRequired[FindingCategory]

product_version instance-attribute

product_version: NotRequired[FindingCategory]

relevant_inputs instance-attribute

relevant_inputs: NotRequired[FindingStringList]

User-controlled inputs that reach the vulnerability.

remediation_references instance-attribute

remediation_references: NotRequired[FindingStringList]

Remediation references, from the document's vulnerabilities[].remediation.references.

reported_at instance-attribute

reported_at: datetime

When the producer reported the finding -- its own clock, which is not Continuum's ingestion time. createdAt is when Continuum accepted it; these are genuinely different instants and a reader usually wants this one. For CreateCodeFinding, this is the submitted OCSF document's own top-level time. For findings Continuum's scanner produces, it is the finding's own creation time. Continuum does not validate it for plausibility: a producer's value is echoed as given, so a timestamp here asserts the unit and format, not that the instant is genuine.

resources instance-attribute

resources: NotRequired[FindingResourceList]

Resources the document named (resources[]).

scan_run_id instance-attribute

scan_run_id: NotRequired[ScanRunId]

The scan that produced the finding, when it came from one. For a finding Continuum's scanner produced, this is the Continuum scan run (see GetCodeScan). For a finding submitted with CreateCodeFinding, it is the OCSF document's metadata.correlation_uid, when that value is a valid ScanRunId. Absent when the finding did not come from a scan.

severity instance-attribute

The finding's severity.

source instance-attribute

source: FindingSource

The system that produced the finding.

source_finding_id instance-attribute

source_finding_id: SourceFindingId

The producer's own identifier for the finding.

source_status instance-attribute

source_status: NotRequired[FindingCategory]

The producer's own status for the finding, and the enum value behind it. Distinct from status, which is Continuum's lifecycle state -- a producer may call a finding "New" while Continuum has it SUBMITTED.

source_status_id instance-attribute

source_status_id: NotRequired[int]

The producer's numeric enum value for sourceStatus.

status instance-attribute

status: FindingStatus

The current lifecycle status of the finding.

status_message instance-attribute

status_message: NotRequired[FindingStatusMessage]

Human-readable context about the current status.

status_updated_at instance-attribute

status_updated_at: datetime

The timestamp when the status last transitioned.

steps_to_reproduce instance-attribute

steps_to_reproduce: NotRequired[FindingStringList]

Steps to reproduce or exploit the finding.

sub_category instance-attribute

sub_category: NotRequired[FindingCategory]

A more specific classification within category.

summary instance-attribute

summary: NotRequired[FindingDescription]

A one-paragraph description.

title instance-attribute

title: FindingTitle

The producer's title for the finding.

type instance-attribute

What kind of finding this is. Determines which of the type-specific members below are populated.

validation instance-attribute

validation: NotRequired[FindingValidation]

The validator's assessment. Absent when no validation ran.

vulnerabilities instance-attribute

vulnerabilities: NotRequired[FindingVulnerabilityList]

Every vulnerability the document reported. A document may report several; the flat cveId/cvssBaseScore/filePath/lineNumber members above carry the first one's identity so a caller that only needs "what and where" does not have to walk this list.

vulnerable_code instance-attribute

vulnerable_code: NotRequired[FindingCodeSnippet]

The vulnerable code fragment.