-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: data race at protocolstate
, contextargs
& some outdated test cases
#5820
Conversation
Signed-off-by: Dwi Siswanto <git@dw1.io>
Signed-off-by: Dwi Siswanto <git@dw1.io>
Test: $ go test -v -run "^Test(MultiProto|Flow)With" ./pkg/tmplexec/...
? github.com/projectdiscovery/nuclei/v3/pkg/tmplexec [no test files]
? github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/flow/builtin [no test files]
? github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/generic [no test files]
=== RUN TestFlowWithProtoPrefix
--- PASS: TestFlowWithProtoPrefix (0.08s)
=== RUN TestFlowWithConditionNegative
--- PASS: TestFlowWithConditionNegative (0.02s)
=== RUN TestFlowWithConditionPositive
flow_executor_test.go:144:
Error Trace: /home/dw1/Development/PD/nuclei/pkg/tmplexec/flow/flow_executor_test.go:144
Error: Expected nil, but got: &errorutil.enrichedError{errString:"got following errors while executing flow <- [:RUNTIME] failed to execute dns:1 protocol <- could not resolve, max retries exceeded", StackTrace:"", Tags:[]string(nil), Level:0x2, OnError:(errorutil.ErrCallback)(nil)}
Test: TestFlowWithConditionPositive
Messages: could not execute template
--- FAIL: TestFlowWithConditionPositive (0.05s)
=== RUN TestFlowWithNoMatchers
flow_executor_test.go:165:
Error Trace: /home/dw1/Development/PD/nuclei/pkg/tmplexec/flow/flow_executor_test.go:165
Error: Expected nil, but got: &errorutil.enrichedError{errString:"got following errors while executing flow <- [:RUNTIME] failed to execute dns:1 protocol <- could not resolve, max retries exceeded", StackTrace:"", Tags:[]string(nil), Level:0x2, OnError:(errorutil.ErrCallback)(nil)}
Test: TestFlowWithNoMatchers
Messages: could not execute template
--- FAIL: TestFlowWithNoMatchers (0.05s)
FAIL
FAIL github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/flow 0.262s
=== RUN TestMultiProtoWithDynamicExtractor
--- PASS: TestMultiProtoWithDynamicExtractor (0.11s)
=== RUN TestMultiProtoWithProtoPrefix
--- PASS: TestMultiProtoWithProtoPrefix (5.75s)
PASS
ok github.com/projectdiscovery/nuclei/v3/pkg/tmplexec/multiproto (cached)
FAIL Tried adjusting git --no-pager diff pkg/testutils/testutils.go
diff --git a/pkg/testutils/testutils.go b/pkg/testutils/testutils.go
index a1ed685c..681bdef1 100644
--- a/pkg/testutils/testutils.go
+++ b/pkg/testutils/testutils.go
@@ -54,8 +54,8 @@ var DefaultOptions = &types.Options{
MetricsPort: 0,
BulkSize: 25,
TemplateThreads: 10,
- Timeout: 5,
- Retries: 1,
+ Timeout: 30,
+ Retries: 5,
RateLimit: 150,
RateLimitDuration: time.Second,
ProbeConcurrency: 50,
@@ -76,6 +76,7 @@ var DefaultOptions = &types.Options{
InteractionsPollDuration: 5,
GitHubTemplateRepo: []string{},
GitHubToken: "",
+ InternalResolversList: []string{"tcp:1.1.1.1:53"},
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
data race in memgardian
$ go test -race -v ./...
? github.com/projectdiscovery/nuclei/v3/lib [no test files]
# github.com/projectdiscovery/nuclei/v3/lib/tests.test
ld: warning: '/private/var/folders/fs/50l_djns0db4w30ttbd6czgr0000gn/T/go-link-2964062660/000024.o' has malformed LC_DYSYMTAB, expected 98 undefined symbols to start at index 1626, found 95 undefined symbols starting at index 1626
=== RUN TestSimpleNuclei
[INF] Your current nuclei-templates v10.0.3 are outdated. Latest is v10.0.4
[INF] Successfully updated nuclei-templates (v10.0.4) to /Users/tarun/nuclei-templates. GoodLuck!
[INF] Templates clustered: 14 (Reduced 10 Requests)
[caa-fingerprint] scanme.sh
[nameserver-fingerprint] scanme.sh
{"duration":"0:00:01","errors":"1","hosts":"1","matched":"2","percent":"94","requests":"16","rps":"15","startedAt":"2024-11-18T15:35:45.18144+05:30","templates":"24","total":"17"}
--- PASS: TestSimpleNuclei (27.54s)
=== RUN TestSimpleNucleiRemote
[nameserver-fingerprint] scanme.sh
--- PASS: TestSimpleNucleiRemote (3.21s)
=== RUN TestThreadSafeNuclei
==================
WARNING: DATA RACE
Write at 0x000106f1b918 by goroutine 9731:
github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate.StartActiveMemGuardian()
/Users/tarun/Codebase2/nuclei/pkg/protocols/common/protocolstate/memguardian.go:26 +0x64
github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate.Init()
/Users/tarun/Codebase2/nuclei/pkg/protocols/common/protocolstate/state.go:162 +0x1114
github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:458 +0x364
fmt.Fscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:143 +0x94
fmt.Sscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:114 +0x1ec
github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:657 +0x138
fmt.(*ss).doScanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:1230 +0x328
fmt.Fscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:143 +0x94
fmt.Sscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:114 +0x130
github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:643 +0x74
github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:458 +0x364
github.com/syndtr/goleveldb/leveldb.(*DB).checkAndCleanFiles()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/db_util.go:52 +0x1d0
github.com/syndtr/goleveldb/leveldb.openDB()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/db.go:130 +0x674
github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:458 +0x364
fmt.Fscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:143 +0x94
fmt.Sscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:114 +0x130
github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:643 +0x74
github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:458 +0x364
fmt.Fscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:143 +0x94
fmt.Sscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:114 +0x130
github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:643 +0x74
github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:458 +0x364
fmt.Fscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:143 +0x94
fmt.Sscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:114 +0x1ec
github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:657 +0x138
fmt.(*ss).doScanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:1230 +0x328
fmt.Fscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:143 +0x94
fmt.Sscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:114 +0x130
github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:643 +0x74
github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:458 +0x364
github.com/syndtr/goleveldb/leveldb.(*DB).recoverJournal()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/db.go:476 +0x84
github.com/syndtr/goleveldb/leveldb.openDB()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/db.go:125 +0x668
github.com/syndtr/goleveldb/leveldb.Open()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/db.go:197 +0x274
fmt.Fscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:143 +0x94
fmt.Sscanf()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/fmt/scan.go:114 +0x130
github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:643 +0x74
github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/storage/file_storage.go:458 +0x364
github.com/syndtr/goleveldb/leveldb.(*session).recover.func1()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/session.go:113 +0xb4
runtime.deferreturn()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/runtime/panic.go:602 +0x5c
github.com/syndtr/goleveldb/leveldb.Open()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/db.go:183 +0xb0
github.com/syndtr/goleveldb/leveldb.OpenFile()
/Users/tarun/go/pkg/mod/github.com/syndtr/goleveldb@v1.0.0/leveldb/db.go:219 +0x6c
github.com/projectdiscovery/hmap/store/disk.OpenLevelDB()
/Users/tarun/go/pkg/mod/github.com/projectdiscovery/hmap@v0.0.65/store/disk/leveldb.go:25 +0x90
github.com/projectdiscovery/hmap/store/hybrid.New()
/Users/tarun/go/pkg/mod/github.com/projectdiscovery/hmap@v0.0.65/store/hybrid/hybrid.go:157 +0x65c
github.com/projectdiscovery/fastdialer/fastdialer.NewDialer()
/Users/tarun/go/pkg/mod/github.com/projectdiscovery/fastdialer@v0.2.9/fastdialer/dialer.go:87 +0x260
github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate.Init()
/Users/tarun/Codebase2/nuclei/pkg/protocols/common/protocolstate/state.go:151 +0x10a0
github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolinit.Init()
/Users/tarun/Codebase2/nuclei/pkg/protocols/common/protocolinit/init.go:16 +0x2c
github.com/projectdiscovery/nuclei/v3/lib.(*NucleiEngine).init.func1()
/Users/tarun/Codebase2/nuclei/lib/sdk_private.go:119 +0x40
sync.(*Once).doSlow()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/sync/once.go:74 +0xb4
sync.(*Once).Do()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/sync/once.go:65 +0x40
github.com/projectdiscovery/nuclei/v3/lib.(*NucleiEngine).init()
/Users/tarun/Codebase2/nuclei/lib/sdk_private.go:118 +0x2a8
github.com/projectdiscovery/nuclei/v3/lib.NewThreadSafeNucleiEngineCtx()
/Users/tarun/Codebase2/nuclei/lib/multi.go:97 +0x2a0
github.com/projectdiscovery/nuclei/v3/lib/tests_test.TestThreadSafeNuclei.func1()
/Users/tarun/Codebase2/nuclei/lib/tests/sdk_test.go:106 +0x9c
github.com/projectdiscovery/nuclei/v3/lib/tests_test.TestThreadSafeNuclei()
/Users/tarun/Codebase2/nuclei/lib/tests/sdk_test.go:133 +0x270
testing.tRunner()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/testing/testing.go:1689 +0x180
testing.(*T).Run.gowrap1()
/opt/homebrew/Cellar/go/1.22.6/libexec/src/testing/testing.go:1742 +0x40
Previous read at 0x000106f1b918 by goroutine 9706:
github.com/projectdiscovery/nuclei/v3/pkg/protocols/common/protocolstate.StartActiveMemGuardian.func1()
/Users/tarun/Codebase2/nuclei/pkg/protocols/common/protocolstate/memguardian.go:33 +0x50
Signed-off-by: Dwi Siswanto <git@dw1.io>
Signed-off-by: Dwi Siswanto <git@dw1.io>
Signed-off-by: Dwi Siswanto <git@dw1.io>
protocolstate
, contextargs
, and some oudated test cases
protocolstate
, contextargs
, and some oudated test casesprotocolstate
& contextargs
& some outdated test cases
protocolstate
& contextargs
& some outdated test casesprotocolstate
, contextargs
& some outdated test cases
This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation. |
q & todos:
|
* projectdiscovery-main: (283 commits) upgrade ci(generate-docs): push w/o pull (projectdiscovery#5843) auto gen docs update handle env variables in dynamic secret file (projectdiscovery#5835) disable self-contained and file protocol templates as default (projectdiscovery#5825) chore(deps): bump github.com/projectdiscovery/hmap from 0.0.65 to 0.0.67 (projectdiscovery#5832) feat: Added time based delay analyzer to fuzzing implementation (projectdiscovery#5781) fix: data race at `protocolstate`, `contextargs` & some outdated test cases (projectdiscovery#5820) chore(deps): bump github.com/projectdiscovery/retryabledns chore(deps): bump github.com/projectdiscovery/goflags chore(deps): bump github.com/projectdiscovery/dsl from 0.3.0 to 0.3.3 chore(deps): bump github.com/projectdiscovery/rawhttp Batch JSONL output and add trailing commas (projectdiscovery#5705) ci: refactor workflows (projectdiscovery#5818) chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (projectdiscovery#5795) chore(deps): bump github.com/projectdiscovery/rawhttp (projectdiscovery#5809) chore(deps): bump github.com/projectdiscovery/wappalyzergo (projectdiscovery#5808) update version chore(deps): bump github.com/projectdiscovery/gologger chore(deps): bump github.com/projectdiscovery/useragent ... # Conflicts: # .github/ISSUE_TEMPLATE/feature_request.md # .github/ISSUE_TEMPLATE/issue-report.md # .run/DSLFunctionsIT.run.xml # DESIGN.md # README.md # README_CN.md # README_ID.md # README_KR.md # cmd/docgen/docgen.go # cmd/functional-test/main.go # cmd/functional-test/run.sh # cmd/integration-test/custom-dir.go # cmd/integration-test/dns.go # cmd/integration-test/file.go # cmd/integration-test/fuzz.go # cmd/integration-test/headless.go # cmd/integration-test/http.go # cmd/integration-test/integration-test.go # cmd/integration-test/library.go # cmd/integration-test/loader.go # cmd/integration-test/offline-http.go # cmd/integration-test/ssl.go # cmd/integration-test/template-dir.go # cmd/integration-test/template-path.go # cmd/integration-test/websocket.go # cmd/integration-test/whois.go # cmd/integration-test/workflow.go # cmd/nuclei/main.go # examples/advanced/advanced.go # examples/simple/simple.go # go.mod # go.sum # internal/colorizer/colorizer.go # internal/runner/banner.go # internal/runner/healthcheck.go # internal/runner/lazy.go # internal/runner/options.go # internal/runner/proxy.go # internal/runner/runner.go # internal/runner/runner_test.go # internal/runner/templates.go # lib/example_test.go # lib/sdk.go # lib/sdk_private.go # pkg/catalog/disk/find.go # pkg/catalog/loader/filter/path_filter.go # pkg/catalog/loader/loader.go # pkg/catalog/loader/loader_test.go # pkg/catalog/loader/remote_loader.go # pkg/core/engine.go # pkg/core/executors.go # pkg/core/workflow_execute.go # pkg/core/workflow_execute_test.go # pkg/external/customtemplates/azure_blob.go # pkg/external/customtemplates/github.go # pkg/external/customtemplates/github_test.go # pkg/external/customtemplates/gitlab.go # pkg/external/customtemplates/s3.go # pkg/external/customtemplates/templates_provider.go # pkg/fuzz/component/path.go # pkg/fuzz/fuzz.go # pkg/input/formats/swagger/swagger.go # pkg/input/provider/list/hmap.go # pkg/input/provider/list/hmap_test.go # pkg/input/transform.go # pkg/installer/template.go # pkg/installer/template_test.go # pkg/installer/util.go # pkg/installer/versioncheck.go # pkg/installer/versioncheck_test.go # pkg/js/compiler/compiler.go # pkg/js/compiler/init.go # pkg/js/global/scripts.go # pkg/js/libs/mssql/mssql.go # pkg/js/libs/postgres/postgres.go # pkg/loader/workflow/workflow_loader.go # pkg/model/model.go # pkg/model/model_test.go # pkg/model/types/severity/severities.go # pkg/model/types/stringslice/stringslice.go # pkg/operators/common/dsl/dsl.go # pkg/operators/extractors/compile.go # pkg/operators/extractors/extract.go # pkg/operators/matchers/compile.go # pkg/operators/matchers/match.go # pkg/operators/operators.go # pkg/output/format_screen.go # pkg/output/output.go # pkg/output/output_test.go # pkg/protocols/common/expressions/expressions.go # pkg/protocols/common/expressions/variables.go # pkg/protocols/common/generators/generators.go # pkg/protocols/common/generators/generators_test.go # pkg/protocols/common/generators/options.go # pkg/protocols/common/generators/validate.go # pkg/protocols/common/helpers/eventcreator/eventcreator.go # pkg/protocols/common/helpers/responsehighlighter/response_highlighter.go # pkg/protocols/common/helpers/responsehighlighter/response_highlighter_test.go # pkg/protocols/common/helpers/writer/writer.go # pkg/protocols/common/interactsh/interactsh.go # pkg/protocols/common/interactsh/options.go # pkg/protocols/common/protocolstate/state.go # pkg/protocols/common/replacer/replacer.go # pkg/protocols/common/uncover/uncover.go # pkg/protocols/common/utils/vardump/dump.go # pkg/protocols/common/variables/variables.go # pkg/protocols/dns/dns.go # pkg/protocols/dns/dns_test.go # pkg/protocols/dns/dnsclientpool/clientpool.go # pkg/protocols/dns/operators.go # pkg/protocols/dns/operators_test.go # pkg/protocols/dns/request.go # pkg/protocols/dns/request_test.go # pkg/protocols/file/file.go # pkg/protocols/file/find_test.go # pkg/protocols/file/operators.go # pkg/protocols/file/operators_test.go # pkg/protocols/file/request.go # pkg/protocols/file/request_test.go # pkg/protocols/headless/engine/engine.go # pkg/protocols/headless/engine/http_client.go # pkg/protocols/headless/engine/instance.go # pkg/protocols/headless/engine/page_actions.go # pkg/protocols/headless/engine/page_actions_test.go # pkg/protocols/headless/engine/util.go # pkg/protocols/headless/headless.go # pkg/protocols/headless/operators.go # pkg/protocols/headless/request.go # pkg/protocols/http/build_request.go # pkg/protocols/http/build_request_test.go # pkg/protocols/http/cluster.go # pkg/protocols/http/http.go # pkg/protocols/http/http_test.go # pkg/protocols/http/httpclientpool/clientpool.go # pkg/protocols/http/operators.go # pkg/protocols/http/operators_test.go # pkg/protocols/http/request.go # pkg/protocols/http/request_annotations.go # pkg/protocols/http/request_annotations_test.go # pkg/protocols/http/request_fuzz.go # pkg/protocols/http/request_generator.go # pkg/protocols/http/request_generator_test.go # pkg/protocols/http/signature.go # pkg/protocols/http/signer/signer.go # pkg/protocols/http/signerpool/signerpool.go # pkg/protocols/javascript/js.go # pkg/protocols/network/network.go # pkg/protocols/network/network_test.go # pkg/protocols/network/networkclientpool/clientpool.go # pkg/protocols/network/operators.go # pkg/protocols/network/operators_test.go # pkg/protocols/network/request.go # pkg/protocols/network/request_test.go # pkg/protocols/offlinehttp/find_test.go # pkg/protocols/offlinehttp/offlinehttp.go # pkg/protocols/offlinehttp/operators.go # pkg/protocols/offlinehttp/operators_test.go # pkg/protocols/offlinehttp/request.go # pkg/protocols/protocols.go # pkg/protocols/ssl/ssl.go # pkg/protocols/ssl/ssl_test.go # pkg/protocols/utils/http/variables.go # pkg/protocols/utils/http/variables_test.go # pkg/protocols/utils/utils.go # pkg/protocols/websocket/websocket.go # pkg/protocols/whois/rdapclientpool/clientpool.go # pkg/protocols/whois/whois.go # pkg/reporting/client.go # pkg/reporting/dedupe/dedupe.go # pkg/reporting/dedupe/dedupe_test.go # pkg/reporting/exporters/es/elasticsearch.go # pkg/reporting/exporters/jsonexporter/jsonexporter.go # pkg/reporting/exporters/markdown/markdown.go # pkg/reporting/exporters/sarif/sarif.go # pkg/reporting/exporters/splunk/splunkhec.go # pkg/reporting/format/format_utils.go # pkg/reporting/format/format_utils_test.go # pkg/reporting/options.go # pkg/reporting/reporting.go # pkg/reporting/trackers/jira/jira.go # pkg/scan/scan_context.go # pkg/templates/cluster.go # pkg/templates/compile.go # pkg/templates/compile_test.go # pkg/templates/parser_test.go # pkg/templates/tag_filter.go # pkg/templates/tag_filter_test.go # pkg/templates/templates.go # pkg/templates/templates_doc_examples.go # pkg/templates/types/types.go # pkg/templates/workflows.go # pkg/testutils/testutils.go # pkg/tmplexec/exec.go # pkg/tmplexec/flow/flow_executor.go # pkg/tmplexec/interface.go # pkg/tmplexec/multiproto/multi.go # pkg/tmplexec/multiproto/multi_test.go # pkg/types/interfaces.go # pkg/types/resume.go # pkg/types/types.go # pkg/utils/template_path.go # pkg/utils/utils.go # pkg/utils/yaml/preprocess.go # pkg/workflows/workflows.go # pkg/workflows/workflows_test.go
* projectdiscovery-main: (283 commits) upgrade ci(generate-docs): push w/o pull (projectdiscovery#5843) auto gen docs update handle env variables in dynamic secret file (projectdiscovery#5835) disable self-contained and file protocol templates as default (projectdiscovery#5825) chore(deps): bump github.com/projectdiscovery/hmap from 0.0.65 to 0.0.67 (projectdiscovery#5832) feat: Added time based delay analyzer to fuzzing implementation (projectdiscovery#5781) fix: data race at `protocolstate`, `contextargs` & some outdated test cases (projectdiscovery#5820) chore(deps): bump github.com/projectdiscovery/retryabledns chore(deps): bump github.com/projectdiscovery/goflags chore(deps): bump github.com/projectdiscovery/dsl from 0.3.0 to 0.3.3 chore(deps): bump github.com/projectdiscovery/rawhttp Batch JSONL output and add trailing commas (projectdiscovery#5705) ci: refactor workflows (projectdiscovery#5818) chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (projectdiscovery#5795) chore(deps): bump github.com/projectdiscovery/rawhttp (projectdiscovery#5809) chore(deps): bump github.com/projectdiscovery/wappalyzergo (projectdiscovery#5808) update version chore(deps): bump github.com/projectdiscovery/gologger chore(deps): bump github.com/projectdiscovery/useragent ... # Conflicts: # .github/ISSUE_TEMPLATE/feature_request.md # .github/ISSUE_TEMPLATE/issue-report.md # .run/DSLFunctionsIT.run.xml # DESIGN.md # README.md # README_CN.md # README_ID.md # README_KR.md # cmd/docgen/docgen.go # cmd/functional-test/main.go # cmd/functional-test/run.sh # cmd/integration-test/custom-dir.go # cmd/integration-test/dns.go # cmd/integration-test/file.go # cmd/integration-test/fuzz.go # cmd/integration-test/headless.go # cmd/integration-test/http.go # cmd/integration-test/integration-test.go # cmd/integration-test/library.go # cmd/integration-test/loader.go # cmd/integration-test/offline-http.go # cmd/integration-test/ssl.go # cmd/integration-test/template-dir.go # cmd/integration-test/template-path.go # cmd/integration-test/websocket.go # cmd/integration-test/whois.go # cmd/integration-test/workflow.go # cmd/nuclei/main.go # examples/advanced/advanced.go # examples/simple/simple.go # go.mod # go.sum # internal/colorizer/colorizer.go # internal/runner/banner.go # internal/runner/healthcheck.go # internal/runner/lazy.go # internal/runner/options.go # internal/runner/proxy.go # internal/runner/runner.go # internal/runner/runner_test.go # internal/runner/templates.go # lib/example_test.go # lib/sdk.go # lib/sdk_private.go # pkg/catalog/disk/find.go # pkg/catalog/loader/filter/path_filter.go # pkg/catalog/loader/loader.go # pkg/catalog/loader/loader_test.go # pkg/catalog/loader/remote_loader.go # pkg/core/engine.go # pkg/core/executors.go # pkg/core/workflow_execute.go # pkg/core/workflow_execute_test.go # pkg/external/customtemplates/azure_blob.go # pkg/external/customtemplates/github.go # pkg/external/customtemplates/github_test.go # pkg/external/customtemplates/gitlab.go # pkg/external/customtemplates/s3.go # pkg/external/customtemplates/templates_provider.go # pkg/fuzz/component/path.go # pkg/fuzz/fuzz.go # pkg/input/formats/swagger/swagger.go # pkg/input/provider/list/hmap.go # pkg/input/provider/list/hmap_test.go # pkg/input/transform.go # pkg/installer/template.go # pkg/installer/template_test.go # pkg/installer/util.go # pkg/installer/versioncheck.go # pkg/installer/versioncheck_test.go # pkg/js/compiler/compiler.go # pkg/js/compiler/init.go # pkg/js/global/scripts.go # pkg/js/libs/mssql/mssql.go # pkg/js/libs/postgres/postgres.go # pkg/loader/workflow/workflow_loader.go # pkg/model/model.go # pkg/model/model_test.go # pkg/model/types/severity/severities.go # pkg/model/types/stringslice/stringslice.go # pkg/operators/common/dsl/dsl.go # pkg/operators/extractors/compile.go # pkg/operators/extractors/extract.go # pkg/operators/matchers/compile.go # pkg/operators/matchers/match.go # pkg/operators/operators.go # pkg/output/format_screen.go # pkg/output/output.go # pkg/output/output_test.go # pkg/protocols/common/expressions/expressions.go # pkg/protocols/common/expressions/variables.go # pkg/protocols/common/generators/generators.go # pkg/protocols/common/generators/generators_test.go # pkg/protocols/common/generators/options.go # pkg/protocols/common/generators/validate.go # pkg/protocols/common/helpers/eventcreator/eventcreator.go # pkg/protocols/common/helpers/responsehighlighter/response_highlighter.go # pkg/protocols/common/helpers/responsehighlighter/response_highlighter_test.go # pkg/protocols/common/helpers/writer/writer.go # pkg/protocols/common/interactsh/interactsh.go # pkg/protocols/common/interactsh/options.go # pkg/protocols/common/protocolstate/state.go # pkg/protocols/common/replacer/replacer.go # pkg/protocols/common/uncover/uncover.go # pkg/protocols/common/utils/vardump/dump.go # pkg/protocols/common/variables/variables.go # pkg/protocols/dns/dns.go # pkg/protocols/dns/dns_test.go # pkg/protocols/dns/dnsclientpool/clientpool.go # pkg/protocols/dns/operators.go # pkg/protocols/dns/operators_test.go # pkg/protocols/dns/request.go # pkg/protocols/dns/request_test.go # pkg/protocols/file/file.go # pkg/protocols/file/find_test.go # pkg/protocols/file/operators.go # pkg/protocols/file/operators_test.go # pkg/protocols/file/request.go # pkg/protocols/file/request_test.go # pkg/protocols/headless/engine/engine.go # pkg/protocols/headless/engine/http_client.go # pkg/protocols/headless/engine/instance.go # pkg/protocols/headless/engine/page_actions.go # pkg/protocols/headless/engine/page_actions_test.go # pkg/protocols/headless/engine/util.go # pkg/protocols/headless/headless.go # pkg/protocols/headless/operators.go # pkg/protocols/headless/request.go # pkg/protocols/http/build_request.go # pkg/protocols/http/build_request_test.go # pkg/protocols/http/cluster.go # pkg/protocols/http/http.go # pkg/protocols/http/http_test.go # pkg/protocols/http/httpclientpool/clientpool.go # pkg/protocols/http/operators.go # pkg/protocols/http/operators_test.go # pkg/protocols/http/request.go # pkg/protocols/http/request_annotations.go # pkg/protocols/http/request_annotations_test.go # pkg/protocols/http/request_fuzz.go # pkg/protocols/http/request_generator.go # pkg/protocols/http/request_generator_test.go # pkg/protocols/http/signature.go # pkg/protocols/http/signer/signer.go # pkg/protocols/http/signerpool/signerpool.go # pkg/protocols/javascript/js.go # pkg/protocols/network/network.go # pkg/protocols/network/network_test.go # pkg/protocols/network/networkclientpool/clientpool.go # pkg/protocols/network/operators.go # pkg/protocols/network/operators_test.go # pkg/protocols/network/request.go # pkg/protocols/network/request_test.go # pkg/protocols/offlinehttp/find_test.go # pkg/protocols/offlinehttp/offlinehttp.go # pkg/protocols/offlinehttp/operators.go # pkg/protocols/offlinehttp/operators_test.go # pkg/protocols/offlinehttp/request.go # pkg/protocols/protocols.go # pkg/protocols/ssl/ssl.go # pkg/protocols/ssl/ssl_test.go # pkg/protocols/utils/http/variables.go # pkg/protocols/utils/http/variables_test.go # pkg/protocols/utils/utils.go # pkg/protocols/websocket/websocket.go # pkg/protocols/whois/rdapclientpool/clientpool.go # pkg/protocols/whois/whois.go # pkg/reporting/client.go # pkg/reporting/dedupe/dedupe.go # pkg/reporting/dedupe/dedupe_test.go # pkg/reporting/exporters/es/elasticsearch.go # pkg/reporting/exporters/jsonexporter/jsonexporter.go # pkg/reporting/exporters/markdown/markdown.go # pkg/reporting/exporters/sarif/sarif.go # pkg/reporting/exporters/splunk/splunkhec.go # pkg/reporting/format/format_utils.go # pkg/reporting/format/format_utils_test.go # pkg/reporting/options.go # pkg/reporting/reporting.go # pkg/reporting/trackers/jira/jira.go # pkg/scan/scan_context.go # pkg/templates/cluster.go # pkg/templates/compile.go # pkg/templates/compile_test.go # pkg/templates/parser_test.go # pkg/templates/tag_filter.go # pkg/templates/tag_filter_test.go # pkg/templates/templates.go # pkg/templates/templates_doc_examples.go # pkg/templates/types/types.go # pkg/templates/workflows.go # pkg/testutils/testutils.go # pkg/tmplexec/exec.go # pkg/tmplexec/flow/flow_executor.go # pkg/tmplexec/interface.go # pkg/tmplexec/multiproto/multi.go # pkg/tmplexec/multiproto/multi_test.go # pkg/types/interfaces.go # pkg/types/resume.go # pkg/types/types.go # pkg/utils/template_path.go # pkg/utils/utils.go # pkg/utils/yaml/preprocess.go # pkg/workflows/workflows.go # pkg/workflows/workflows_test.go
Proposed changes
Fixes #5815 #5819 #5833
Checklist