Skip to content
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

Merged
merged 10 commits into from
Nov 19, 2024

Conversation

dwisiswant0
Copy link
Member

@dwisiswant0 dwisiswant0 commented Nov 14, 2024

Proposed changes

Fixes #5815 #5819 #5833

Checklist

  • Pull request is created against the dev branch
  • All checks passed (lint, unit/integration/regression tests etc.) with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)

Signed-off-by: Dwi Siswanto <git@dw1.io>
Signed-off-by: Dwi Siswanto <git@dw1.io>
@auto-assign auto-assign bot requested a review from dogancanbakir November 14, 2024 12:42
@dwisiswant0 dwisiswant0 marked this pull request as draft November 14, 2024 16:09
@dwisiswant0
Copy link
Member Author

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 InternalResolversList, Timeout, and Retries opts, but still no luck.

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"},
 }

@Ice3man543 Ice3man543 marked this pull request as ready for review November 18, 2024 08:06
@Ice3man543 Ice3man543 linked an issue Nov 18, 2024 that may be closed by this pull request
Copy link
Member

@tarunKoyalwar tarunKoyalwar left a 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

Ice3man543 and others added 4 commits November 18, 2024 15:46
Signed-off-by: Dwi Siswanto <git@dw1.io>
Signed-off-by: Dwi Siswanto <git@dw1.io>
Signed-off-by: Dwi Siswanto <git@dw1.io>
@dwisiswant0 dwisiswant0 linked an issue Nov 18, 2024 that may be closed by this pull request
@dwisiswant0 dwisiswant0 changed the title test: update outdated test cases fix: data race at protocolstate, contextargs, and some oudated test cases Nov 18, 2024
@dwisiswant0 dwisiswant0 changed the title fix: data race at protocolstate, contextargs, and some oudated test cases fix: data race at protocolstate & contextargs & some outdated test cases Nov 18, 2024
@dwisiswant0 dwisiswant0 changed the title fix: data race at protocolstate & contextargs & some outdated test cases fix: data race at protocolstate, contextargs & some outdated test cases Nov 18, 2024
@github-advanced-security
Copy link

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.

@dwisiswant0
Copy link
Member Author

dwisiswant0 commented Nov 18, 2024

q & todos:

  • is FQDN == raw input (DNS-protocol-based template)?
  • configurable git HTTP client

@ehsandeep ehsandeep merged commit 13af7cc into dev Nov 19, 2024
16 of 17 checks passed
@ehsandeep ehsandeep deleted the dwisiswant0/test/update-outdated-test-cases branch November 19, 2024 05:38
@ehsandeep ehsandeep removed the request for review from dogancanbakir November 19, 2024 05:38
Explorer1092 pushed a commit to Explorer1092/nuclei that referenced this pull request Nov 25, 2024
* 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
Explorer1092 pushed a commit to Explorer1092/nuclei that referenced this pull request Nov 25, 2024
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants