@@ -31,7 +31,10 @@ envoy_genjson(
31
31
"-L" ,
32
32
"tools/dependency" ,
33
33
],
34
- data = [":cve_utils.jq" ],
34
+ data = [
35
+ ":cve_utils.jq" ,
36
+ ":version.jq" ,
37
+ ],
35
38
filter = """
36
39
import "cve_utils" as Utils;
37
40
.[0] as $deps
@@ -138,3 +141,93 @@ sh_binary(
138
141
"CVE_DATA_PATH" : "%s/tools/dependency/cve_data" % PATH ,
139
142
},
140
143
)
144
+
145
+ envoy_genjson (
146
+ name = "ignored-cves" ,
147
+ filter = """
148
+ .[0].ignored_cves
149
+ """ ,
150
+ visibility = ["//visibility:public" ],
151
+ yaml_srcs = [":cve.yaml" ],
152
+ )
153
+
154
+ filegroup (
155
+ name = "cve-data" ,
156
+ srcs = glob (["cve_data/*.json" ]),
157
+ visibility = ["//visibility:public" ],
158
+ )
159
+
160
+ sh_binary (
161
+ name = "cves" ,
162
+ srcs = ["cves.sh" ],
163
+ data = [
164
+ ":cpe-dependencies" ,
165
+ ":cve-data" ,
166
+ ":cve_matcher.jq" ,
167
+ ":cve_utils.jq" ,
168
+ ":ignored-cves.json" ,
169
+ ":version.jq" ,
170
+ "@jq_toolchains//:resolved_toolchain" ,
171
+ ],
172
+ env = {
173
+ "JQ_BIN" : "$(JQ_BIN)" ,
174
+ "CPE_DEPS" : "$(location :cpe-dependencies)" ,
175
+ "JQ_CVE_UTILS" : "$(location :cve_utils.jq)" ,
176
+ "JQ_CVE_MATCHER" : "$(location :cve_matcher.jq)" ,
177
+ "JQ_VERSION_UTILS" : "$(location :version.jq)" ,
178
+ "CVES_IGNORED" : "$(location :ignored-cves.json)" ,
179
+ "CVES" : "$(locations :cve-data)" ,
180
+ },
181
+ toolchains = ["@jq_toolchains//:resolved_toolchain" ],
182
+ )
183
+
184
+ genrule (
185
+ name = "cves-scanned" ,
186
+ outs = ["scanned.json" ],
187
+ cmd = """
188
+ export JQ_BIN="$(JQ_BIN)"
189
+ export CPE_DEPS="$(location :cpe-dependencies)"
190
+ export JQ_CVE_UTILS="$(location :cve_utils.jq)"
191
+ export JQ_CVE_MATCHER="$(location :cve_matcher.jq)"
192
+ export JQ_VERSION_UTILS="$(location :version.jq)"
193
+ export CVES_IGNORED="$(location :ignored-cves.json)"
194
+ export CVES="$(locations :cve-data)"
195
+ $(location :cves) \
196
+ > $@ || :
197
+ """ ,
198
+ tags = ["no-remote-exec" ],
199
+ toolchains = ["@jq_toolchains//:resolved_toolchain" ],
200
+ tools = [
201
+ ":cpe-dependencies" ,
202
+ ":cve-data" ,
203
+ ":cve_matcher.jq" ,
204
+ ":cve_utils.jq" ,
205
+ ":cves" ,
206
+ ":ignored-cves.json" ,
207
+ ":version.jq" ,
208
+ "@jq_toolchains//:resolved_toolchain" ,
209
+ ],
210
+ )
211
+
212
+ sh_test (
213
+ name = "cve_test" ,
214
+ srcs = [":cve_test.sh" ],
215
+ args = ["$(location :cves-scanned)" ],
216
+ data = [
217
+ ":ansi.jq" ,
218
+ ":cve_report.jq" ,
219
+ ":cve_utils.jq" ,
220
+ ":cves-scanned" ,
221
+ ":version.jq" ,
222
+ "@jq_toolchains//:resolved_toolchain" ,
223
+ ],
224
+ env = {
225
+ "JQ_BIN" : "$(JQ_BIN)" ,
226
+ "JQ_ANSI_UTILS" : "$(location :ansi.jq)" ,
227
+ "JQ_CVE_UTILS" : "$(location :cve_utils.jq)" ,
228
+ "JQ_VERSION_UTILS" : "$(location :version.jq)" ,
229
+ "JQ_REPORT" : "$(location :cve_report.jq)" ,
230
+ },
231
+ tags = ["no-remote-exec" ],
232
+ toolchains = ["@jq_toolchains//:resolved_toolchain" ],
233
+ )
0 commit comments