Semgrep Schema#

        graph LR
    SemgrepDeployment -- RESOURCE --> SemgrepFindingAssistant
    SemgrepDeployment -- RESOURCE --> SemgrepGoLibrary
    SemgrepDeployment -- RESOURCE --> SemgrepNpmLibrary
    SemgrepDeployment -- RESOURCE --> SemgrepSASTFinding
    SemgrepDeployment -- RESOURCE --> SemgrepSCAFinding
    SemgrepDeployment -- RESOURCE --> SemgrepSCALocation
    SemgrepDeployment -- RESOURCE --> SemgrepSecretsFinding
    SemgrepSASTFinding -- HAS_ASSISTANT --> SemgrepFindingAssistant
    SemgrepSCAFinding -- HAS_ASSISTANT --> SemgrepFindingAssistant
    SemgrepSCAFinding -- USAGE_AT --> SemgrepSCALocation
    

SemgrepDeployment#

A Semgrep Cloud deployment containing an organization’s security resources.

Properties#

Field

Index

Description

id

Yes

Unique integer identifier for the deployment.

firstseen

Timestamp when a sync job first created this node.

lastupdated

Yes

Timestamp of the last sync that observed this node.

name

Yes

Name of the security organization connected to the deployment.

slug

Yes

Lowercase deployment identifier used to query the Semgrep API.

Relationships#

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepFindingAssistant): Connects a Semgrep deployment to Assistant data generated for its findings.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepGoLibrary): Connects a Semgrep deployment to one of its dependencies.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepNpmLibrary): Connects a Semgrep deployment to one of its dependencies.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepSASTFinding): Connects a Semgrep deployment to one of its SAST findings.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepSCAFinding): Connects a Semgrep deployment to one of its SCA findings.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepSCALocation): Connects a Semgrep deployment to one of its SCA usage locations.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepSecretsFinding): Connects a Semgrep deployment to one of its secret findings.

SemgrepFindingAssistant#

AI-generated triage, remediation, and explanation data for a finding.

Properties#

Field

Index

Description

id

Yes

Identifier shared with the parent finding.

firstseen

Timestamp when a sync job first created this node.

lastupdated

Yes

Timestamp of the last sync that observed this node.

autofix_fix_code

AI-generated source code fix for the finding.

autotriage_reason

Reasoning supporting the AI triage verdict.

autotriage_verdict

AI recommendation to fix or ignore the finding.

component_risk

AI-assessed risk level of the affected component.

component_tag

AI-generated tag describing the matched code’s purpose.

guidance_instructions

Step-by-step remediation instructions.

guidance_summary

Short summary explaining how to remediate the finding.

rule_explanation

Detailed explanation of the rule and its security impact.

rule_explanation_summary

Concise explanation of why the rule flagged the code.

Relationships#

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepFindingAssistant): Connects a Semgrep deployment to Assistant data generated for its findings.

  • (:SemgrepSASTFinding)-[:HAS_ASSISTANT]->(:SemgrepFindingAssistant): Links a cloud SAST finding to its Semgrep Assistant analysis.

  • (:SemgrepSCAFinding)-[:HAS_ASSISTANT]->(:SemgrepFindingAssistant): Links an SCA finding to its Semgrep Assistant analysis.

SemgrepGoLibrary#

A Go library dependency reported by Semgrep.

Additional Labels: This node also uses Dependency, GoLibrary, SemgrepDependency.

Additional Label Definitions:

  • Dependency: A node participating in the shared Dependency graph interface.

  • GoLibrary: Compatibility label for the deprecated GoLibrary semgrep node label. Use SemgrepGoLibrary instead. Scheduled for removal in v1.0.0.

  • SemgrepDependency: A semgrep node participating in the shared SemgrepDependency graph interface.

Ontology Projection: SemgrepGoLibrary contributes data to canonical PackageVersion nodes.

Properties#

Field

Index

Description

id

Yes

Unique identifier formed from the dependency name and version.

firstseen

Timestamp when a sync job first created this node.

lastupdated

Yes

Timestamp of the last sync that observed this node.

ecosystem

Package ecosystem reported by Semgrep.

name

Dependency name.

normalized_id

Yes

Cross-tool package identifier used to create a canonical PackageVersion node.

type

Canonical package type derived from the ecosystem.

version

Dependency version.

Relationships#

  • (:GitHubRepository)-[:REQUIRES]->(:SemgrepGoLibrary): Links a GitHub repository to a dependency it requires.

    • Properties:

      Field

      Description

      specifier

      Version specifier required by the repository.

      transitivity

      Whether the dependency is direct or transitive.

      url

      URL of the manifest location declaring the dependency.

  • (:GitLabProject)-[:REQUIRES]->(:SemgrepGoLibrary): Links a GitLab project to a dependency it requires.

    • Properties:

      Field

      Description

      specifier

      Version specifier required by the repository.

      transitivity

      Whether the dependency is direct or transitive.

      url

      URL of the manifest location declaring the dependency.

  • (:PackageVersion)-[:DETECTED_AS]->(:SemgrepDependency): A canonical package version was detected as a Semgrep dependency.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepGoLibrary): Connects a Semgrep deployment to one of its dependencies.

SemgrepNpmLibrary#

An npm library dependency reported by Semgrep.

Additional Labels: This node also uses Dependency, NpmLibrary, SemgrepDependency.

Additional Label Definitions:

  • Dependency: A node participating in the shared Dependency graph interface.

  • NpmLibrary: Compatibility label for the deprecated NpmLibrary semgrep node label. Use SemgrepNpmLibrary instead. Scheduled for removal in v1.0.0.

  • SemgrepDependency: A semgrep node participating in the shared SemgrepDependency graph interface.

Ontology Projection: SemgrepNpmLibrary contributes data to canonical PackageVersion nodes.

Properties#

Field

Index

Description

id

Yes

Unique identifier formed from the dependency name and version.

firstseen

Timestamp when a sync job first created this node.

lastupdated

Yes

Timestamp of the last sync that observed this node.

ecosystem

Package ecosystem reported by Semgrep.

name

Dependency name.

normalized_id

Yes

Cross-tool package identifier used to create a canonical PackageVersion node.

type

Canonical package type derived from the ecosystem.

version

Dependency version.

Relationships#

  • (:GitHubRepository)-[:REQUIRES]->(:SemgrepNpmLibrary): Links a GitHub repository to a dependency it requires.

    • Properties:

      Field

      Description

      specifier

      Version specifier required by the repository.

      transitivity

      Whether the dependency is direct or transitive.

      url

      URL of the manifest location declaring the dependency.

  • (:GitLabProject)-[:REQUIRES]->(:SemgrepNpmLibrary): Links a GitLab project to a dependency it requires.

    • Properties:

      Field

      Description

      specifier

      Version specifier required by the repository.

      transitivity

      Whether the dependency is direct or transitive.

      url

      URL of the manifest location declaring the dependency.

  • (:PackageVersion)-[:DETECTED_AS]->(:SemgrepDependency): A canonical package version was detected as a Semgrep dependency.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepNpmLibrary): Connects a Semgrep deployment to one of its dependencies.

SemgrepSASTFinding#

A code-level security issue reported by Semgrep Cloud or Semgrep OSS.

Ontology Mapping: This node uses the ontology label SecurityIssue.

Properties#

Ontology-generated fields are shown in italics.

Field

Index

Description

id

Yes

Unique finding identifier from Semgrep Cloud or synthesized for an OSS finding.

firstseen

Timestamp when a sync job first created this node.

lastupdated

Yes

Timestamp of the last sync that observed this node.

branch

Repository branch where the finding was discovered.

categories

Categories associated with the finding.

confidence

Confidence assigned to the finding.

cwe_names

CWE identifiers associated with the rule.

description

Description of the vulnerability from the rule message.

end_col

Column where the finding ends.

end_line

Line where the finding ends.

file_path

Yes

Path of the file where the finding was discovered.

fix_status

Cloud finding fix status based on triage.

line_of_code_url

URL of the affected line of code. Available for cloud findings.

opened_at

UTC date and time when the cloud finding was opened.

owasp_names

OWASP category names associated with the rule.

repository

Yes

Repository path where the finding was discovered.

repository_url

Full URL of the repository where the finding was discovered.

risk_severity

Property generated by analysis job: Semgrep SAST findings risk analysis based on severity and repository archive status..

rule_id

Yes

Identifier of the rule that triggered the finding.

severity

Severity assigned to the finding.

start_col

Column where the finding starts.

start_line

Line where the finding starts.

state

Current cloud finding state.

title

Yes

Short title for the finding.

triage_status

Cloud finding triage status.

_ont_first_seen

Yes

Normalized field sourced from opened_at.

_ont_severity

Yes

Normalized field sourced from severity.

_ont_source

Module that populated this node’s ontology fields.

_ont_status

Yes

Normalized field sourced from state.

_ont_title

Yes

Normalized field sourced from title.

Relationships#

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepSASTFinding): Connects a Semgrep deployment to one of its SAST findings.

  • (:SemgrepSASTFinding)-[:FOUND_IN]->(:GitHubRepository): Links a SAST finding to the GitHub repository containing the affected code.

  • (:SemgrepSASTFinding)-[:FOUND_IN]->(:GitLabProject): Links a SAST finding to the GitLab project containing the affected code.

  • (:SemgrepSASTFinding)-[:HAS_ASSISTANT]->(:SemgrepFindingAssistant): Links a cloud SAST finding to its Semgrep Assistant analysis.

SemgrepSCAFinding#

A dependency vulnerability discovered by Semgrep Supply Chain.

Conditional Labels:

  • CVE (ontology label) when has_cve equals true. A cross-provider CVE resource in Cartography’s ontology.

  • SecurityIssue (ontology label) when has_cve equals false. A cross-provider SecurityIssue resource in Cartography’s ontology.

Properties#

Ontology-generated fields are shown in italics.

Field

Index

Description

id

Yes

Unique identifier for the finding from the Semgrep API.

firstseen

Timestamp when a sync job first created this node.

lastupdated

Yes

Timestamp of the last sync that observed this node.

branch

Repository branch where the finding was discovered.

confidence

Confidence assigned by Semgrep.

cve_id

Yes

CVE identifier associated with the vulnerability.

dependency

Affected dependency name and version.

dependency_file

Yes

Path of the dependency manifest containing the vulnerable package.

dependency_file_url

Yes

URL of the dependency manifest containing the vulnerable package.

dependency_fix

Closest dependency version that fixes the vulnerability.

description

Description of the dependency vulnerability.

fix_status

Fix status based on finding triage.

ghsa_id

Yes

GHSA advisory identifier when the finding is not CVE-backed.

has_cve

Whether cve_id contains a valid CVE identifier.

package_manager

Package ecosystem of the affected dependency.

reachability

Whether the vulnerable dependency is reachable.

reachability_check

Semgrep’s determination of whether reachability was confirmed.

reachability_condition

Condition under which the vulnerable code is reachable.

reachability_risk

Property generated by analysis job: Semgrep SCA findings reachability risk analysis based on likelihood and impact. Impact = Severity, Likelihood = reachability + reachability_check.

ref_urls

Reference URLs associated with the finding.

repository

Yes

Repository path where the finding was discovered.

repository_url

Full URL of the repository where the finding was discovered.

rule_id

Yes

Identifier of the rule that triggered the finding.

scan_time

UTC date and time when the finding was discovered.

severity

Severity assigned by Semgrep.

summary

Yes

Short title summarizing the finding.

transitivity

Whether the affected dependency is direct or transitive.

triage_status

Current triage status of the finding.

_ont_base_severity

Yes

Normalized field sourced from severity.

_ont_cve_id

Yes

Normalized field sourced from cve_id.

_ont_description

Normalized field sourced from description.

_ont_first_seen

Yes

Normalized field sourced from scan_time.

_ont_references

Normalized field sourced from ref_urls.

_ont_severity

Yes

Normalized field sourced from severity.

_ont_source

Module that populated this node’s ontology fields.

_ont_status

Yes

Normalized field sourced from triage_status.

_ont_title

Yes

Normalized field sourced from summary.

Relationships#

  • (:CVE)-[:LINKED_TO]->(:SemgrepSCAFinding): Links a CVE to the Semgrep SCA finding that identified it.

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepSCAFinding): Connects a Semgrep deployment to one of its SCA findings.

  • (:SemgrepSCAFinding)-[:AFFECTS]->(:Dependency): Links an SCA finding to the affected dependency observation.

  • (:SemgrepSCAFinding)-[:AFFECTS]->(:PackageVersion): generated by analysis job Ontology - SemgrepSCAFinding AFFECTS PackageVersion linking.

  • (:SemgrepSCAFinding)-[:FOUND_IN]->(:GitHubRepository): Links an SCA finding to the GitHub repository containing the dependency.

  • (:SemgrepSCAFinding)-[:FOUND_IN]->(:GitLabProject): Links an SCA finding to the GitLab project containing the dependency.

  • (:SemgrepSCAFinding)-[:HAS_ASSISTANT]->(:SemgrepFindingAssistant): Links an SCA finding to its Semgrep Assistant analysis.

  • (:SemgrepSCAFinding)-[:USAGE_AT]->(:SemgrepSCALocation): Links an SCA finding to a source location where the dependency is used.

SemgrepSCALocation#

A source location where vulnerable dependency code is used.

Properties#

Field

Index

Description

id

Yes

Unique identifier for the vulnerable dependency usage location.

firstseen

Timestamp when a sync job first created this node.

lastupdated

Yes

Timestamp of the last sync that observed this node.

end_col

Column where the usage ends.

end_line

Line where the usage ends.

path

Yes

Path of the file containing the vulnerable dependency usage.

start_col

Column where the usage starts.

start_line

Line where the usage starts.

url

URL of the file containing the usage.

Relationships#

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepSCALocation): Connects a Semgrep deployment to one of its SCA usage locations.

  • (:SemgrepSCAFinding)-[:USAGE_AT]->(:SemgrepSCALocation): Links an SCA finding to a source location where the dependency is used.

SemgrepSecretsFinding#

A hardcoded secret discovered by Semgrep in source code.

Ontology Mapping: This node uses the ontology label SecurityIssue.

Properties#

Ontology-generated fields are shown in italics.

Field

Index

Description

id

Yes

Unique identifier for the finding from the Semgrep API.

firstseen

Timestamp when a sync job first created this node.

lastupdated

Yes

Timestamp of the last sync that observed this node.

confidence

Confidence assigned to the finding.

created_at

UTC date and time when the finding was created.

finding_path

Yes

File path and line number where the secret was discovered.

finding_path_url

URL of the exact location where the secret was discovered.

mode

Semgrep mode under which the secret was detected.

ref

Branch or ref where the secret was discovered.

ref_url

URL of the branch or ref containing the secret.

repository_name

Yes

Repository path where the secret was discovered.

repository_scm_type

Source control system hosting the repository.

repository_url

Full URL of the repository where the secret was discovered.

repository_visibility

Visibility of the repository.

rule_hash_id

Yes

Hash identifier of the rule that triggered the finding.

severity

Yes

Severity assigned to the finding.

status

Yes

Current status of the finding.

type

Yes

Type of secret detected.

updated_at

UTC date and time when the finding was last updated.

validation_state

Yes

Result of validating whether the secret is active.

_ont_first_seen

Yes

Normalized field sourced from created_at.

_ont_severity

Yes

Normalized field sourced from severity.

_ont_source

Module that populated this node’s ontology fields.

_ont_status

Yes

Normalized field sourced from status.

_ont_title

Yes

Normalized field sourced from type.

_ont_type

Yes

Normalized field sourced from type.

Relationships#

  • (:SemgrepDeployment)-[:RESOURCE]->(:SemgrepSecretsFinding): Connects a Semgrep deployment to one of its secret findings.

  • (:SemgrepSecretsFinding)-[:FOUND_IN]->(:GitHubRepository): Links a secret finding to the GitHub repository containing the secret.

  • (:SemgrepSecretsFinding)-[:FOUND_IN]->(:GitLabProject): Links a secret finding to the GitLab project containing the secret.