diff --git a/.gitignore b/.gitignore index 546f5bf134..13524d4da8 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,8 @@ Sessionx.vim # Temporary .netrwhist *~ +*.tar + # Auto-generated tag files tags # Persistent undo diff --git a/scanners/nuclei/Chart.yaml b/scanners/nuclei/Chart.yaml index de8c63ffde..82ed74b459 100644 --- a/scanners/nuclei/Chart.yaml +++ b/scanners/nuclei/Chart.yaml @@ -8,7 +8,7 @@ description: A Helm chart for the nuclei security scanner that integrates with t type: application # version - gets automatically set to the secureCodeBox release version when the helm charts gets published version: v3.1.0-alpha1 -appVersion: "v2.6.2" +appVersion: "v2.6.5" kubeVersion: ">=v1.11.0-0" annotations: versionApi: https://api.github.com/repos/projectdiscovery/nuclei/releases/latest diff --git a/scanners/nuclei/Makefile b/scanners/nuclei/Makefile index 8a1e0fa4bc..93ae39f48b 100644 --- a/scanners/nuclei/Makefile +++ b/scanners/nuclei/Makefile @@ -15,9 +15,8 @@ deploy-without-scanner: helm -n integration-tests upgrade --install $(name) ./ --wait \ --set="parser.image.repository=docker.io/$(IMG_NS)/$(parser-prefix)-$(name)" \ --set="parser.image.tag=$(IMG_TAG)" \ - --set="parser.env[0].name=CRASH_ON_FAILED_VALIDATION" \ - --set-string="parser.env[0].value=true" \ - --set="scanner.image.repository=docker.io/$(IMG_NS)/$(scanner-prefix)-$(name)" \ - --set="scanner.image.tag=$(IMG_TAG)" \ + --set="parser.env[0].name=CRASH_ON_FAILED_VALIDATION" \ + --set-string="parser.env[0].value=true" \ --set="nucleiTemplateCache.enabled=false" +deploy-test-deps: deploy-test-dep-bodgeit diff --git a/scanners/nuclei/README.md b/scanners/nuclei/README.md index 6e03963998..e4c385296f 100644 --- a/scanners/nuclei/README.md +++ b/scanners/nuclei/README.md @@ -3,7 +3,7 @@ title: "Nuclei" category: "scanner" type: "Website" state: "released" -appVersion: "v2.6.2" +appVersion: "v2.6.5" usecase: "Nuclei is a fast, template based vulnerability scanner." --- diff --git a/scanners/nuclei/docs/README.DockerHub-Parser.md b/scanners/nuclei/docs/README.DockerHub-Parser.md index ea4cf0e498..75915b5557 100644 --- a/scanners/nuclei/docs/README.DockerHub-Parser.md +++ b/scanners/nuclei/docs/README.DockerHub-Parser.md @@ -42,7 +42,7 @@ You can find resources to help you get started on our [documentation website](ht ## Supported Tags - `latest` (represents the latest stable release build) -- tagged releases, e.g. `v2.6.2` +- tagged releases, e.g. `v2.6.5` ## How to use this image This `parser` image is intended to work in combination with the corresponding security scanner docker image to parse the `findings` results. For more information details please take a look at the documentation page: https://docs.securecodebox.io/docs/scanners/nuclei. diff --git a/scanners/nuclei/integration-tests/nuclei.test.js b/scanners/nuclei/integration-tests/nuclei.test.js new file mode 100644 index 0000000000..bbdef11463 --- /dev/null +++ b/scanners/nuclei/integration-tests/nuclei.test.js @@ -0,0 +1,43 @@ +// SPDX-FileCopyrightText: the secureCodeBox authors +// +// SPDX-License-Identifier: Apache-2.0 + +const {scan} = require("../../helpers"); + +jest.retryTimes(3); + +// test( +// "Nuclei scan for a vulnerable bodgeit demo target", +// async () => { +// const { categories, severities, count } = await scan( +// "nuclei-juiceshop", +// "nuclei", +// ["-no-interactsh", "-u", "http://bodgeit.demo-targets.svc:8080"], +// 180 +// ); + +// expect(count).toBeGreaterThanOrEqual(4); +// // expect(categories["Image Vulnerability"]).toBeGreaterThanOrEqual(10); +// // expect(categories["NPM Package Vulnerability"]).toBeGreaterThanOrEqual(30); +// // expect(severities["high"]).toBeGreaterThanOrEqual(20); +// // expect(severities["medium"]).toBeGreaterThanOrEqual(10); +// expect(severities["low"]).toBeGreaterThanOrEqual(1); +// }, +// 3 * 60 * 1000 +// ); + +test( + "Nuclei scan for a vulnerable demo target", + async () => { + const { categories, severities, count } = await scan( + "nuclei-scb", + "nuclei", + ["-no-interactsh", "-u", "http://www.secureCodeBox.io"], + 180 + ); + + expect(count).toBeGreaterThanOrEqual(1); + expect(severities["informational"]).toBeGreaterThanOrEqual(1); + }, + 3 * 60 * 1000 +); \ No newline at end of file diff --git a/scanners/nuclei/parser/parser.js b/scanners/nuclei/parser/parser.js index c5490a48a9..7576ba34e9 100644 --- a/scanners/nuclei/parser/parser.js +++ b/scanners/nuclei/parser/parser.js @@ -40,8 +40,9 @@ function getAdjustedSeverity(severity) { case "CRITICAL": return "HIGH"; case "INFO": - case "UNKNOWN": return "INFORMATIONAL"; + case "UNKNOWN": + return "LOW"; default: return severity; }