Skip to content

Commit 9c64a1c

Browse files
authored
Reporting validation (#6456)
* add custom validator for reporting issues * use httpx dev branch * remove yaml marshal/unmarshal for validator callback
1 parent 32dfeac commit 9c64a1c

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ require (
9595
github.com/projectdiscovery/gologger v1.1.54
9696
github.com/projectdiscovery/gostruct v0.0.2
9797
github.com/projectdiscovery/gozero v0.1.0
98-
github.com/projectdiscovery/httpx v1.7.1-0.20250901093029-3909667cbaa6
98+
github.com/projectdiscovery/httpx v1.7.1-0.20250902174407-8d6c2658663f
9999
github.com/projectdiscovery/mapcidr v1.1.34
100100
github.com/projectdiscovery/n3iwf v0.0.0-20230523120440-b8cd232ff1f5
101101
github.com/projectdiscovery/networkpolicy v0.1.21
@@ -352,7 +352,7 @@ require (
352352
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
353353
github.com/ysmood/fetchup v0.2.3 // indirect
354354
github.com/ysmood/got v0.40.0 // indirect
355-
github.com/yuin/goldmark v1.7.8 // indirect
355+
github.com/yuin/goldmark v1.7.11 // indirect
356356
github.com/yuin/goldmark-emoji v1.0.5 // indirect
357357
github.com/zcalusic/sysinfo v1.0.2 // indirect
358358
github.com/zeebo/blake3 v0.2.3 // indirect

go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1263,8 +1263,8 @@ github.com/projectdiscovery/gozero v0.1.0 h1:QC+WPEsEVFtPmAm9FiIVT/obv9rF/pS2mna
12631263
github.com/projectdiscovery/gozero v0.1.0/go.mod h1:gJUNa8eQgMxLaa0UiLChPTV71/BLLrlPAaUp1C2mrhs=
12641264
github.com/projectdiscovery/hmap v0.0.93 h1:iIRdioT4byGJ4Hz5cOjo1fd3HFFi1MUFPv+EGYc1yng=
12651265
github.com/projectdiscovery/hmap v0.0.93/go.mod h1:oKgtWo2QMD7BkW25ezYbFCqKO3IctZ2ByEaG2XWW0t0=
1266-
github.com/projectdiscovery/httpx v1.7.1-0.20250901093029-3909667cbaa6 h1:LrO3ryyJikuyZmHk/vWlQGnio65gVIqkgQK1+2L80+Q=
1267-
github.com/projectdiscovery/httpx v1.7.1-0.20250901093029-3909667cbaa6/go.mod h1:lV4GZJb6TArwq/VT+AdZbysG+Ukneyfr9cXsYTrLbbE=
1266+
github.com/projectdiscovery/httpx v1.7.1-0.20250902174407-8d6c2658663f h1:Z73qF1ilD5RUsZP4Px4JImFkCTRlQ5K8uR2gm9eakw8=
1267+
github.com/projectdiscovery/httpx v1.7.1-0.20250902174407-8d6c2658663f/go.mod h1:hGAOnHyiq80ASpwbycv8Q32wsfcI8xtADEDw/mKPqTs=
12681268
github.com/projectdiscovery/interactsh v1.2.4 h1:WUSj+fxbcV53J64oIAhbYzCKD1w/IyenyRBhkI5jiqI=
12691269
github.com/projectdiscovery/interactsh v1.2.4/go.mod h1:E/IVNZ80/WKz8zTwGJWQygxIbhlRmuzZFsZwcGSZTdc=
12701270
github.com/projectdiscovery/ldapserver v1.0.2-0.20240219154113-dcc758ebc0cb h1:MGtI4oE12ruWv11ZlPXXd7hl/uAaQZrFvrIDYDeVMd8=
@@ -1535,8 +1535,8 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
15351535
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
15361536
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
15371537
github.com/yuin/goldmark v1.7.1/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
1538-
github.com/yuin/goldmark v1.7.8 h1:iERMLn0/QJeHFhxSt3p6PeN9mGnvIKSpG9YYorDMnic=
1539-
github.com/yuin/goldmark v1.7.8/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E=
1538+
github.com/yuin/goldmark v1.7.11 h1:ZCxLyDMtz0nT2HFfsYG8WZ47Trip2+JyLysKcMYE5bo=
1539+
github.com/yuin/goldmark v1.7.11/go.mod h1:ip/1k0VRfGynBgxOz0yCqHrbZXhcjxyuS66Brc7iBKg=
15401540
github.com/yuin/goldmark-emoji v1.0.5 h1:EMVWyCGPlXJfUXBXpuMu+ii3TIaxbVBnEX9uaDC4cIk=
15411541
github.com/yuin/goldmark-emoji v1.0.5/go.mod h1:tTkZEbwu5wkPmgTcitqddVxY9osFZiavD+r4AzQrh1U=
15421542
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=

pkg/reporting/options.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package reporting
22

33
import (
4+
"github.com/projectdiscovery/nuclei/v3/pkg/output"
45
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/es"
56
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/jsonexporter"
67
"github.com/projectdiscovery/nuclei/v3/pkg/reporting/exporters/jsonl"
@@ -23,6 +24,8 @@ type Options struct {
2324
AllowList *filters.Filter `yaml:"allow-list"`
2425
// DenyList contains a list of denied events for reporting module
2526
DenyList *filters.Filter `yaml:"deny-list"`
27+
// ValidatorCallback is a callback function that is called to validate an event before it is reported
28+
ValidatorCallback func(event *output.ResultEvent) bool `yaml:"-"`
2629
// GitHub contains configuration options for GitHub Issue Tracker
2730
GitHub *github.Options `yaml:"github"`
2831
// GitLab contains configuration options for GitLab Issue Tracker

pkg/reporting/reporting.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,10 @@ func (c *ReportingClient) CreateIssue(event *output.ResultEvent) error {
288288
return nil
289289
}
290290

291+
if c.options.ValidatorCallback != nil && !c.options.ValidatorCallback(event) {
292+
return nil
293+
}
294+
291295
var err error
292296
unique := true
293297
if c.dedupe != nil {

0 commit comments

Comments
 (0)