forked from trufflesecurity/trufflehog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
source_metadata.proto
254 lines (226 loc) · 4.36 KB
/
source_metadata.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
syntax = "proto3";
package source_metadata;
option go_package = "github.com/trufflesecurity/trufflehog/v3/pkg/pb/source_metadatapb";
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 Confluence {
string page = 1;
string space = 2;
string version = 3;
string link = 4;
string email = 5;
string timestamp = 6;
string location = 7;
}
message Dockerhub {
string file = 1;
string image = 2;
string layer = 3;
string tag = 4;
string link = 5;
string email = 6;
}
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;
}
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;
}
message GCS {
string bucket = 1;
string file = 2;
string link = 3;
string email = 4;
}
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;
}
// 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 PublicEventMonitoring {
oneof metadata {
Github github = 1;
}
}
message MetaData {
oneof data {
Azure azure = 1;
Bitbucket bitbucket = 2;
CircleCI circleci = 3;
Confluence confluence = 4;
Dockerhub dockerhub = 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;
PublicEventMonitoring publicEventMonitoring = 24;
}
}