schema

Github Schema

graph LR
    GitHubCodeOwnerRule -- CODEOWNER --> GitHubTeam
    GitHubCodeOwnerRule -- CODEOWNER --> GitHubUser
    GitHubContainerImage -- BUILT_FROM --> GitHubContainerImage
    GitHubContainerImage -- CONTAINS_IMAGE --> GitHubContainerImage
    GitHubContainerImage -- HAS_LAYER --> GitHubContainerImageLayer
    GitHubContainerImage -- HEAD --> GitHubContainerImageLayer
    GitHubContainerImage -- TAIL --> GitHubContainerImageLayer
    GitHubContainerImageAttestation -- ATTESTS --> GitHubContainerImage
    GitHubContainerImageLayer -- NEXT --> GitHubContainerImageLayer
    GitHubContainerImageTag -- IMAGE --> GitHubContainerImage
    GitHubDependabotAlert -- ASSIGNED_TO --> GitHubUser
    GitHubDependabotAlert -- DISMISSED_BY --> GitHubUser
    GitHubDependabotAlert -- FOUND_IN --> GitHubRepository
    GitHubDependencyGraphManifest -- HAS_DEP --> GitHubDependency
    GitHubDependencyGraphManifest -- MATCHES_CODEOWNER_RULE --> GitHubCodeOwnerRule
    GitHubEnvironment -- HAS_SECRET --> GitHubActionsSecret
    GitHubEnvironment -- HAS_VARIABLE --> GitHubActionsVariable
    GitHubOrganization -- RESOURCE --> GitHubAction
    GitHubOrganization -- RESOURCE --> GitHubActionsSecret
    GitHubOrganization -- RESOURCE --> GitHubActionsVariable
    GitHubOrganization -- RESOURCE --> GitHubBranch
    GitHubOrganization -- RESOURCE --> GitHubBranchProtectionRule
    GitHubOrganization -- RESOURCE --> GitHubCodeOwnerRule
    GitHubOrganization -- RESOURCE --> GitHubContainerImage
    GitHubOrganization -- RESOURCE --> GitHubContainerImageAttestation
    GitHubOrganization -- RESOURCE --> GitHubContainerImageLayer
    GitHubOrganization -- RESOURCE --> GitHubContainerImageTag
    GitHubOrganization -- RESOURCE --> GitHubDependabotAlert
    GitHubOrganization -- RESOURCE --> GitHubDependencyGraphManifest
    GitHubOrganization -- RESOURCE --> GitHubEnvironment
    GitHubOrganization -- RESOURCE --> GitHubPackage
    GitHubOrganization -- RESOURCE --> GitHubPersonalAccessToken
    GitHubOrganization -- RESOURCE --> GitHubRuleset
    GitHubOrganization -- RESOURCE --> GitHubRulesetRule
    GitHubOrganization -- RESOURCE --> GitHubTeam
    GitHubOrganization -- RESOURCE --> GitHubWorkflow
    GitHubPackage -- HAS_IMAGE --> GitHubContainerImage
    GitHubPackage -- REPO_IMAGE --> GitHubContainerImageTag
    GitHubPersonalAccessToken -- CAN_ACCESS --> GitHubRepository
    GitHubPersonalAccessToken -- OWNED_BY --> GitHubUser
    GitHubRepository -- BRANCH --> GitHubBranch
    GitHubRepository -- HAS_CODEOWNER_RULE --> GitHubCodeOwnerRule
    GitHubRepository -- HAS_ENVIRONMENT --> GitHubEnvironment
    GitHubRepository -- HAS_MANIFEST --> GitHubDependencyGraphManifest
    GitHubRepository -- HAS_PACKAGE --> GitHubPackage
    GitHubRepository -- HAS_RULE --> GitHubBranchProtectionRule
    GitHubRepository -- HAS_RULESET --> GitHubRuleset
    GitHubRepository -- HAS_SECRET --> GitHubActionsSecret
    GitHubRepository -- HAS_VARIABLE --> GitHubActionsVariable
    GitHubRepository -- HAS_WORKFLOW --> GitHubWorkflow
    GitHubRepository -- LANGUAGE --> ProgrammingLanguage
    GitHubRepository -- OWNER --> GitHubOrganization
    GitHubRepository -- OWNER --> GitHubUser
    GitHubRepository -- REQUIRES --> GitHubDependency
    GitHubRepository -- REQUIRES --> PythonLibrary
    GitHubRuleset -- CONTAINS_RULE --> GitHubRulesetRule
    GitHubTeam -- ADMIN --> GitHubRepository
    GitHubTeam -- MAINTAIN --> GitHubRepository
    GitHubTeam -- MEMBER_OF --> GitHubTeam
    GitHubTeam -- MEMBER_OF_TEAM --> GitHubTeam
    GitHubTeam -- READ --> GitHubRepository
    GitHubTeam -- TRIAGE --> GitHubRepository
    GitHubTeam -- WRITE --> GitHubRepository
    GitHubUser -- ADMIN_OF --> GitHubOrganization
    GitHubUser -- COMMITTED_TO --> GitHubRepository
    GitHubUser -- DIRECT_COLLAB_ADMIN --> GitHubRepository
    GitHubUser -- DIRECT_COLLAB_MAINTAIN --> GitHubRepository
    GitHubUser -- DIRECT_COLLAB_READ --> GitHubRepository
    GitHubUser -- DIRECT_COLLAB_TRIAGE --> GitHubRepository
    GitHubUser -- DIRECT_COLLAB_WRITE --> GitHubRepository
    GitHubUser -- MAINTAINER --> GitHubTeam
    GitHubUser -- MEMBER --> GitHubTeam
    GitHubUser -- MEMBER_OF --> GitHubOrganization
    GitHubUser -- MEMBER_OF --> GitHubTeam
    GitHubUser -- OUTSIDE_COLLAB_ADMIN --> GitHubRepository
    GitHubUser -- OUTSIDE_COLLAB_MAINTAIN --> GitHubRepository
    GitHubUser -- OUTSIDE_COLLAB_READ --> GitHubRepository
    GitHubUser -- OUTSIDE_COLLAB_TRIAGE --> GitHubRepository
    GitHubUser -- OUTSIDE_COLLAB_WRITE --> GitHubRepository
    GitHubUser -- OWNS --> GitHubPersonalAccessToken
    GitHubUser -- UNAFFILIATED --> GitHubOrganization
    GitHubWorkflow -- REFERENCES_SECRET --> GitHubActionsSecret
    GitHubWorkflow -- USES_ACTION --> GitHubAction

GitHubAction

Schema for GitHub Actions used in workflows.

Uses GitHubOrganization as the sub-resource for cleanup scoping. The relationship to GitHubWorkflow is in other_relationships.

Properties

Field Index Description
id Yes Organization-scoped identifier derived from the raw uses reference.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
full_name Action repository name in owner/name form.
is_local Yes Whether the workflow references a repository-local action.
is_pinned Yes Whether the action is pinned to a full commit SHA.
name Yes Action name or local action path.
owner Yes Owner of the referenced action repository, when applicable.
version Tag, branch, or commit reference used by the workflow.

Relationships

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubAction): Sub-resource relationship from action to organization.

This uses org as the sub-resource so that cleanup is scoped to the organization.

  • (:GitHubWorkflow)-[:USES_ACTION]->(:GitHubAction): Relationship from action to the workflow that uses it.

GitHubActionsSecret

A GitHub Actions secret at organization, repository, or environment scope.

GitHub exposes metadata but never the secret value.

Ontology Mapping: This node uses the ontology label Secret.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Scope-qualified GitHub Actions secret identifier.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the secret metadata was created.
level Secret scope: organization, repository, or environment.
name Yes Secret name.
updated_at Timestamp when the secret metadata was last updated.
visibility Organization secret visibility: all, private, or selected.
_ont_created_at Yes Normalized field sourced from created_at.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.
_ont_updated_at Yes Normalized field sourced from updated_at.

Relationships

  • (:GitHubEnvironment)-[:HAS_SECRET]->(:GitHubActionsSecret): Relationship from environment-level secret to its environment.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubActionsSecret): Scopes a GitHub resource to its organization.

  • (:GitHubRepository)-[:HAS_SECRET]->(:GitHubActionsSecret): Links a GitHub repository to an Actions secret.

  • (:GitHubWorkflow)-[:REFERENCES_SECRET]->(:GitHubActionsSecret): Links a GitHub workflow to the secrets it references.

GitHubActionsVariable

A plaintext GitHub Actions variable at organization, repository, or environment scope.

Properties

Field Index Description
id Yes Scope-qualified GitHub Actions variable identifier.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the variable was created.
level Variable scope: organization, repository, or environment.
name Yes Variable name.
updated_at Timestamp when the variable was last updated.
value Plaintext variable value returned by GitHub.
visibility Organization variable visibility: all, private, or selected.

Relationships

  • (:GitHubEnvironment)-[:HAS_VARIABLE]->(:GitHubActionsVariable): Relationship from environment-level variable to its environment.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubActionsVariable): Scopes a GitHub resource to its organization.

  • (:GitHubRepository)-[:HAS_VARIABLE]->(:GitHubActionsVariable): Links a GitHub repository to an Actions variable.

GitHubBranch

A branch in a GitHub repository.

Properties

Field Index Description
id Yes Repository-qualified GitHub branch identifier.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
name Branch name.

Relationships

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubBranch): Scopes a GitHub resource to its organization.

  • (:GitHubRepository)-[:BRANCH]->(:GitHubBranch): Links a GitHub repository to one of its branches.

GitHubBranchProtectionRule

A branch protection rule configured for a GitHub repository.

Properties

Field Index Description
id Yes GitHub branch protection rule ID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
allows_deletions Whether matching branches can be deleted.
allows_force_pushes Whether matching branches allow force pushes.
dismisses_stale_reviews Whether new commits dismiss stale pull request reviews.
is_admin_enforced Whether repository administrators must follow the rule.
pattern Branch name pattern protected by the rule.
required_approving_review_count Number of approving reviews required.
requires_approving_reviews Whether pull requests require approving reviews.
requires_code_owner_reviews Whether pull requests require a code owner review.
requires_commit_signatures Whether matching branches require signed commits.
requires_linear_history Whether matching branches require linear history.
requires_status_checks Whether required status checks must pass.
requires_strict_status_checks Whether branches must be current before status checks pass.
restricts_pushes Whether pushes are restricted to selected actors.
restricts_review_dismissals Whether review dismissal is restricted to selected actors.

Relationships

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubBranchProtectionRule): Sub-resource relationship: (GitHubOrganization)-[:RESOURCE]->(GitHubBranchProtectionRule). Branch protection rules are scoped to the organization for cleanup purposes so that a single GraphJob run cleans up rules from every repo in the org.

  • (:GitHubRepository)-[:HAS_RULE]->(:GitHubBranchProtectionRule): Relationship: (GitHubRepository)-[:HAS_RULE]->(GitHubBranchProtectionRule) A repository can have multiple protection rules (for different branch patterns).

GitHubCodeOwnerRule

A supported rule parsed from the effective CODEOWNERS file on a repository default branch.

Properties

Field Index Description
id Yes Stable identifier derived from repository, source path, line, pattern, and owners.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
default_branch Default branch used to locate CODEOWNERS.
line_number Line number in the CODEOWNERS file.
owner_emails Email addresses parsed from owner tokens.
owner_logins GitHub user logins parsed from @user owners.
owner_team_slugs GitHub team slugs parsed from @organization/team owners.
owners Raw owner tokens parsed from the CODEOWNERS rule.
pattern Path pattern parsed from the CODEOWNERS rule.
repo_name Name of the containing repository.
repo_url Yes URL of the containing repository.
source_path Path of the effective CODEOWNERS file.
unresolved_owners Owner tokens that could not be classified as users, teams, or emails.

Relationships

  • (:GitHubCodeOwnerRule)-[:CODEOWNER]->(:GitHubTeam): Links a CODEOWNERS rule to a resolved GitHub team.

  • (:GitHubCodeOwnerRule)-[:CODEOWNER]->(:GitHubUser): Links a CODEOWNERS rule to a resolved GitHub user.

  • (:GitHubDependencyGraphManifest)-[:MATCHES_CODEOWNER_RULE]->(:GitHubCodeOwnerRule): Links a dependency manifest path to its effective CODEOWNERS rule.

    • Properties:

      Field Description
      match_pattern CODEOWNERS pattern that matched the path.
      matched_path Repository-relative path matched by the CODEOWNERS rule.
  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubCodeOwnerRule): Scopes a GitHub resource to its organization.

  • (:GitHubRepository)-[:HAS_CODEOWNER_RULE]->(:GitHubCodeOwnerRule): Defines the HAS_CODEOWNER_RULE relationship between GitHub resources.

GitHubContainerImage

This node label is loaded by more than one sync path:

  • A digest-addressed container image or manifest list stored in GitHub Container Registry.
  • Build provenance attached to an image already present in the graph.

Conditional Labels:

  • Image (ontology label) when type equals image. A concrete single-platform container image.
  • ImageManifestList (ontology label) when type equals manifest_list. A cross-provider ImageManifestList resource in Cartography's ontology.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Container image digest used as the stable identifier.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
architecture CPU architecture for a single-platform image.
child_image_digests Platform image digests referenced by a manifest list.
digest Yes Container image manifest digest.
head_layer_diff_id Uncompressed digest of the base layer.
layer_diff_ids Ordered uncompressed layer digests for the image.
media_type OCI or Docker manifest media type.
os Operating system for a single-platform image.
parent_image_digest Parent image digest resolved from provenance or image history.
parent_image_uri Parent image URI derived from provenance or image history.
schema_version Container manifest schema version.
source_file Source definition file extracted from provenance.
source_revision Source commit revision extracted from provenance.
source_uri Yes Normalized source repository URI extracted from provenance.
tail_layer_diff_id Uncompressed digest of the topmost layer.
type Yes Image kind: image or manifest_list.
uri Yes Digest-qualified pullable image URI.
variant Architecture variant for a single-platform image.
_ont_architecture Yes Normalized field sourced from architecture.
_ont_digest Yes Normalized field sourced from digest.
_ont_os Yes Normalized field sourced from os.
_ont_source Module that populated this node's ontology fields.
_ont_uri Yes Normalized field sourced from uri.
_ont_variant Yes Normalized field sourced from variant.

Relationships

  • (:AWSECSContainer)-[:HAS_IMAGE]->(:GitHubContainerImage): Matches containers to GitHub Container Registry images by runtime digest (imageDigest).

  • (:AWSLambda)-[:HAS_IMAGE]->(:GitHubContainerImage)

  • (:AzureContainerInstance)-[:HAS_IMAGE]->(:GitHubContainerImage): An Azure container uses a GitHub container image with the same digest.

  • (:AzureFunctionApp)-[:HAS_IMAGE]->(:GitHubContainerImage): An Azure Function App uses a GitHub container image with the same digest.

  • (:GCPCloudRunJobContainer)-[:HAS_IMAGE]->(:GitHubContainerImage)

  • (:GCPCloudRunServiceContainer)-[:HAS_IMAGE]->(:GitHubContainerImage)

  • (:GitHubContainerImage)-[:BUILT_FROM]->(:GitHubContainerImage): Relationship from a GitHubContainerImage to its parent/base image.

    • Properties:

      Field Description
      confidence Parent image match confidence from 0.0 (lowest) to 1.0 (highest).
      from_attestation Whether the parent image match was derived from an attestation.
      parent_image_uri Parent image URI.
  • (:GitHubContainerImage)-[:CONTAINS_IMAGE]->(:GitHubContainerImage): Relationship from a manifest list to its platform-specific child images. Only applies to images with type="manifest_list".

  • (:GitHubContainerImage)-[:HAS_LAYER]->(:GitHubContainerImageLayer): Relationship from an image to its constituent layers. Only applies to single-image manifests (type="image").

  • (:GitHubContainerImage)-[:HEAD]->(:GitHubContainerImageLayer): Links a container image to its base layer.

  • (:GitHubContainerImage)-[:TAIL]->(:GitHubContainerImageLayer): Links a container image to its topmost layer.

  • (:GitHubContainerImageAttestation)-[:ATTESTS]->(:GitHubContainerImage): Links an attestation to the image digest it attests.

  • (:GitHubContainerImageTag)-[:IMAGE]->(:GitHubContainerImage): Links a GitHub container image tag to the image it identifies.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubContainerImage): Sub-resource relationship from GitHubContainerImage to GitHubOrganization. Images are scoped to organizations for cleanup and to allow cross-package deduplication.

  • (:GitHubPackage)-[:HAS_IMAGE]->(:GitHubContainerImage): Links a container image to the package (registry repository) that hosts it.

  • (:KubernetesContainer)-[:HAS_IMAGE]->(:GitHubContainerImage): Links a container to the image it runs, hosted in GitHub Container Registry.

  • (:PackageVersion)-[:DEPLOYED]->(:Image): A canonical package version is deployed on a container image.

GitHubContainerImageAttestation

A SLSA provenance attestation for a GitHub Container Registry image.

Properties

Field Index Description
id Yes Attestation ID returned by the GitHub Attestations API.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
attests_digest Yes Container image digest attested by the statement.
bundle_id Attestation bundle identifier.
predicate_type Yes In-toto predicate type URI.
source_file Source definition file extracted from the predicate.
source_revision Source commit revision extracted from the predicate.
source_uri Normalized source repository URI extracted from the predicate.

Relationships

  • (:GitHubContainerImageAttestation)-[:ATTESTS]->(:GitHubContainerImage): Links an attestation to the image digest it attests.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubContainerImageAttestation): Scopes a GitHub resource to its organization.

GitHubContainerImageLayer

An uncompressed container image layer identified by its diff ID.

Ontology Mapping: This node uses the ontology label ImageLayer.

Properties

Field Index Description
id Yes Uncompressed layer diff ID used as the stable identifier.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
diff_id Yes Uncompressed layer content digest used for deduplication.
digest Yes Compressed layer digest from the image manifest.
history Image configuration history entry for the layer.
is_empty Whether the layer makes no filesystem changes.
media_type OCI or Docker media type of the compressed layer.
size Compressed layer size in bytes.

Relationships

  • (:GitHubContainerImage)-[:HAS_LAYER]->(:GitHubContainerImageLayer): Relationship from an image to its constituent layers. Only applies to single-image manifests (type="image").

  • (:GitHubContainerImage)-[:HEAD]->(:GitHubContainerImageLayer): Links a container image to its base layer.

  • (:GitHubContainerImage)-[:TAIL]->(:GitHubContainerImageLayer): Links a container image to its topmost layer.

  • (:GitHubContainerImageLayer)-[:NEXT]->(:GitHubContainerImageLayer): Linked-list ordering: each layer points to the next layer(s) it appears immediately before in some image stack.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubContainerImageLayer): Sub-resource relationship from GitHubContainerImageLayer to GitHubOrganization.

GitHubContainerImageTag

A mutable GitHub Container Registry tag that resolves to an image digest.

Ontology Mapping: This node uses the ontology label ImageTag.

Properties

Field Index Description
id Yes Fully qualified container image tag URI.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
digest Yes Image digest currently referenced by the tag.
image_pushed_at Timestamp when GitHub reports the image was pushed.
name Yes Container image tag name.
package_id Identifier of the containing GitHub package.
uri Yes Fully qualified pullable tag URI.

Relationships

  • (:GitHubContainerImageTag)-[:IMAGE]->(:GitHubContainerImage): Links a GitHub container image tag to the image it identifies.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubContainerImageTag): Scopes a GitHub resource to its organization.

  • (:GitHubPackage)-[:REPO_IMAGE]->(:GitHubContainerImageTag): Generic cross-registry edge from ContainerRegistry to ImageTag.

GitHubDependabotAlert

A GitHub Dependabot vulnerability alert for a repository dependency.

Ontology Mapping: This node uses the ontology label SecurityIssue.

Additional Labels: This node also uses Risk.

Additional Label Definitions:

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

Conditional Labels:

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

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Dependabot alert web URL used as the stable identifier.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
advisory_cve_id Yes CVE identifier associated with the advisory, when available.
advisory_description GitHub Security Advisory description.
advisory_ghsa_id Yes GitHub Security Advisory identifier.
advisory_published_at Timestamp when the advisory was published.
advisory_summary GitHub Security Advisory summary.
advisory_updated_at Timestamp when the advisory was last updated.
advisory_withdrawn_at Timestamp when the advisory was withdrawn, when applicable.
created_at Timestamp when the alert was created.
cve_id Yes Standard CVE identifier mirrored from advisory_cve_id.
cvss_score Primary CVSS score reported for the advisory.
cvss_v3_score CVSS v3 score, when available.
cvss_v3_vector_string CVSS v3 vector, when available.
cvss_v4_score CVSS v4 score, when available.
cvss_v4_vector_string CVSS v4 vector, when available.
cvss_vector_string Primary CVSS vector reported for the advisory.
cwe_ids CWE identifiers associated with the advisory.
dependency_manifest_path Yes Manifest path where GitHub found the dependency.
dependency_package_ecosystem Yes Package ecosystem of the vulnerable dependency.
dependency_package_name Yes Name of the vulnerable package.
dependency_scope Dependency scope reported by GitHub.
dismissed_at Timestamp when the alert was dismissed.
dismissed_comment GitHub dismissal comment, when applicable.
dismissed_reason GitHub dismissal reason, when applicable.
epss_percentage EPSS probability reported by GitHub.
epss_percentile EPSS percentile reported by GitHub.
first_patched_version First patched package version, when known.
fixed_at Timestamp when the alert was fixed.
has_cve Whether the advisory includes a CVE identifier.
html_url GitHub web URL for the alert.
identifiers Advisory identifiers, including GHSA and CVE values.
number Yes Repository-local Dependabot alert number.
references Reference URLs associated with the advisory.
repository_full_name Affected repository name in owner/name form.
repository_name Name of the affected repository.
repository_url Yes URL of the affected repository.
severity Yes Advisory severity.
state Yes Alert state: open, fixed, dismissed, or auto_dismissed.
updated_at Timestamp when the alert was last updated.
url GitHub REST API URL for the alert.
vulnerable_version_range Affected package version range.
_ont_base_score Yes Normalized field sourced from cvss_score.
_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 advisory_description.
_ont_last_modified_date Yes Normalized field sourced from advisory_updated_at.
_ont_problem_types Normalized field sourced from cwe_ids.
_ont_published_date Yes Normalized field sourced from advisory_published_at.
_ont_references Normalized field sourced from references.
_ont_source Module that populated this node's ontology fields.
_ont_vector_string Yes Normalized field sourced from cvss_vector_string.

Relationships

  • (:GitHubDependabotAlert)-[:ASSIGNED_TO]->(:GitHubUser): Links a Dependabot alert to an assigned GitHub user.

  • (:GitHubDependabotAlert)-[:DISMISSED_BY]->(:GitHubUser): Links a Dependabot alert to the GitHub user who dismissed it.

  • (:GitHubDependabotAlert)-[:FOUND_IN]->(:GitHubRepository): Links a Dependabot alert to its GitHub repository.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubDependabotAlert): Scopes a GitHub resource to its organization.

GitHubDependency

A GitHub dependency is a globally shared package node: the same canonical name|requirements is referenced by many repositories across many orgs, so we cannot scope its node-level cleanup to a single tenant without risking cross-tenant deletes (see PythonLibrary for the same pattern). Cleanup is therefore unscoped and runs once per sync cycle from cleanup_global_resources. The links to repositories (REQUIRES) and to manifests (HAS_DEP) are modeled as other_relationships.

The primary label is GitHubDependency so that this module's unscoped cleanup only ever reaps nodes it ingested itself. Dependency is the shared ontology label carried by every dependency producer (Semgrep, SocketDev, ...); it must stay a secondary label here, otherwise github's cleanup would delete other modules' Dependency nodes (see issue #3035).

Additional Labels: This node also uses Dependency.

Additional Label Definitions:

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

Ontology Projection: GitHubDependency contributes data to canonical PackageVersion nodes.

Properties

Field Index Description
id Yes Canonical dependency name, optionally combined with its requirement string.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
ecosystem Normalized package ecosystem.
manifest_file Name of the manifest that declares the dependency.
name Ecosystem-normalized dependency name.
normalized_id Yes Normalized package identifier used for ontology matching.
original_name Package name as reported by the GitHub dependency graph.
package_manager Package manager reported by the GitHub dependency graph.
purl Package URL returned by GitHub when available.
requirements Original dependency requirement string.
source Version source: dependency_graph for GitHub data or lockfile for lockfile fallback.
type Package URL type when an exact version is known.
version Exact package version when one can be resolved.
version_confidence Derived version certainty: exact, range, or unknown.

Relationships

  • (:GitHubDependencyGraphManifest)-[:HAS_DEP]->(:GitHubDependency): Links a dependency manifest to a dependency it declares.

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

    • Properties:

      Field Description
      manifest_path Path to the dependency manifest.
      requirements Original dependency requirement string.
  • (:PackageVersion)-[:DETECTED_AS]->(:GitHubDependency): A canonical package version was detected as a GitHub dependency.

GitHubDependencyGraphManifest

A dependency manifest reported by the GitHub dependency graph.

Additional Labels: This node also uses DependencyGraphManifest.

Additional Label Definitions:

  • DependencyGraphManifest: Compatibility label for the deprecated DependencyGraphManifest github node label. Use GitHubDependencyGraphManifest instead. Scheduled for removal in v1.0.0.

Properties

Field Index Description
id Yes Identifier composed from repository URL and manifest path.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
blob_path Manifest path returned by the GitHub dependency graph.
dependencies_count Number of dependencies reported for the manifest.
filename Manifest file name.
repo_relative_path Yes Normalized repository-relative manifest path.
repo_url URL of the containing repository.

Relationships

  • (:GitHubDependencyGraphManifest)-[:HAS_DEP]->(:GitHubDependency): Links a dependency manifest to a dependency it declares.

  • (:GitHubDependencyGraphManifest)-[:MATCHES_CODEOWNER_RULE]->(:GitHubCodeOwnerRule): Links a dependency manifest path to its effective CODEOWNERS rule.

    • Properties:

      Field Description
      match_pattern CODEOWNERS pattern that matched the path.
      matched_path Repository-relative path matched by the CODEOWNERS rule.
  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubDependencyGraphManifest): Sub-resource relationship: (GitHubOrganization)-[:RESOURCE]->(GitHubDependencyGraphManifest). Manifests are scoped to the organization for cleanup purposes so that a single GraphJob run cleans up manifests from every repo in the org.

  • (:GitHubRepository)-[:HAS_MANIFEST]->(:GitHubDependencyGraphManifest): Defines the HAS_MANIFEST relationship between GitHub resources.

GitHubEnvironment

Schema for GitHub deployment environments.

Uses GitHubOrganization as the sub-resource for cleanup scoping. The relationship to GitHubRepository is in other_relationships.

Properties

Field Index Description
id Yes GitHub deployment environment ID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the environment was created.
html_url Web URL for the environment settings.
name Yes Deployment environment name.
updated_at Timestamp when the environment was last updated.

Relationships

  • (:GitHubEnvironment)-[:HAS_SECRET]->(:GitHubActionsSecret): Relationship from environment-level secret to its environment.

  • (:GitHubEnvironment)-[:HAS_VARIABLE]->(:GitHubActionsVariable): Relationship from environment-level variable to its environment.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubEnvironment): Sub-resource relationship from environment to organization.

This uses org as the sub-resource so that cleanup is scoped to the organization.

  • (:GitHubRepository)-[:HAS_ENVIRONMENT]->(:GitHubEnvironment): Relationship from environment to its repository.

GitHubOrganization

An organization in GitHub.

Ontology Mapping: This node uses the ontology label Tenant.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes GitHub organization URL.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
username Yes GitHub organization login.
_ont_name Yes Normalized field sourced from username.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:CircleCIOrganization)-[:ASSOCIATED_WITH]->(:GitHubOrganization): The CircleCI organization is associated with a matching GitHub organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubAction): Sub-resource relationship from action to organization.

This uses org as the sub-resource so that cleanup is scoped to the organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubActionsSecret): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubActionsVariable): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubBranch): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubBranchProtectionRule): Sub-resource relationship: (GitHubOrganization)-[:RESOURCE]->(GitHubBranchProtectionRule). Branch protection rules are scoped to the organization for cleanup purposes so that a single GraphJob run cleans up rules from every repo in the org.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubCodeOwnerRule): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubContainerImage): Sub-resource relationship from GitHubContainerImage to GitHubOrganization. Images are scoped to organizations for cleanup and to allow cross-package deduplication.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubContainerImageAttestation): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubContainerImageLayer): Sub-resource relationship from GitHubContainerImageLayer to GitHubOrganization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubContainerImageTag): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubDependabotAlert): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubDependencyGraphManifest): Sub-resource relationship: (GitHubOrganization)-[:RESOURCE]->(GitHubDependencyGraphManifest). Manifests are scoped to the organization for cleanup purposes so that a single GraphJob run cleans up manifests from every repo in the org.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubEnvironment): Sub-resource relationship from environment to organization.

This uses org as the sub-resource so that cleanup is scoped to the organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubPackage): Sub-resource relationship from GitHubPackage to GitHubOrganization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubPersonalAccessToken): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubRuleset): Relationship: (GitHubOrganization)-[:RESOURCE]->(GitHubRuleset) Used for cleanup - rulesets belong to an organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubRulesetRule): Relationship: (GitHubOrganization)-[:RESOURCE]->(GitHubRulesetRule) Used for cleanup - ruleset rules belong to an organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubTeam): Scopes a GitHub resource to its organization.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubWorkflow): Sub-resource relationship from workflow to organization.

This uses org as the sub-resource so that cleanup is scoped to the organization.

  • (:GitHubRepository)-[:OWNER]->(:GitHubOrganization): Links a GitHub repository to its owner.

  • (:GitHubUser)-[:ADMIN_OF]->(:GitHubOrganization): Identifies a user as an administrator of a GitHub organization.

  • (:GitHubUser)-[:MEMBER_OF]->(:GitHubOrganization): Links a GitHub user to an organization where the user is a member.

  • (:GitHubUser)-[:UNAFFILIATED]->(:GitHubOrganization): Links an enterprise owner to an organization where the user is not a member.

GitHubPackage

A container package hosted in GitHub Container Registry.

Ontology Mapping: This node uses the ontology label ContainerRegistry.

Properties

Field Index Description
id Yes GitHub package web URL.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the package was created.
html_url Yes GitHub web URL for the package.
name Yes GitHub package name.
package_type Yes Package type, normally container for GHCR.
updated_at Timestamp when the package was last updated.
uri Yes Pullable package URI without a tag or digest.
visibility Package visibility: public or private.

Relationships

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubPackage): Sub-resource relationship from GitHubPackage to GitHubOrganization.

  • (:GitHubPackage)-[:HAS_IMAGE]->(:GitHubContainerImage): Links a container image to the package (registry repository) that hosts it.

  • (:GitHubPackage)-[:REPO_IMAGE]->(:GitHubContainerImageTag): Generic cross-registry edge from ContainerRegistry to ImageTag.

  • (:GitHubRepository)-[:HAS_PACKAGE]->(:GitHubPackage): Links a package to the repository that owns it. Best-effort — not every package payload has a repository field.

GitHubPersonalAccessToken

Metadata for a fine-grained or classic GitHub personal access token visible to an organization administrator.

Ontology Mapping: This node uses the ontology label APIKey.

Conditional Labels:

  • GitHubClassicPersonalAccessToken when token_kind equals classic. A github node participating in the shared GitHubClassicPersonalAccessToken graph interface.
  • GitHubFineGrainedPersonalAccessToken when token_kind equals fine_grained. A github node participating in the shared GitHubFineGrainedPersonalAccessToken graph interface.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes Stable identifier derived from the organization and access grant.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
access_granted_at Timestamp when fine-grained PAT access to the organization was granted.
credential_accessed_at Timestamp of the latest classic PAT SAML authorization access event.
credential_authorized_at Timestamp when a classic PAT was authorized for organization SAML SSO.
expires_at Token or credential authorization expiration timestamp.
last_used_at Timestamp when a fine-grained PAT last called the GitHub API.
owner_login Yes Login of the GitHub user who owns the token.
permissions Fine-grained PAT permission details encoded as JSON.
repository_selection Fine-grained PAT repository selection, such as all or selected.
scopes OAuth scopes exposed for a classic PAT SAML authorization.
token_id Yes Fine-grained PAT token ID, when GitHub returns one.
token_kind Yes Token kind: fine_grained or classic.
token_name Yes Fine-grained PAT name, when available.
_ont_created_at Yes Normalized field sourced from access_granted_at.
_ont_expires_at Yes Normalized field sourced from expires_at.
_ont_last_used_at Yes Normalized field sourced from last_used_at.
_ont_name Yes Normalized field sourced from token_name.
_ont_source Module that populated this node's ontology fields.
_ont_type Yes Normalized field sourced from token_kind.

Relationships

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubPersonalAccessToken): Scopes a GitHub resource to its organization.

  • (:GitHubPersonalAccessToken)-[:CAN_ACCESS]->(:GitHubRepository): Links a personal access token to a repository it can access.

  • (:GitHubPersonalAccessToken)-[:OWNED_BY]->(:GitHubUser): Links a GitHub personal access token to its owning user.

  • (:GitHubUser)-[:OWNS]->(:GitHubPersonalAccessToken): Deprecated compatibility edge from a GitHub user to a personal access token.

  • (:User)-[:OWNS]->(:APIKey): generated by analysis job Ontology - User OWNS APIKey linking.

GitHubRepository

A source code repository hosted in GitHub.

Ontology Mapping: This node uses the ontology label CodeRepository.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes GitHub repository URL.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
archived Whether the repository is archived.
createdat Timestamp when the repository was created.
defaultbranch Default branch name.
defaultbranchid GitHub node ID of the default branch.
description Repository description.
disabled Whether the repository is disabled.
fork Whether the repository is a fork.
fullname Repository name in owner/name form.
giturl Yes Repository git:// clone URL.
homepage Repository homepage URL.
locked Whether the repository is locked.
name Yes Repository name.
parent Web URL of the repository this repository was forked from.
primarylanguage Primary programming language reported by GitHub.
private Whether the repository is private.
sshurl Yes Repository SSH clone URL.
updatedat Timestamp when the repository was last updated.
url Yes Repository web URL.
_ont_archived Yes Normalized field sourced from archived.
_ont_default_branch Yes Normalized field sourced from defaultbranch.
_ont_description Normalized field sourced from description.
_ont_fork Yes Normalized field sourced from fork.
_ont_fullname Yes Normalized field sourced from fullname.
_ont_name Yes Normalized field sourced from name.
_ont_public Yes Normalized field sourced from private.
_ont_source Module that populated this node's ontology fields.
_ont_url Yes Normalized field sourced from url.

Relationships

  • (:AIBOMComponent)-[:DETECTED_IN]->(:GitHubRepository): Links a component occurrence to its scanned GitHub repository.

  • (:AIBOMSource)-[:SCANNED_REPOSITORY]->(:GitHubRepository): Links an AIBOM source to the GitHub repository it scanned.

  • (:CircleCIProject)-[:BUILDS]->(:GitHubRepository): The CircleCI project builds a matching GitHub repository.

  • (:DatabricksRepo)-[:SOURCED_FROM]->(:GitHubRepository): A Databricks repo is sourced from a GitHub repository.

  • (:GitHubDependabotAlert)-[:FOUND_IN]->(:GitHubRepository): Links a Dependabot alert to its GitHub repository.

  • (:GitHubPersonalAccessToken)-[:CAN_ACCESS]->(:GitHubRepository): Links a personal access token to a repository it can access.

  • (:GitHubRepository)-[:ASSUMED_ROLE_WITH_WEB_IDENTITY]->(:AWSRole): MatchLink schema for ASSUMED_ROLE_WITH_WEB_IDENTITY relationships from GitHub Actions to AWS roles. Creates relationships like: (GitHubRepository)-[:ASSUMED_ROLE_WITH_WEB_IDENTITY]->(AWSRole)

This MatchLink provides granular visibility into which specific GitHub repositories are assuming AWS roles via GitHub Actions OIDC, rather than just showing provider-level relationships.

  • Properties:

    Field Description
    first_seen_in_time_window Timestamp when this relationship was first observed in the current time window.
    last_used Timestamp when this relationship was last observed in use.
    times_used Number of times this relationship was observed in use.
  • (:GitHubRepository)-[:BRANCH]->(:GitHubBranch): Links a GitHub repository to one of its branches.

  • (:GitHubRepository)-[:HAS_CODEOWNER_RULE]->(:GitHubCodeOwnerRule): Defines the HAS_CODEOWNER_RULE relationship between GitHub resources.

  • (:GitHubRepository)-[:HAS_ENVIRONMENT]->(:GitHubEnvironment): Relationship from environment to its repository.

  • (:GitHubRepository)-[:HAS_MANIFEST]->(:GitHubDependencyGraphManifest): Defines the HAS_MANIFEST relationship between GitHub resources.

  • (:GitHubRepository)-[:HAS_PACKAGE]->(:GitHubPackage): Links a package to the repository that owns it. Best-effort — not every package payload has a repository field.

  • (:GitHubRepository)-[:HAS_RULE]->(:GitHubBranchProtectionRule): Relationship: (GitHubRepository)-[:HAS_RULE]->(GitHubBranchProtectionRule) A repository can have multiple protection rules (for different branch patterns).

  • (:GitHubRepository)-[:HAS_RULESET]->(:GitHubRuleset): Relationship: (GitHubRepository)-[:HAS_RULESET]->(GitHubRuleset) A repository can have multiple rulesets.

  • (:GitHubRepository)-[:HAS_SECRET]->(:GitHubActionsSecret): Links a GitHub repository to an Actions secret.

  • (:GitHubRepository)-[:HAS_VARIABLE]->(:GitHubActionsVariable): Links a GitHub repository to an Actions variable.

  • (:GitHubRepository)-[:HAS_WORKFLOW]->(:GitHubWorkflow): Relationship from workflow to its repository.

  • (:GitHubRepository)-[:LANGUAGE]->(:ProgrammingLanguage): Links a GitHub repository to a programming language it uses.

  • (:GitHubRepository)-[:OWNER]->(:GitHubOrganization): Links a GitHub repository to its owner.

  • (:GitHubRepository)-[:OWNER]->(:GitHubUser): Links a GitHub repository to its owner.

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

    • Properties:

      Field Description
      manifest_path Path to the dependency manifest.
      requirements Original dependency requirement string.
  • (:GitHubRepository)-[:REQUIRES]->(:PythonLibrary): Links a GitHub repository to a software dependency it requires.

    • Properties:

      Field Description
      specifier Python version specifier from the requirements file.
  • (: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.
  • (: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.
  • (:GitHubTeam)-[:ADMIN]->(:GitHubRepository): Grants a GitHub team administrative access to a repository.

  • (:GitHubTeam)-[:MAINTAIN]->(:GitHubRepository): Grants a GitHub team maintain access to a repository.

  • (:GitHubTeam)-[:READ]->(:GitHubRepository): Grants a GitHub team read access to a repository.

  • (:GitHubTeam)-[:TRIAGE]->(:GitHubRepository): Grants a GitHub team triage access to a repository.

  • (:GitHubTeam)-[:WRITE]->(:GitHubRepository): Grants a GitHub team write access to a repository.

  • (:GitHubUser)-[:COMMITTED_TO]->(:GitHubRepository): MatchLink schema for connecting GitHubUser nodes to GitHubRepository nodes based on commits in the last 30 days.

    • Properties:

      Field Description
      commit_count Number of commits observed in the last 30 days.
      first_commit_date Timestamp of the earliest commit observed in the last 30 days.
      last_commit_date Timestamp of the most recent commit observed in the last 30 days.
  • (:GitHubUser)-[:DIRECT_COLLAB_ADMIN]->(:GitHubRepository): Grants ADMIN permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:DIRECT_COLLAB_MAINTAIN]->(:GitHubRepository): Grants MAINTAIN permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:DIRECT_COLLAB_READ]->(:GitHubRepository): Grants READ permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:DIRECT_COLLAB_TRIAGE]->(:GitHubRepository): Grants TRIAGE permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:DIRECT_COLLAB_WRITE]->(:GitHubRepository): Grants WRITE permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_ADMIN]->(:GitHubRepository): Grants ADMIN permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_MAINTAIN]->(:GitHubRepository): Grants MAINTAIN permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_READ]->(:GitHubRepository): Grants READ permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_TRIAGE]->(:GitHubRepository): Grants TRIAGE permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_WRITE]->(:GitHubRepository): Grants WRITE permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:Image)-[:PACKAGED_FROM]->(:GitHubRepository): Links an image to the GitHub repository that produced it. MatchLink for CircleCI fallback matching: (Image)-[:PACKAGED_FROM]->(GitHubRepository).

Matches Image.digest to the specific image identified by the matcher, and GitHubRepository.id to the (normalized) repo URL from the CircleCI run's vcs block. Keyed on GitHubRepository.id (the canonical HTTPS URL) to stay consistent with the existing GitHub provenance matcher.

  • Properties:

    Field Description
    command_similarity Similarity score between image build commands and Dockerfile commands.
    confidence Confidence score for the image-to-repository match.
    dockerfile_path Path of the Dockerfile associated with the image.
    match_method Method used to link the image to the repository.
    matched_commands Number of image build commands matched to Dockerfile commands.
    total_commands Command count used to normalize the Dockerfile comparison.
  • (:NetlifySite)-[:DEPLOYED_FROM]->(:GitHubRepository): The GitHub repository the site builds from, joined on the repository's full name. Best effort: the edge only exists if that repository has also been ingested.

  • (:RailwayDeploymentTrigger)-[:TRACKS]->(:GitHubRepository): Identifies the GitHub repository and branch watched by a deployment trigger.

  • (:RailwayServiceInstance)-[:DEPLOYED_FROM]->(:GitHubRepository): Identifies the GitHub repository used to deploy a Railway service instance.

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

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

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

GitHubRuleset

A repository ruleset configured in GitHub.

Properties

Field Index Description
id Yes GitHub ruleset node ID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
conditions_organization_property_exclude Organization property exclude conditions encoded as JSON.
conditions_organization_property_include Organization property include conditions encoded as JSON.
conditions_ref_name_exclude Ref name patterns excluded by the ruleset.
conditions_ref_name_include Ref name patterns included by the ruleset.
conditions_repository_ids Repository database IDs selected by the ruleset.
conditions_repository_name_exclude Repository name patterns excluded by the ruleset.
conditions_repository_name_include Repository name patterns included by the ruleset.
conditions_repository_name_protected Whether repository-name conditions select protected repositories.
conditions_repository_property_exclude Repository property exclude conditions encoded as JSON.
conditions_repository_property_include Repository property include conditions encoded as JSON.
created_at Timestamp when the ruleset was created.
database_id GitHub numeric database ID for the ruleset.
enforcement Ruleset enforcement mode.
name Ruleset name.
target Ruleset target, such as BRANCH or TAG.
updated_at Timestamp when the ruleset was last updated.

Relationships

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubRuleset): Relationship: (GitHubOrganization)-[:RESOURCE]->(GitHubRuleset) Used for cleanup - rulesets belong to an organization.

  • (:GitHubRepository)-[:HAS_RULESET]->(:GitHubRuleset): Relationship: (GitHubRepository)-[:HAS_RULESET]->(GitHubRuleset) A repository can have multiple rulesets.

  • (:GitHubRuleset)-[:CONTAINS_RULE]->(:GitHubRulesetRule): Relationship: (GitHubRuleset)-[:CONTAINS_RULE]->(GitHubRulesetRule) A ruleset can have multiple rules.

GitHubRulesetRule

A rule contained in a GitHub repository ruleset.

Properties

Field Index Description
id Yes Deterministic identifier derived from the ruleset and rule.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
parameters Complete rule parameters encoded as JSON.
parameters_dismiss_stale_reviews_on_push Whether pull request rules dismiss stale reviews after new pushes.
parameters_require_code_owner_review Whether pull request rules require a code owner review.
parameters_required_approving_review_count Required approval count extracted from pull request rule parameters.
parameters_required_status_checks Required status check contexts extracted from the JSON-encoded rule parameters.
type GitHub ruleset rule type.

Relationships

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubRulesetRule): Relationship: (GitHubOrganization)-[:RESOURCE]->(GitHubRulesetRule) Used for cleanup - ruleset rules belong to an organization.

  • (:GitHubRuleset)-[:CONTAINS_RULE]->(:GitHubRulesetRule): Relationship: (GitHubRuleset)-[:CONTAINS_RULE]->(GitHubRulesetRule) A ruleset can have multiple rules.

GitHubTeam

A team in a GitHub organization.

Ontology Mapping: This node uses the ontology label UserGroup.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes GitHub team URL.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
description GitHub team description.
name Yes GitHub team slug.
url GitHub team URL.
_ont_description Normalized field sourced from description.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.

Relationships

  • (:GitHubCodeOwnerRule)-[:CODEOWNER]->(:GitHubTeam): Links a CODEOWNERS rule to a resolved GitHub team.

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubTeam): Scopes a GitHub resource to its organization.

  • (:GitHubTeam)-[:ADMIN]->(:GitHubRepository): Grants a GitHub team administrative access to a repository.

  • (:GitHubTeam)-[:MAINTAIN]->(:GitHubRepository): Grants a GitHub team maintain access to a repository.

  • (:GitHubTeam)-[:MEMBER_OF]->(:GitHubTeam): Links a GitHub user or child team to its parent organization or team.

  • (:GitHubTeam)-[:MEMBER_OF_TEAM]->(:GitHubTeam): Defines the MEMBER_OF_TEAM relationship between GitHub resources.

  • (:GitHubTeam)-[:READ]->(:GitHubRepository): Grants a GitHub team read access to a repository.

  • (:GitHubTeam)-[:TRIAGE]->(:GitHubRepository): Grants a GitHub team triage access to a repository.

  • (:GitHubTeam)-[:WRITE]->(:GitHubRepository): Grants a GitHub team write access to a repository.

  • (:GitHubUser)-[:MAINTAINER]->(:GitHubTeam): Identifies a GitHub user as a team maintainer.

  • (:GitHubUser)-[:MEMBER]->(:GitHubTeam): Defines the MEMBER relationship between GitHub resources.

  • (:GitHubUser)-[:MEMBER_OF]->(:GitHubTeam): Links a GitHub user or child team to its parent organization or team.

GitHubUser

A user account in GitHub.

Ontology Mapping: This node uses the ontology label UserAccount.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes GitHub user profile URL.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
company Public profile company.
email Publicly visible profile email.
fullname GitHub user display name.
has_2fa_enabled Whether the organization member has two-factor authentication enabled.
is_enterprise_owner Whether the user is a GitHub enterprise owner.
is_site_admin Whether the user is a GitHub site administrator.
organization_verified_domain_emails Email addresses verified against organization domains.
type GitHub account type.
username Yes GitHub user login.
_ont_email Yes Normalized field sourced from email.
_ont_fullname Yes Normalized field sourced from fullname.
_ont_has_mfa Yes Normalized field sourced from has_2fa_enabled.
_ont_source Module that populated this node's ontology fields.
_ont_username Yes Normalized field sourced from username.

Relationships

  • (:GitHubCodeOwnerRule)-[:CODEOWNER]->(:GitHubUser): Links a CODEOWNERS rule to a resolved GitHub user.

  • (:GitHubDependabotAlert)-[:ASSIGNED_TO]->(:GitHubUser): Links a Dependabot alert to an assigned GitHub user.

  • (:GitHubDependabotAlert)-[:DISMISSED_BY]->(:GitHubUser): Links a Dependabot alert to the GitHub user who dismissed it.

  • (:GitHubPersonalAccessToken)-[:OWNED_BY]->(:GitHubUser): Links a GitHub personal access token to its owning user.

  • (:GitHubRepository)-[:OWNER]->(:GitHubUser): Links a GitHub repository to its owner.

  • (:GitHubUser)-[:ADMIN_OF]->(:GitHubOrganization): Identifies a user as an administrator of a GitHub organization.

  • (:GitHubUser)-[:COMMITTED_TO]->(:GitHubRepository): MatchLink schema for connecting GitHubUser nodes to GitHubRepository nodes based on commits in the last 30 days.

    • Properties:

      Field Description
      commit_count Number of commits observed in the last 30 days.
      first_commit_date Timestamp of the earliest commit observed in the last 30 days.
      last_commit_date Timestamp of the most recent commit observed in the last 30 days.
  • (:GitHubUser)-[:DIRECT_COLLAB_ADMIN]->(:GitHubRepository): Grants ADMIN permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:DIRECT_COLLAB_MAINTAIN]->(:GitHubRepository): Grants MAINTAIN permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:DIRECT_COLLAB_READ]->(:GitHubRepository): Grants READ permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:DIRECT_COLLAB_TRIAGE]->(:GitHubRepository): Grants TRIAGE permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:DIRECT_COLLAB_WRITE]->(:GitHubRepository): Grants WRITE permission on the repository to a collaborator with DIRECT affiliation.

  • (:GitHubUser)-[:MAINTAINER]->(:GitHubTeam): Identifies a GitHub user as a team maintainer.

  • (:GitHubUser)-[:MEMBER]->(:GitHubTeam): Defines the MEMBER relationship between GitHub resources.

  • (:GitHubUser)-[:MEMBER_OF]->(:GitHubOrganization): Links a GitHub user to an organization where the user is a member.

  • (:GitHubUser)-[:MEMBER_OF]->(:GitHubTeam): Links a GitHub user or child team to its parent organization or team.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_ADMIN]->(:GitHubRepository): Grants ADMIN permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_MAINTAIN]->(:GitHubRepository): Grants MAINTAIN permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_READ]->(:GitHubRepository): Grants READ permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_TRIAGE]->(:GitHubRepository): Grants TRIAGE permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OUTSIDE_COLLAB_WRITE]->(:GitHubRepository): Grants WRITE permission on the repository to a collaborator with OUTSIDE affiliation.

  • (:GitHubUser)-[:OWNS]->(:GitHubPersonalAccessToken): Deprecated compatibility edge from a GitHub user to a personal access token.

  • (:GitHubUser)-[:PUSHED]->(:SpaceliftGitCommit): A GitHub user pushed a Spacelift Git commit with a matching author login.

  • (:GitHubUser)-[:UNAFFILIATED]->(:GitHubOrganization): Links an enterprise owner to an organization where the user is not a member.

  • (:User)-[:HAS_ACCOUNT]->(:GitHubUser): generated by analysis job Ontology - GitHubUser HAS_ACCOUNT User linking.

  • (:User)-[:HAS_ACCOUNT]->(:UserAccount)

GitHubWorkflow

Schema for GitHub Actions workflows.

Uses GitHubOrganization as the sub-resource for cleanup scoping. The relationship to GitHubRepository is in other_relationships.

Ontology Mapping: This node uses the ontology label CICDPipeline.

Properties

Ontology-generated fields are shown in italics.

Field Index Description
id Yes GitHub workflow ID.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
created_at Timestamp when the resource was created.
env_vars Top-level environment variable names parsed from workflow YAML.
has_reusable_workflow_calls Whether parsed workflow YAML calls a reusable workflow.
job_count Number of jobs parsed from workflow YAML.
name Yes Workflow name.
path Yes Repository-relative workflow file path.
permissions_actions Actions permission level parsed from workflow YAML.
permissions_checks Checks permission level parsed from workflow YAML.
permissions_contents Contents permission level parsed from workflow YAML.
permissions_deployments Deployments permission level parsed from workflow YAML.
permissions_id_token ID token permission level parsed from workflow YAML.
permissions_issues Issues permission level parsed from workflow YAML.
permissions_packages Packages permission level parsed from workflow YAML.
permissions_pull_requests Pull requests permission level parsed from workflow YAML.
permissions_security_events Security events permission level parsed from workflow YAML.
permissions_statuses Statuses permission level parsed from workflow YAML.
repo_url Yes URL of the containing repository.
state Workflow state, such as active, disabled_manually, or disabled_inactivity.
trigger_events Trigger event names parsed from workflow YAML.
updated_at Timestamp when the resource was last updated.
_ont_name Yes Normalized field sourced from name.
_ont_source Module that populated this node's ontology fields.
_ont_status Yes Normalized field sourced from state.
_ont_type Yes Property generated by the ontology mapping.

Relationships

  • (:GitHubOrganization)-[:RESOURCE]->(:GitHubWorkflow): Sub-resource relationship from workflow to organization.

This uses org as the sub-resource so that cleanup is scoped to the organization.

  • (:GitHubRepository)-[:HAS_WORKFLOW]->(:GitHubWorkflow): Relationship from workflow to its repository.

  • (:GitHubWorkflow)-[:REFERENCES_SECRET]->(:GitHubActionsSecret): Links a GitHub workflow to the secrets it references.

  • (:GitHubWorkflow)-[:USES_ACTION]->(:GitHubAction): Relationship from action to the workflow that uses it.

  • (:Image)-[:PACKAGED_BY]->(:GitHubWorkflow): Links an image to the GitHub workflow that packaged it.

ProgrammingLanguage

A programming language used by a GitHub repository.

Properties

Field Index Description
id Yes Programming language name used as the identifier.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
name Yes Programming language name.

Relationships

  • (:GitHubRepository)-[:LANGUAGE]->(:ProgrammingLanguage): Links a GitHub repository to a programming language it uses.

PythonLibrary

A globally shared Python library required by a GitHub repository.

Additional Labels: This node also uses Dependency.

Additional Label Definitions:

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

Properties

Field Index Description
id Yes Canonical package name, optionally combined with an exact version.
firstseen Timestamp when a sync job first created this node.
lastupdated Yes Timestamp of the last sync that observed this node.
name Yes Canonical Python package name.
specifier Version specifier parsed from the requirements file.
version Exact Python package version when pinned.

Relationships

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

      Field Description
      specifier Python version specifier from the requirements file.