syntax = "proto3"; package source_metadata; option go_package = "github.com/trufflesecurity/trufflehog/v3/pkg/pb/source_metadatapb"; import "google/protobuf/timestamp.proto"; message Azure { string container = 1; string file = 2; string uploaded = 3; string link = 4; string email = 5; } message Bitbucket { string file = 1; string repository = 2; string workspace = 3; string snippet_id = 4; string title = 5; string commit = 6; string email = 7; string link = 8; string timestamp = 9; int64 line = 10; } message Buildkite { string org = 1; string pipeline = 2; string link = 3; string email = 4; int64 build_number = 5; string timestamp = 6; } message CircleCI { string vcs_type = 1; string username = 2; string repository = 3; int64 build_number = 4; string build_step = 5; string link = 6; string email = 7; } message TravisCI { string username = 2; string repository = 3; string build_number = 4; string job_number = 5; string link = 6; bool public = 7; } message Confluence { string page = 1; string space = 2; string version = 3; string link = 4; string email = 5; string timestamp = 6; string location = 7; string file = 8; } message Docker { string file = 1; string image = 2; string layer = 3; string tag = 4; } message ECR { string file = 1; string layer = 2; string image = 3; string registry = 4; string region = 5; string link = 6; string email = 7; } message Filesystem { string file = 1; string link = 2; string email = 3; int64 line = 4; } message Git { string commit = 1; string file = 2; string email = 3; string repository = 4; string timestamp = 5; int64 line = 6; } message Github { string link = 1; string username = 2; string repository = 3; string commit = 4; string email = 5; string file = 6; string timestamp = 7; int64 line = 8; Visibility visibility = 9; } message Gitlab { string commit = 1; string file = 2; string link = 3; string email = 4; string repository = 5; string timestamp = 6; int64 line = 7; int64 project_id = 8; string project_name = 9; string project_owner = 10; } message GCS { string bucket = 1; string filename = 2; string link = 3; string email = 4; string created_at = 5; string updated_at = 6; repeated string acls = 7; string content_type = 8; } message Huggingface { string link = 1; string username = 2; string repository = 3; string commit = 4; string email = 5; string file = 6; string timestamp = 7; int64 line = 8; Visibility visibility = 9; string resource_type = 10; } message Jira { string issue = 1; string author = 2; string link = 3; string location = 4; string email = 5; string timestamp = 6; } message NPM { string file = 1; string package = 2; string release = 3; string link = 4; string email = 5; } message PyPi { string file = 1; string package = 2; string release = 3; string link = 4; string email = 5; } message S3 { string bucket = 1; string file = 2; string link = 3; string email = 5; string timestamp = 6; } enum Visibility { public = 0; private = 1; shared = 2; unknown = 3; } message Slack { string channel_id = 1; string channel_name = 2; string timestamp = 3; string user_id = 4; string link = 5; string file = 6; string email = 7; Visibility visibility = 8; string location = 9; } message Gerrit { string commit = 1; string file = 2; string email = 3; string project = 4; // projects are what Gerrit calls repositories string timestamp = 5; int64 line = 6; } message Test { string file = 1; } message Jenkins { string project_name = 1; int64 build_number = 2; string link = 3; string timestamp = 4; } message Teams { string channel_id = 1; string channel_name = 2; string timestamp = 3; string user_id = 4; string link = 5; string file = 6; string email = 7; string location = 8; string team_name = 9; string team_id = 10; } // https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-FileInfo message Artifactory { string repo = 1; string path = 2; string link = 3; string timestamp = 4; string username = 5; string email = 6; } message Syslog { string hostname = 1; string appname = 2; string procid = 3; string timestamp = 4; string client = 5; string facility = 6; } message Forager { oneof metadata { Github github = 1; NPM npm = 2; PyPi pypi = 3; } } message SharePoint { string link = 1; string timestamp = 2; string author = 3; string title = 4; int64 views = 5; string docid = 6; string email = 7; } message GoogleDrive { string file = 1; string link = 2; string email = 3; string timestamp = 4; bool shared = 5; string last_modified_by = 6; string path = 7; } message AzureRepos { string link = 1; string username = 2; string repository = 3; string commit = 4; string email = 5; string file = 6; string timestamp = 7; int64 line = 8; Visibility visibility = 9; string project = 10; string organization = 11; } message Postman { string link = 1; string workspace_uuid = 2; string workspace_name = 3; string globals_id = 4; string collection_id = 5; string collection_name = 6; string environment_id = 7; string environment_name = 8; string request_id = 9; string request_name = 10; string folder_id = 11; string folder_name = 12; string field_type = 13; string field_name = 14; string variable_type = 15; } message Vector { google.protobuf.Timestamp timestamp = 1; string source_type = 2; string host = 3; } message Webhook { oneof data { Vector vector = 1; } } message Elasticsearch { string index = 1; string document_id = 2; string timestamp = 3; } message Sentry { string event_id = 1; string organization_id = 2; string organization_slug = 3; string organization_date_created = 4; string project_id = 5; string project_slug = 6; string issue_id = 7; string date_created = 8; string link = 9; } message MetaData { oneof data { Azure azure = 1; Bitbucket bitbucket = 2; CircleCI circleci = 3; Confluence confluence = 4; Docker docker = 5; ECR ecr = 6; GCS gcs = 7; Github github = 8; Gitlab gitlab = 9; Jira jira = 10; NPM npm = 11; PyPi pypi = 12; S3 s3 = 13; Slack slack = 14; Filesystem filesystem = 15; Git git = 16; Test test = 17; Buildkite buildkite = 18; Gerrit gerrit = 19; Jenkins jenkins = 20; Teams teams = 21; Artifactory artifactory = 22; Syslog syslog = 23; Forager forager = 24; SharePoint sharepoint = 25; GoogleDrive googleDrive = 26; AzureRepos azureRepos = 27; TravisCI travisCI = 28; Postman postman = 29; Webhook webhook = 30; Elasticsearch elasticsearch = 31; Huggingface huggingface = 32; Sentry sentry = 33; } }