mirror of
https://github.com/trufflesecurity/trufflehog.git
synced 2024-11-10 07:04:24 +00:00
236 lines
5.3 KiB
Protocol Buffer
236 lines
5.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package sources;
|
|
|
|
option go_package = "github.com/trufflesecurity/trufflehog/v3/pkg/pb/sourcespb";
|
|
|
|
import "validate/validate.proto";
|
|
import "credentials.proto";
|
|
import "google/protobuf/any.proto";
|
|
import "google/protobuf/duration.proto";
|
|
|
|
|
|
enum SourceType {
|
|
SOURCE_TYPE_AZURE_STORAGE = 0;
|
|
SOURCE_TYPE_BITBUCKET = 1;
|
|
SOURCE_TYPE_CIRCLECI = 2;
|
|
SOURCE_TYPE_CONFLUENCE = 3;
|
|
SOURCE_TYPE_DOCKERHUB_IMAGES = 4;
|
|
SOURCE_TYPE_ECR = 5;
|
|
SOURCE_TYPE_GCS = 6;
|
|
SOURCE_TYPE_GITHUB = 7;
|
|
SOURCE_TYPE_PUBLIC_GIT = 8;
|
|
SOURCE_TYPE_GITLAB = 9;
|
|
SOURCE_TYPE_JIRA = 10;
|
|
SOURCE_TYPE_NPM_UNAUTHD_PACKAGES = 11;
|
|
SOURCE_TYPE_PYPI_UNAUTHD_PACKAGES = 12;
|
|
SOURCE_TYPE_S3 = 13;
|
|
SOURCE_TYPE_SLACK = 14;
|
|
SOURCE_TYPE_FILESYSTEM = 15;
|
|
SOURCE_TYPE_GIT = 16;
|
|
SOURCE_TYPE_TEST = 17;
|
|
SOURCE_TYPE_S3_UNAUTHED = 18;
|
|
SOURCE_TYPE_GITHUB_UNAUTHENTICATED_ORG = 19;
|
|
SOURCE_TYPE_BUILDKITE = 20;
|
|
SOURCE_TYPE_GERRIT = 21;
|
|
SOURCE_TYPE_JENKINS = 22;
|
|
SOURCE_TYPE_TEAMS = 23;
|
|
SOURCE_TYPE_JFROG_ARTIFACTORY = 24;
|
|
}
|
|
|
|
message LocalSource {
|
|
string type = 1 ;
|
|
string name = 2 ;
|
|
google.protobuf.Duration scan_interval = 3;
|
|
bool verify = 4;
|
|
google.protobuf.Any connection = 5;
|
|
}
|
|
|
|
message AzureStorage {
|
|
oneof credential {
|
|
string connection_string = 1;
|
|
credentials.BasicAuth basic_auth = 2;
|
|
string client_certificate = 3;
|
|
credentials.Unauthenticated unauthenticated = 4;
|
|
}
|
|
repeated string storage_containers = 5;
|
|
}
|
|
|
|
message Bitbucket {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
string token = 2;
|
|
credentials.Oauth2 oauth = 3;
|
|
credentials.BasicAuth basic_auth = 4;
|
|
|
|
}
|
|
repeated string repositories = 5;
|
|
}
|
|
|
|
message CircleCI {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
string token = 2;
|
|
}
|
|
}
|
|
|
|
message Confluence {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
credentials.Unauthenticated unauthenticated = 2;
|
|
credentials.BasicAuth basic_auth = 3;
|
|
string token = 4;
|
|
}
|
|
|
|
enum GetAllSpacesScope {
|
|
ALL = 0;
|
|
GLOBAL = 1;
|
|
PERSONAL = 2;
|
|
}
|
|
|
|
GetAllSpacesScope spaces_scope = 5;
|
|
}
|
|
|
|
message DockerHub {
|
|
oneof credential {
|
|
credentials.Unauthenticated unauthenticated = 1;
|
|
}
|
|
repeated string repositories = 2;
|
|
}
|
|
|
|
message ECR {
|
|
oneof credential {
|
|
credentials.KeySecret access_key = 1;
|
|
}
|
|
repeated string registries = 2;
|
|
}
|
|
|
|
message Filesystem{
|
|
repeated string directories = 1;
|
|
}
|
|
|
|
message GCS {
|
|
oneof credential {
|
|
string json_sa = 1;
|
|
}
|
|
repeated string buckets = 2;
|
|
}
|
|
|
|
message Git {
|
|
oneof credential {
|
|
credentials.BasicAuth basic_auth = 1;
|
|
credentials.Unauthenticated unauthenticated = 2;
|
|
}
|
|
repeated string directories = 3;
|
|
repeated string repositories = 4;
|
|
}
|
|
|
|
message GitLab {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
string token = 2;
|
|
credentials.Oauth2 oauth = 3;
|
|
credentials.BasicAuth basic_auth = 4;
|
|
}
|
|
repeated string repositories = 5;
|
|
}
|
|
|
|
message GitHub {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
credentials.GitHubApp github_app = 2;
|
|
string token = 3;
|
|
credentials.Unauthenticated unauthenticated = 4;
|
|
}
|
|
repeated string repositories = 5;
|
|
repeated string organizations = 6;
|
|
bool scanUsers = 7;
|
|
bool includeForks = 8;
|
|
string head = 9;
|
|
string base = 10;
|
|
}
|
|
|
|
message JIRA {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
credentials.BasicAuth basic_auth = 2;
|
|
credentials.Unauthenticated unauthenticated = 3;
|
|
credentials.Oauth2 oauth = 4;
|
|
|
|
}
|
|
repeated string projects = 5;
|
|
}
|
|
|
|
message NPMUnauthenticatedPackage {
|
|
oneof credential {
|
|
credentials.Unauthenticated unauthenticated = 1;
|
|
}
|
|
}
|
|
|
|
message PyPIUnauthenticatedPackage {
|
|
oneof credential {
|
|
credentials.Unauthenticated unauthenticated = 1;
|
|
}
|
|
}
|
|
|
|
message S3 {
|
|
oneof credential {
|
|
credentials.KeySecret access_key = 1;
|
|
credentials.Unauthenticated unauthenticated = 2;
|
|
credentials.CloudEnvironment cloud_environment = 4;
|
|
}
|
|
repeated string buckets = 3;
|
|
}
|
|
|
|
message Slack {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
string token = 2;
|
|
}
|
|
repeated string channels = 3;
|
|
repeated string ignoreList = 4;
|
|
}
|
|
|
|
message Test{}
|
|
|
|
message Buildkite {
|
|
oneof credential {
|
|
string token = 1;
|
|
}
|
|
}
|
|
|
|
message Gerrit {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
credentials.BasicAuth basic_auth = 2;
|
|
credentials.Unauthenticated unauthenticated = 3;
|
|
}
|
|
repeated string projects = 4;
|
|
}
|
|
|
|
message Jenkins {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
credentials.BasicAuth basic_auth = 2;
|
|
credentials.Header header = 3;
|
|
}
|
|
}
|
|
|
|
message Teams {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
credentials.ClientCredentials authenticated = 2;
|
|
}
|
|
repeated string channels = 3;
|
|
repeated string ignoreList = 4;
|
|
}
|
|
|
|
// https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-RetrieveFolderorRepositoryArchive
|
|
message Artifactory {
|
|
string endpoint = 1 [(validate.rules).string.uri_ref = true];
|
|
oneof credential {
|
|
credentials.BasicAuth basic_auth = 2;
|
|
credentials.Header header = 3;
|
|
}
|
|
repeated string repositories = 4;
|
|
}
|