Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: nuclei
Upstream-Contact: <preferred name and address to reach the upstream project>
Source: <url://example.com>
#
# Please double check copyright with the licensecheck(1) command.

Files:     .github/DISCUSSION_TEMPLATE.md
           .github/ISSUE_TEMPLATE/bug-report.yml
           .github/ISSUE_TEMPLATE/config.yml
           .github/ISSUE_TEMPLATE/reference-templates/README.md
           .github/ISSUE_TEMPLATE/reference-templates/feature-request-reference.yml
           .github/PULL_REQUEST_TEMPLATE.md
           .github/auto_assign.yml
           .github/dependabot.yml
           .github/release.yml
           .github/workflows/auto-merge.yaml
           .github/workflows/compat-checks.yaml
           .github/workflows/flamegraph.yaml
           .github/workflows/fuzz.yaml
           .github/workflows/generate-docs.yaml
           .github/workflows/generate-pgo.yaml
           .github/workflows/govulncheck.yaml
           .github/workflows/memogen.yaml
           .github/workflows/perf-regression.yaml
           .github/workflows/release.yaml
           .github/workflows/stale.yaml
           .github/workflows/tests.yaml
           .github/workflows/typos.yaml
           .goreleaser.yml
           CLAUDE.md
           CONTRIBUTING.md
           DEBUG.md
           DESIGN.md
           Dockerfile
           Dockerfile.goreleaser
           FUZZING.md
           Makefile
           README.md
           README_TR.md
           THANKS.md
           _typos.toml
           cmd/docgen/docgen.go
           cmd/generate-checksum/main.go
           cmd/memogen/function.tpl
           cmd/memogen/memogen.go
           cmd/nuclei/issue-tracker-config.yaml
           cmd/nuclei/main.go
           cmd/nuclei/main_benchmark_test.go
           cmd/nuclei/profile_test.go
           cmd/scan-charts/main.go
           cmd/tmc/main.go
           cmd/tmc/types.go
           cmd/tools/fuzzplayground/main.go
           cmd/tools/signer/main.go
           examples/advanced/advanced.go
           examples/simple/simple.go
           examples/with_speed_control/main.go
           go.mod
           go.sum
           go.tool.mod
           go.tool.sum
           helm/Chart.yaml
           helm/templates/NOTES.txt
           helm/templates/_helpers.tpl
           helm/templates/hpa.yaml
           helm/templates/interactsh-deployment.yaml
           helm/templates/interactsh-ingress.yaml
           helm/templates/interactsh-service.yaml
           helm/templates/nuclei-configmap.yaml
           helm/templates/nuclei-cron.yaml
           helm/templates/serviceaccount.yaml
           internal/colorizer/colorizer.go
           internal/fuzzplayground/db.go
           internal/fuzzplayground/server.go
           internal/fuzzplayground/sqli_test.go
           internal/httpapi/apiendpoint.go
           internal/pdcp/utils.go
           internal/pdcp/writer.go
           internal/runner/banner.go
           internal/runner/healthcheck.go
           internal/runner/inputs.go
           internal/runner/lazy.go
           internal/runner/lazy_test.go
           internal/runner/options.go
           internal/runner/options_test.go
           internal/runner/proxy.go
           internal/runner/runner.go
           internal/runner/runner_test.go
           internal/runner/templates.go
           internal/runner/testdata/test-issue-tracker-config1.yaml
           internal/runner/testdata/test-issue-tracker-config2.yaml
           internal/server/dedupe.go
           internal/server/nuclei_sdk.go
           internal/server/requests_worker.go
           internal/server/scope/extensions.go
           internal/server/scope/scope.go
           internal/server/scope/scope_test.go
           internal/server/server.go
           internal/tests/functional/functional_test.go
           internal/tests/functional/testdata/targets-1000.txt
           internal/tests/functional/testdata/targets-150.txt
           internal/tests/functional/testdata/targets-250.txt
           internal/tests/functional/testdata/targets.txt
           internal/tests/functional/testdata/testcases.txt
           internal/tests/integration/code_test.go
           internal/tests/integration/config_and_templates_test.go
           internal/tests/integration/dns_test.go
           internal/tests/integration/dsl_test.go
           internal/tests/integration/exporters_test.go
           internal/tests/integration/file_test.go
           internal/tests/integration/flow_test.go
           internal/tests/integration/fuzz_test.go
           internal/tests/integration/generic_test.go
           internal/tests/integration/headless_test.go
           internal/tests/integration/http_test.go
           internal/tests/integration/integration_test.go
           internal/tests/integration/interactsh_test.go
           internal/tests/integration/javascript_test.go
           internal/tests/integration/library_test.go
           internal/tests/integration/loader_test.go
           internal/tests/integration/matcher-status_test.go
           internal/tests/integration/multi_test.go
           internal/tests/integration/network_test.go
           internal/tests/integration/offline-http_test.go
           internal/tests/integration/profile-loader_test.go
           internal/tests/integration/runner_test.go
           internal/tests/integration/ssl_test.go
           internal/tests/integration/template-path_test.go
           internal/tests/integration/testdata/dsl/show-version-warning.yaml
           internal/tests/integration/testdata/fuzz/testData/ginandjuice.proxify.yaml
           internal/tests/integration/testdata/generic/auth/certificate/assets/client.crt
           internal/tests/integration/testdata/generic/auth/certificate/assets/client.key
           internal/tests/integration/testdata/generic/auth/certificate/assets/server.crt
           internal/tests/integration/testdata/library/test.json
           internal/tests/integration/testdata/loader/template-list.yaml
           internal/tests/integration/testdata/loader/workflow-list.yaml
           internal/tests/integration/testdata/profile-loader/basic.yml
           internal/tests/integration/testdata/protocols/code/pyfile.py
           internal/tests/integration/testdata/protocols/file/data/test1.txt
           internal/tests/integration/testdata/protocols/file/data/test2.txt
           internal/tests/integration/testdata/protocols/file/data/test3.txt
           internal/tests/integration/testdata/protocols/http/http-paths.yaml
           internal/tests/integration/testdata/protocols/http/raw-unsafe-path.yaml
           internal/tests/integration/testdata/protocols/keys/README.md
           internal/tests/integration/testdata/protocols/keys/ci-private-key.pem
           internal/tests/integration/testdata/protocols/keys/ci.crt
           internal/tests/integration/testdata/protocols/offlinehttp/data/req-resp-with-http-keywords.txt
           internal/tests/integration/testdata/subdomains.txt
           internal/tests/integration/testdata/test-issue-tracker-config1.yaml
           internal/tests/integration/testdata/test-issue-tracker-config2.yaml
           internal/tests/integration/websocket_test.go
           internal/tests/integration/whois_test.go
           internal/tests/integration/workflow_test.go
           internal/tests/testheadless/headless_local.go
           internal/tests/testheadless/headless_runtime.go
           internal/tests/testutils/integration.go
           internal/tests/testutils/testutils.go
           lib/README.md
           lib/example_test.go
           lib/helper.go
           lib/multi.go
           lib/sdk.go
           lib/sdk_private.go
           lib/sdk_test.go
           lib/tests/sdk_test.go
           nuclei-jsonschema.json
           pkg/authprovider/authx/basic_auth.go
           pkg/authprovider/authx/bearer_auth.go
           pkg/authprovider/authx/cookies_auth.go
           pkg/authprovider/authx/dynamic.go
           pkg/authprovider/authx/dynamic_test.go
           pkg/authprovider/authx/file_test.go
           pkg/authprovider/authx/headers_auth.go
           pkg/authprovider/authx/query_auth.go
           pkg/authprovider/authx/strategy.go
           pkg/authprovider/file.go
           pkg/authprovider/interface.go
           pkg/authprovider/multi.go
           pkg/catalog/aws/catalog.go
           pkg/catalog/catalog.go
           pkg/catalog/config/constants.go
           pkg/catalog/config/ignorefile.go
           pkg/catalog/config/nucleiconfig.go
           pkg/catalog/config/template.go
           pkg/catalog/config/template_test.go
           pkg/catalog/disk/catalog.go
           pkg/catalog/disk/errors.go
           pkg/catalog/disk/find.go
           pkg/catalog/disk/known-files.go
           pkg/catalog/disk/path.go
           pkg/catalog/index/filter.go
           pkg/catalog/index/index.go
           pkg/catalog/index/index_test.go
           pkg/catalog/index/metadata.go
           pkg/catalog/loader/ai_loader.go
           pkg/catalog/loader/filter/path_filter.go
           pkg/catalog/loader/loader_bench_test.go
           pkg/catalog/loader/loader_test.go
           pkg/catalog/loader/remote_loader.go
           pkg/core/engine.go
           pkg/core/engine_test.go
           pkg/core/execute_options.go
           pkg/core/executors.go
           pkg/core/executors_test.go
           pkg/core/workflow_execute.go
           pkg/core/workflow_execute_test.go
           pkg/core/workpool.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/analyzers/analyzers.go
           pkg/fuzz/analyzers/time/analyzer.go
           pkg/fuzz/analyzers/time/time_delay.go
           pkg/fuzz/analyzers/time/time_delay_test.go
           pkg/fuzz/analyzers/xss/analyzer.go
           pkg/fuzz/analyzers/xss/analyzer_test.go
           pkg/fuzz/analyzers/xss/context.go
           pkg/fuzz/component/body.go
           pkg/fuzz/component/body_test.go
           pkg/fuzz/component/component.go
           pkg/fuzz/component/cookie.go
           pkg/fuzz/component/cookie_test.go
           pkg/fuzz/component/headers.go
           pkg/fuzz/component/headers_test.go
           pkg/fuzz/component/path.go
           pkg/fuzz/component/path_test.go
           pkg/fuzz/component/query.go
           pkg/fuzz/component/query_test.go
           pkg/fuzz/component/value.go
           pkg/fuzz/component/value_test.go
           pkg/fuzz/dataformat/dataformat.go
           pkg/fuzz/dataformat/dataformat_test.go
           pkg/fuzz/dataformat/form.go
           pkg/fuzz/dataformat/json.go
           pkg/fuzz/dataformat/kv.go
           pkg/fuzz/dataformat/multipart.go
           pkg/fuzz/dataformat/multipart_test.go
           pkg/fuzz/dataformat/raw.go
           pkg/fuzz/dataformat/xml.go
           pkg/fuzz/doc.go
           pkg/fuzz/execute.go
           pkg/fuzz/execute_race_test.go
           pkg/fuzz/frequency/tracker.go
           pkg/fuzz/fuzz.go
           pkg/fuzz/fuzz_test.go
           pkg/fuzz/parts.go
           pkg/fuzz/parts_frequency_test.go
           pkg/fuzz/parts_test.go
           pkg/fuzz/stats/db.go
           pkg/fuzz/stats/db_test.go
           pkg/fuzz/stats/simple.go
           pkg/fuzz/stats/stats.go
           pkg/fuzz/type.go
           pkg/input/README.md
           pkg/input/formats/README.md
           pkg/input/formats/burp/burp.go
           pkg/input/formats/burp/burp_test.go
           pkg/input/formats/formats.go
           pkg/input/formats/json/json.go
           pkg/input/formats/json/json_test.go
           pkg/input/formats/openapi/downloader.go
           pkg/input/formats/openapi/downloader_test.go
           pkg/input/formats/openapi/examples.go
           pkg/input/formats/openapi/generator.go
           pkg/input/formats/openapi/openapi.go
           pkg/input/formats/openapi/openapi_test.go
           pkg/input/formats/swagger/downloader.go
           pkg/input/formats/swagger/downloader_test.go
           pkg/input/formats/swagger/swagger.go
           pkg/input/formats/swagger/swagger_test.go
           pkg/input/formats/testdata/ginandjuice.proxify.json
           pkg/input/formats/testdata/ginandjuice.proxify.yaml
           pkg/input/formats/testdata/openapi.yaml
           pkg/input/formats/testdata/postman.json
           pkg/input/formats/testdata/swagger.yaml
           pkg/input/formats/testdata/ytt/ginandjuice.ytt.yaml
           pkg/input/formats/testdata/ytt/ytt-profile.yaml
           pkg/input/formats/testdata/ytt/ytt-vars.yaml
           pkg/input/formats/yaml/multidoc.go
           pkg/input/formats/yaml/multidoc_test.go
           pkg/input/formats/yaml/ytt.go
           pkg/input/provider/chunked.go
           pkg/input/provider/http/multiformat.go
           pkg/input/provider/interface.go
           pkg/input/provider/list/hmap.go
           pkg/input/provider/list/hmap_test.go
           pkg/input/provider/list/tests/AS134029.txt
           pkg/input/provider/list/tests/AS14421.txt
           pkg/input/provider/list/utils.go
           pkg/input/provider/simple.go
           pkg/input/transform.go
           pkg/input/transform_test.go
           pkg/input/types/http.go
           pkg/input/types/http_test.go
           pkg/input/types/probe.go
           pkg/installer/doc.go
           pkg/installer/template.go
           pkg/installer/util.go
           pkg/installer/versioncheck.go
           pkg/installer/versioncheck_test.go
           pkg/installer/zipslip_unix_test.go
           pkg/js/CONTRIBUTE.md
           pkg/js/DESIGN.md
           pkg/js/THANKS.md
           pkg/js/compiler/compiler.go
           pkg/js/compiler/compiler_test.go
           pkg/js/compiler/init.go
           pkg/js/compiler/non-pool.go
           pkg/js/compiler/pool.go
           pkg/js/compiler/pool_test.go
           pkg/js/devtools/README.md
           pkg/js/devtools/bindgen/INSTALL.md
           pkg/js/devtools/bindgen/README.md
           pkg/js/devtools/bindgen/cmd/bindgen/main.go
           pkg/js/devtools/bindgen/generator.go
           pkg/js/devtools/bindgen/output.go
           pkg/js/devtools/bindgen/templates/go_class.tmpl
           pkg/js/devtools/bindgen/templates/js_class.tmpl
           pkg/js/devtools/bindgen/templates/markdown_class.tmpl
           pkg/js/devtools/scrapefuncs/README.md
           pkg/js/devtools/scrapefuncs/main.go
           pkg/js/devtools/tsgen/README.md
           pkg/js/devtools/tsgen/astutil.go
           pkg/js/devtools/tsgen/cmd/tsgen/main.go
           pkg/js/devtools/tsgen/cmd/tsgen/tsmodule.go.tmpl
           pkg/js/devtools/tsgen/parser.go
           pkg/js/devtools/tsgen/scrape.go
           pkg/js/devtools/tsgen/types.go
           pkg/js/generated/README.md
           pkg/js/generated/go/libbytes/bytes.go
           pkg/js/generated/go/libfs/fs.go
           pkg/js/generated/go/libgoconsole/goconsole.go
           pkg/js/generated/go/libikev2/ikev2.go
           pkg/js/generated/go/libkerberos/kerberos.go
           pkg/js/generated/go/libldap/ldap.go
           pkg/js/generated/go/libmssql/mssql.go
           pkg/js/generated/go/libmysql/mysql.go
           pkg/js/generated/go/libnet/net.go
           pkg/js/generated/go/liboracle/oracle.go
           pkg/js/generated/go/libpop3/pop3.go
           pkg/js/generated/go/libpostgres/postgres.go
           pkg/js/generated/go/librdp/rdp.go
           pkg/js/generated/go/libredis/redis.go
           pkg/js/generated/go/librsync/rsync.go
           pkg/js/generated/go/libsmb/smb.go
           pkg/js/generated/go/libsmtp/smtp.go
           pkg/js/generated/go/libssh/ssh.go
           pkg/js/generated/go/libstructs/structs.go
           pkg/js/generated/go/libtelnet/telnet.go
           pkg/js/generated/go/libvnc/vnc.go
           pkg/js/generated/ts/bytes.ts
           pkg/js/generated/ts/fs.ts
           pkg/js/generated/ts/goconsole.ts
           pkg/js/generated/ts/ikev2.ts
           pkg/js/generated/ts/index.ts
           pkg/js/generated/ts/kerberos.ts
           pkg/js/generated/ts/ldap.ts
           pkg/js/generated/ts/mssql.ts
           pkg/js/generated/ts/mysql.ts
           pkg/js/generated/ts/net.ts
           pkg/js/generated/ts/oracle.ts
           pkg/js/generated/ts/pop3.ts
           pkg/js/generated/ts/postgres.ts
           pkg/js/generated/ts/rdp.ts
           pkg/js/generated/ts/redis.ts
           pkg/js/generated/ts/rsync.ts
           pkg/js/generated/ts/smb.ts
           pkg/js/generated/ts/smtp.ts
           pkg/js/generated/ts/ssh.ts
           pkg/js/generated/ts/structs.ts
           pkg/js/generated/ts/telnet.ts
           pkg/js/generated/ts/vnc.ts
           pkg/js/global/exports.js
           pkg/js/global/helpers.go
           pkg/js/global/js/active_directory.js
           pkg/js/global/js/dump.js
           pkg/js/global/scripts.go
           pkg/js/global/scripts_test.go
           pkg/js/gojs/gojs.go
           pkg/js/gojs/set.go
           pkg/js/libs/bytes/buffer.go
           pkg/js/libs/fs/fs.go
           pkg/js/libs/goconsole/log.go
           pkg/js/libs/ikev2/ikev2.go
           pkg/js/libs/kerberos/kerberosx.go
           pkg/js/libs/kerberos/sendtokdc.go
           pkg/js/libs/ldap/adenum.go
           pkg/js/libs/ldap/ldap.go
           pkg/js/libs/ldap/utils.go
           pkg/js/libs/mssql/memo.mssql.go
           pkg/js/libs/mssql/mssql.go
           pkg/js/libs/mysql/memo.mysql.go
           pkg/js/libs/mysql/memo.mysql_private.go
           pkg/js/libs/mysql/mysql.go
           pkg/js/libs/mysql/mysql_private.go
           pkg/js/libs/net/net.go
           pkg/js/libs/oracle/memo.oracle.go
           pkg/js/libs/oracle/oracle.go
           pkg/js/libs/oracle/oracledialer.go
           pkg/js/libs/pop3/memo.pop3.go
           pkg/js/libs/pop3/pop3.go
           pkg/js/libs/postgres/memo.postgres.go
           pkg/js/libs/postgres/postgres.go
           pkg/js/libs/rdp/memo.rdp.go
           pkg/js/libs/rdp/rdp.go
           pkg/js/libs/redis/memo.redis.go
           pkg/js/libs/redis/redis.go
           pkg/js/libs/rsync/memo.rsync.go
           pkg/js/libs/rsync/rsync.go
           pkg/js/libs/smb/memo.smb.go
           pkg/js/libs/smb/memo.smb_private.go
           pkg/js/libs/smb/memo.smbghost.go
           pkg/js/libs/smb/smb.go
           pkg/js/libs/smb/smb_private.go
           pkg/js/libs/smb/smbghost.go
           pkg/js/libs/smtp/msg.go
           pkg/js/libs/smtp/smtp.go
           pkg/js/libs/ssh/memo.ssh.go
           pkg/js/libs/ssh/ssh.go
           pkg/js/libs/structs/smbexploit.js
           pkg/js/libs/structs/structs.go
           pkg/js/libs/telnet/memo.telnet.go
           pkg/js/libs/telnet/telnet.go
           pkg/js/libs/vnc/memo.vnc.go
           pkg/js/libs/vnc/vnc.go
           pkg/js/utils/nucleijs.go
           pkg/js/utils/nucleijs_test.go
           pkg/js/utils/pgwrap/pgwrap.go
           pkg/js/utils/util.go
           pkg/keys/key.go
           pkg/keys/nuclei.crt
           pkg/loader/parser/parser.go
           pkg/loader/workflow/workflow_loader.go
           pkg/model/model_test.go
           pkg/model/types/severity/severities.go
           pkg/model/types/severity/severity.go
           pkg/model/types/severity/severity_test.go
           pkg/model/types/stringslice/stringslice.go
           pkg/model/types/stringslice/stringslice_raw.go
           pkg/model/types/userAgent/user_agent.go
           pkg/model/workflow_loader.go
           pkg/operators/cache/cache.go
           pkg/operators/cache/cache_test.go
           pkg/operators/common/dsl/dsl.go
           pkg/operators/common/dsl/dsl_test.go
           pkg/operators/extractors/compile.go
           pkg/operators/extractors/doc.go
           pkg/operators/extractors/extract.go
           pkg/operators/extractors/extract_test.go
           pkg/operators/extractors/extractor_types.go
           pkg/operators/extractors/extractors.go
           pkg/operators/extractors/fuzz.go
           pkg/operators/extractors/fuzz_harness.go
           pkg/operators/extractors/fuzz_harness_test.go
           pkg/operators/extractors/testdata/gofuzz-corpus/dsl.seed
           pkg/operators/extractors/testdata/gofuzz-corpus/json.seed
           pkg/operators/extractors/testdata/gofuzz-corpus/kval.seed
           pkg/operators/extractors/testdata/gofuzz-corpus/regex.seed
           pkg/operators/extractors/testdata/gofuzz-corpus/xpath-attribute.seed
           pkg/operators/extractors/testdata/gofuzz-corpus/xpath-text.seed
           pkg/operators/extractors/util.go
           pkg/operators/matchers/compile.go
           pkg/operators/matchers/doc.go
           pkg/operators/matchers/fuzz.go
           pkg/operators/matchers/fuzz_harness.go
           pkg/operators/matchers/fuzz_harness_test.go
           pkg/operators/matchers/match.go
           pkg/operators/matchers/match_test.go
           pkg/operators/matchers/matchers.go
           pkg/operators/matchers/matchers_types.go
           pkg/operators/matchers/testdata/gofuzz-corpus/binary.seed
           pkg/operators/matchers/testdata/gofuzz-corpus/dsl.seed
           pkg/operators/matchers/testdata/gofuzz-corpus/regex.seed
           pkg/operators/matchers/testdata/gofuzz-corpus/size.seed
           pkg/operators/matchers/testdata/gofuzz-corpus/status.seed
           pkg/operators/matchers/testdata/gofuzz-corpus/word-hex.seed
           pkg/operators/matchers/testdata/gofuzz-corpus/xpath.seed
           pkg/operators/matchers/validate.go
           pkg/operators/matchers/validate_test.go
           pkg/operators/operators.go
           pkg/operators/operators_test.go
           pkg/output/doc.go
           pkg/output/file_output_writer.go
           pkg/output/format_json.go
           pkg/output/format_screen.go
           pkg/output/multi_writer.go
           pkg/output/output.go
           pkg/output/output_stats.go
           pkg/output/output_test.go
           pkg/output/standard_writer.go
           pkg/output/stats/stats.go
           pkg/output/stats/stats_test.go
           pkg/output/stats/waf/regexes.json
           pkg/output/stats/waf/waf.go
           pkg/output/stats/waf/waf_test.go
           pkg/progress/doc.go
           pkg/progress/progress.go
           pkg/projectfile/httputil.go
           pkg/projectfile/project.go
           pkg/protocols/code/code.go
           pkg/protocols/code/code_test.go
           pkg/protocols/code/helpers.go
           pkg/protocols/common/automaticscan/automaticscan.go
           pkg/protocols/common/automaticscan/automaticscan_test.go
           pkg/protocols/common/automaticscan/doc.go
           pkg/protocols/common/automaticscan/util.go
           pkg/protocols/common/contextargs/contextargs.go
           pkg/protocols/common/contextargs/doc.go
           pkg/protocols/common/contextargs/metainput.go
           pkg/protocols/common/contextargs/variables.go
           pkg/protocols/common/expressions/expressions.go
           pkg/protocols/common/expressions/expressions_test.go
           pkg/protocols/common/expressions/variables.go
           pkg/protocols/common/expressions/variables_test.go
           pkg/protocols/common/generators/attack_types.go
           pkg/protocols/common/generators/attack_types_test.go
           pkg/protocols/common/generators/env.go
           pkg/protocols/common/generators/env_test.go
           pkg/protocols/common/generators/generators.go
           pkg/protocols/common/generators/generators_test.go
           pkg/protocols/common/generators/load.go
           pkg/protocols/common/generators/load_test.go
           pkg/protocols/common/generators/maps.go
           pkg/protocols/common/generators/maps_bench_test.go
           pkg/protocols/common/generators/maps_test.go
           pkg/protocols/common/generators/options.go
           pkg/protocols/common/generators/options_bench_test.go
           pkg/protocols/common/generators/options_test.go
           pkg/protocols/common/generators/slice.go
           pkg/protocols/common/generators/validate.go
           pkg/protocols/common/globalmatchers/globalmatchers.go
           pkg/protocols/common/helpers/deserialization/deserialization.go
           pkg/protocols/common/helpers/deserialization/helpers.go
           pkg/protocols/common/helpers/deserialization/java.go
           pkg/protocols/common/helpers/deserialization/testdata/Deserialize.java
           pkg/protocols/common/helpers/deserialization/testdata/README.md
           pkg/protocols/common/helpers/deserialization/testdata/ValueObject.java
           pkg/protocols/common/helpers/eventcreator/eventcreator.go
           pkg/protocols/common/helpers/responsehighlighter/hexdump.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/honeypotdetector/honeypotdetector.go
           pkg/protocols/common/honeypotdetector/honeypotdetector_test.go
           pkg/protocols/common/hosterrorscache/hosterrorscache.go
           pkg/protocols/common/hosterrorscache/hosterrorscache_test.go
           pkg/protocols/common/interactsh/const.go
           pkg/protocols/common/interactsh/interactsh.go
           pkg/protocols/common/interactsh/options.go
           pkg/protocols/common/marker/marker.go
           pkg/protocols/common/portutil/portutil.go
           pkg/protocols/common/portutil/portutil_test.go
           pkg/protocols/common/protocolinit/init.go
           pkg/protocols/common/protocolstate/context.go
           pkg/protocols/common/protocolstate/dialers.go
           pkg/protocols/common/protocolstate/file.go
           pkg/protocols/common/protocolstate/headless.go
           pkg/protocols/common/protocolstate/js.go
           pkg/protocols/common/protocolstate/memguardian.go
           pkg/protocols/common/protocolstate/memguardian_test.go
           pkg/protocols/common/protocolstate/memoizer.go
           pkg/protocols/common/protocolstate/state.go
           pkg/protocols/common/randomip/randomip.go
           pkg/protocols/common/randomip/randomip_test.go
           pkg/protocols/common/replacer/replacer.go
           pkg/protocols/common/replacer/replacer_test.go
           pkg/protocols/common/uncover/uncover.go
           pkg/protocols/common/utils/excludematchers/excludematchers.go
           pkg/protocols/common/utils/excludematchers/excludematchers_test.go
           pkg/protocols/common/utils/vardump/dump.go
           pkg/protocols/common/utils/vardump/dump_test.go
           pkg/protocols/common/utils/vardump/vars.go
           pkg/protocols/common/variables/doc.go
           pkg/protocols/common/variables/variables.go
           pkg/protocols/common/variables/variables_bench_test.go
           pkg/protocols/common/variables/variables_test.go
           pkg/protocols/dns/cluster.go
           pkg/protocols/dns/dns.go
           pkg/protocols/dns/dns_test.go
           pkg/protocols/dns/dns_types.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.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/action.go
           pkg/protocols/headless/engine/action_types.go
           pkg/protocols/headless/engine/engine.go
           pkg/protocols/headless/engine/hijack.go
           pkg/protocols/headless/engine/http_client.go
           pkg/protocols/headless/engine/instance.go
           pkg/protocols/headless/engine/page.go
           pkg/protocols/headless/engine/page_actions.go
           pkg/protocols/headless/engine/page_actions_test.go
           pkg/protocols/headless/engine/rules.go
           pkg/protocols/headless/engine/util.go
           pkg/protocols/headless/headless.go
           pkg/protocols/headless/operators.go
           pkg/protocols/headless/operators_test.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/cluster_test.go
           pkg/protocols/http/http.go
           pkg/protocols/http/http_method_types.go
           pkg/protocols/http/http_test.go
           pkg/protocols/http/httpclientpool/clientpool.go
           pkg/protocols/http/httpclientpool/clientpool_test.go
           pkg/protocols/http/httpclientpool/errors.go
           pkg/protocols/http/httpclientpool/options.go
           pkg/protocols/http/httputils/misc.go
           pkg/protocols/http/httputils/spm.go
           pkg/protocols/http/operators.go
           pkg/protocols/http/operators_test.go
           pkg/protocols/http/race/syncedreadcloser.go
           pkg/protocols/http/raw/doc.go
           pkg/protocols/http/raw/raw.go
           pkg/protocols/http/raw/raw_test.go
           pkg/protocols/http/request.go
           pkg/protocols/http/request_annotations.go
           pkg/protocols/http/request_annotations_test.go
           pkg/protocols/http/request_condition.go
           pkg/protocols/http/request_fuzz.go
           pkg/protocols/http/request_generator.go
           pkg/protocols/http/request_generator_test.go
           pkg/protocols/http/request_test.go
           pkg/protocols/http/signature.go
           pkg/protocols/http/signer/aws-sign.go
           pkg/protocols/http/signer/signer.go
           pkg/protocols/http/signerpool/signerpool.go
           pkg/protocols/http/utils.go
           pkg/protocols/http/utils_test.go
           pkg/protocols/http/validate.go
           pkg/protocols/javascript/js.go
           pkg/protocols/javascript/js_test.go
           pkg/protocols/network/network.go
           pkg/protocols/network/network_input_types.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.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/read_response.go
           pkg/protocols/offlinehttp/read_response_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/fields.go
           pkg/protocols/utils/fields_test.go
           pkg/protocols/utils/http/requtils.go
           pkg/protocols/utils/http/requtils_test.go
           pkg/protocols/utils/utils.go
           pkg/protocols/utils/utils_test.go
           pkg/protocols/utils/variables.go
           pkg/protocols/utils/variables_test.go
           pkg/protocols/websocket/websocket.go
           pkg/protocols/websocket/websocket_test.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/es/elasticsearch_test.go
           pkg/reporting/exporters/jsonexporter/jsonexporter.go
           pkg/reporting/exporters/jsonl/jsonl.go
           pkg/reporting/exporters/markdown/markdown.go
           pkg/reporting/exporters/markdown/util/markdown_formatter.go
           pkg/reporting/exporters/markdown/util/markdown_utils.go
           pkg/reporting/exporters/markdown/util/markdown_utils_test.go
           pkg/reporting/exporters/mongo/mongo.go
           pkg/reporting/exporters/pdf/pdf.go
           pkg/reporting/exporters/pdf/pdf_test.go
           pkg/reporting/exporters/sarif/sarif.go
           pkg/reporting/exporters/splunk/splunkhec.go
           pkg/reporting/format/format.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/filters/filters.go
           pkg/reporting/trackers/gitea/gitea.go
           pkg/reporting/trackers/github/github.go
           pkg/reporting/trackers/gitlab/gitlab.go
           pkg/reporting/trackers/jira/jira.go
           pkg/reporting/trackers/jira/jira_test.go
           pkg/reporting/trackers/linear/jsonutil/jsonutil.go
           pkg/reporting/trackers/linear/linear.go
           pkg/scan/charts/charts.go
           pkg/scan/charts/echarts.go
           pkg/scan/events/scan_noop.go
           pkg/scan/events/stats_build.go
           pkg/scan/events/utils.go
           pkg/scan/scan_context.go
           pkg/templates/cache.go
           pkg/templates/cache_test.go
           pkg/templates/cluster.go
           pkg/templates/cluster_test.go
           pkg/templates/compile.go
           pkg/templates/compile_bench_test.go
           pkg/templates/doc.go
           pkg/templates/extensions/extensions.go
           pkg/templates/log.go
           pkg/templates/log_test.go
           pkg/templates/parser.go
           pkg/templates/parser_config.go
           pkg/templates/parser_error.go
           pkg/templates/parser_stats.go
           pkg/templates/parser_test.go
           pkg/templates/parser_validate.go
           pkg/templates/preprocessors.go
           pkg/templates/signer/default.go
           pkg/templates/signer/handler.go
           pkg/templates/signer/handler_test.go
           pkg/templates/signer/testdata/ci-private-key.pem
           pkg/templates/signer/testdata/ci.crt
           pkg/templates/signer/tmpl_signer.go
           pkg/templates/signer/tmpl_signer_test.go
           pkg/templates/stats.go
           pkg/templates/tag_filter_test.go
           pkg/templates/template_sign.go
           pkg/templates/templates.go
           pkg/templates/templates_doc_examples.go
           pkg/templates/templates_test.go
           pkg/templates/templates_utils.go
           pkg/templates/tests/json-template.json
           pkg/templates/tests/multiproto.json
           pkg/templates/tests/no-author.yaml
           pkg/templates/types/cluster_mappings.go
           pkg/templates/types/types.go
           pkg/templates/validator_singleton.go
           pkg/templates/workflows.go
           pkg/tmplexec/README.md
           pkg/tmplexec/doc.go
           pkg/tmplexec/exec.go
           pkg/tmplexec/flow/builtin/dedupe.go
           pkg/tmplexec/flow/doc.go
           pkg/tmplexec/flow/flow_executor.go
           pkg/tmplexec/flow/flow_executor_test.go
           pkg/tmplexec/flow/flow_internal.go
           pkg/tmplexec/flow/util.go
           pkg/tmplexec/flow/util_test.go
           pkg/tmplexec/flow/vm.go
           pkg/tmplexec/generic/exec.go
           pkg/tmplexec/interface.go
           pkg/tmplexec/multiproto/README.md
           pkg/tmplexec/multiproto/doc.go
           pkg/tmplexec/multiproto/multi.go
           pkg/tmplexec/multiproto/multi_test.go
           pkg/tmplexec/utils/utils.go
           pkg/types/interfaces.go
           pkg/types/nucleierr/kinds.go
           pkg/types/resume.go
           pkg/types/scanstrategy/scan_strategy.go
           pkg/types/types.go
           pkg/utils/capture_writer.go
           pkg/utils/expand/expand.go
           pkg/utils/filepath/doc.go
           pkg/utils/filepath/filepath.go
           pkg/utils/filepath/filepath_test.go
           pkg/utils/http_probe.go
           pkg/utils/http_probe_test.go
           pkg/utils/index.go
           pkg/utils/insertion_ordered_map.go
           pkg/utils/insertion_ordered_map_test.go
           pkg/utils/json/doc.go
           pkg/utils/json/json.go
           pkg/utils/json/json_fallback.go
           pkg/utils/json/jsoncodec.go
           pkg/utils/json/message.go
           pkg/utils/monitor/monitor.go
           pkg/utils/monitor/monitor_test.go
           pkg/utils/stats/doc.go
           pkg/utils/stats/stats.go
           pkg/utils/telnetmini/doc.go
           pkg/utils/telnetmini/ntlm.go
           pkg/utils/telnetmini/smb.go
           pkg/utils/telnetmini/telnet.go
           pkg/utils/template_path.go
           pkg/utils/utils.go
           pkg/utils/utils_test.go
           pkg/utils/yaml/preprocess.go
           pkg/utils/yaml/yaml_decode_wrapper.go
           pkg/workflows/doc.go
           pkg/workflows/workflows.go
           pkg/workflows/workflows_test.go
           static/regression-with-nuclei.jpg
Copyright: __NO_COPYRIGHT_NOR_LICENSE__
License:   __NO_COPYRIGHT_NOR_LICENSE__

Files:     internal/tests/integration/testdata/protocols/javascript/net-https.yaml
           internal/tests/integration/testdata/protocols/javascript/net-multi-step.yaml
           internal/tests/integration/testdata/protocols/javascript/rsync-test.yaml
           internal/tests/integration/testdata/protocols/javascript/ssh-server-fingerprint.yaml
           internal/tests/integration/testdata/protocols/javascript/telnet-auth-test.yaml
           pkg/protocols/javascript/testcases/ms-sql-detect.yaml
           pkg/protocols/javascript/testcases/ssh-server-fingerprint.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/net-https.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/net-multi-step.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/rsync-test.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/ssh-server-fingerprint.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/telnet-auth-test.yaml
           __NO_COPYRIGHT__ in: pkg/protocols/javascript/testcases/ms-sql-detect.yaml
           __NO_COPYRIGHT__ in: pkg/protocols/javascript/testcases/ssh-server-fingerprint.yaml
License:   __UNKNOWN__
 javascript:
 - code: |

Files:     internal/tests/integration/testdata/protocols/http/custom-attack-type.yaml
           internal/tests/integration/testdata/protocols/http/get-query-string.yaml
           internal/tests/integration/testdata/protocols/http/interactsh-stop-at-first-match.yaml
           internal/tests/integration/testdata/protocols/http/interactsh-with-payloads.yaml
           internal/tests/integration/testdata/protocols/http/stop-at-first-match-with-extractors.yaml
           internal/tests/integration/testdata/protocols/http/stop-at-first-match.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/custom-attack-type.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-query-string.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/interactsh-stop-at-first-match.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/interactsh-with-payloads.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/stop-at-first-match-with-extractors.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/stop-at-first-match.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:

Files:     internal/tests/integration/testdata/protocols/http/default-matcher-condition.yaml
           internal/tests/integration/testdata/protocols/http/disable-path-automerge.yaml
           internal/tests/integration/testdata/protocols/http/http-preprocessor.yaml
           internal/tests/integration/testdata/protocols/http/raw-get-query.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/default-matcher-condition.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/disable-path-automerge.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/http-preprocessor.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-get-query.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |

Files:     internal/tests/integration/testdata/loader/excluded-template.yaml
           internal/tests/integration/testdata/loader/get.yaml
           internal/tests/integration/testdata/protocols/http/get.yaml
           internal/tests/integration/testdata/workflow/match-1.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/loader/excluded-template.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/loader/get.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/match-1.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 words:
 - "This is test matcher text"

Files:     internal/tests/integration/testdata/protocols/ssl/basic-ztls.yaml
           internal/tests/integration/testdata/protocols/ssl/custom-cipher.yaml
           internal/tests/integration/testdata/protocols/ssl/custom-version.yaml
           internal/tests/integration/testdata/protocols/ssl/multi-req.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/ssl/basic-ztls.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/ssl/custom-cipher.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/ssl/custom-version.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/ssl/multi-req.yaml
License:   __UNKNOWN__
 ssl:
 - address: "{{Host}}:{{Port}}"

Files:     internal/tests/integration/testdata/library/test.yaml
           internal/tests/integration/testdata/loader/get-headers.yaml
           internal/tests/integration/testdata/protocols/http/get-headers.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/library/test.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/loader/get-headers.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-headers.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 headers:
 test: nuclei
 matchers:
 - type: word
 words:
 - "This is test headers matcher text"

Files:     internal/tests/integration/testdata/protocols/http/variable-dsl-function.yaml
           internal/tests/integration/testdata/protocols/http/variables-threads-previous.yaml
           internal/tests/integration/testdata/protocols/multi/evaluate-variables.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/variable-dsl-function.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/variables-threads-previous.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/multi/evaluate-variables.yaml
License:   __UNKNOWN__
 variables:

Files:     internal/tests/integration/testdata/dsl/hide-version-warning.yaml
           internal/tests/integration/testdata/protocols/http/cl-body-with-header.yaml
           internal/tests/integration/testdata/protocols/http/cl-body-without-header.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/dsl/hide-version-warning.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/cl-body-with-header.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/cl-body-without-header.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 .
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/ssl/basic.yaml
           internal/tests/integration/testdata/protocols/ssl/ssl-with-vars.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/ssl/basic.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/ssl/ssl-with-vars.yaml
License:   __UNKNOWN__
 ssl:
 - address: "{{Host}}:{{Port}}"
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/websocket/cswsh.yaml
           internal/tests/integration/testdata/protocols/websocket/no-cswsh.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/websocket/cswsh.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/websocket/no-cswsh.yaml
License:   __UNKNOWN__
 websocket:
 - address: '{{Scheme}}://{{Hostname}}'
 headers:
 Origin: 'http://evil.com'
 matchers:
 - type: word
 words:
 - true
 part: success

Files:     internal/tests/integration/testdata/fuzz/fuzz-body-generic-sqli.yaml
           internal/tests/integration/testdata/fuzz/fuzz-body.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-body-generic-sqli.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-body.yaml
License:   __UNKNOWN__
 This template attempts to find SQL injection vulnerabilities by fuzzing http body
 It automatically handles and parses json,xml,multipart form and x-www-form-urlencoded data
 and performs fuzzing on the value of every key
 .
 http:
 - pre-condition:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/http/raw-unsafe-with-params.yaml
           internal/tests/integration/testdata/protocols/http/raw-with-params.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-unsafe-with-params.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-with-params.yaml
License:   __UNKNOWN__
 # this test is used to check automerge of params in both unsafe & safe requests

Files:     internal/tests/integration/testdata/loader/basic.yaml
           internal/tests/integration/testdata/workflow/basic.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/loader/basic.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/basic.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/match-1.yaml
 - template: workflow/match-2.yaml

Files:     pkg/tmplexec/flow/testcases/flow-multi-payload-iteration.yaml
           pkg/tmplexec/flow/testcases/flow-request-condition-payloads.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/flow-multi-payload-iteration.yaml
           __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/flow-request-condition-payloads.yaml
License:   __UNKNOWN__
 flow: http()
 .
 http:
 - raw:
 - |
 GET /step1 HTTP/1.1
 Host: {{Hostname}}
 .
 - |
 POST /login HTTP/1.1
 Host: {{Hostname}}
 Content-Type: application/x-www-form-urlencoded

Files:     internal/tests/integration/testdata/protocols/javascript/redis-pass-brute.yaml
           pkg/protocols/javascript/testcases/redis-pass-brute.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/redis-pass-brute.yaml
           __NO_COPYRIGHT__ in: pkg/protocols/javascript/testcases/redis-pass-brute.yaml
License:   __UNKNOWN__
 This template bruteforces passwords for protected redis instances.
 If redis is not protected with password. it is also matched
 metadata:
 shodan-query: product:"redis"
 .
 javascript:
 - pre-condition: |
 isPortOpen(Host,Port)
 .
 code: |

Files:     internal/tests/integration/testdata/loader/condition-matched.yaml
           internal/tests/integration/testdata/workflow/condition-matched.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/loader/condition-matched.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/condition-matched.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/match-1.yaml
 subtemplates:
 - template: workflow/match-2.yaml

Files:     internal/tests/integration/testdata/protocols/http/get-all-ips.yaml
           internal/tests/integration/testdata/protocols/http/get-without-scheme.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-all-ips.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-without-scheme.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 words:
 - "ok"

Files:     internal/tests/integration/testdata/protocols/javascript/multi-ports.yaml
           pkg/protocols/javascript/testcases/oracle-auth-test.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/multi-ports.yaml
           __NO_COPYRIGHT__ in: pkg/protocols/javascript/testcases/oracle-auth-test.yaml
License:   __UNKNOWN__
 javascript:
 - pre-condition: |
 isPortOpen(Host,Port);
 code: |

Files:     internal/tests/integration/testdata/protocols/websocket/basic.yaml
           internal/tests/integration/testdata/protocols/websocket/path.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/websocket/basic.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/websocket/path.yaml
License:   __UNKNOWN__
 websocket:
 - address: '{{Scheme}}://{{Hostname}}'
 inputs:
 - data: hello
 matchers:
 - type: word
 words:
 - world
 part: response

Files:     cmd/nuclei/testdata/benchmark/multiproto/basic-template-multiproto-mixed.yaml
           cmd/nuclei/testdata/benchmark/multiproto/basic-template-multiproto.yaml
Copyright: __NO_COPYRIGHT__ in: cmd/nuclei/testdata/benchmark/multiproto/basic-template-multiproto-mixed.yaml
           __NO_COPYRIGHT__ in: cmd/nuclei/testdata/benchmark/multiproto/basic-template-multiproto.yaml
License:   __UNKNOWN__
 http:
 - method: GET

Files:     internal/tests/integration/testdata/protocols/http/matcher-status-and-cluster.yaml
           internal/tests/integration/testdata/protocols/http/matcher-status-and.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/matcher-status-and-cluster.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/matcher-status-and.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}/"
 .
 stop-at-first-match: true
 matchers-condition: and
 matchers:
 - type: word
 part: body
 words:

Files:     pkg/tmplexec/flow/testcases/nuclei-flow-dns-prefix.yaml
           pkg/tmplexec/flow/testcases/nuclei-flow-dns.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/nuclei-flow-dns-prefix.yaml
           __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/nuclei-flow-dns.yaml
License:   __UNKNOWN__
 flow: |
 dns(1);

Files:     internal/tests/integration/testdata/protocols/multi/exported-response-vars.yaml
           pkg/tmplexec/multiproto/testcases/multiprotowithprefix.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/multi/exported-response-vars.yaml
           __NO_COPYRIGHT__ in: pkg/tmplexec/multiproto/testcases/multiprotowithprefix.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}" # DNS Request
 type: cname
 .
 ssl:
 - address: "{{Hostname}}" # ssl request
 .
 http:
 - method: GET # http request
 path:
 - "{{BaseURL}}"
 .
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/http/raw-cookie-reuse.yaml
           internal/tests/integration/testdata/protocols/http/raw-dynamic-extractor.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-cookie-reuse.yaml
           __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-dynamic-extractor.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 POST / HTTP/1.1
 Host: {{Hostname}}
 Origin: {{BaseURL}}
 Connection: close
 Content-Type: application/x-www-form-urlencoded
 Content-Length: 1

Files:     LICENSE.md
Copyright: 2025 ProjectDiscovery, Inc.
License:   Expat
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included in all
 copies or substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.

Files:     pkg/templates/templates_doc.go
Copyright: __NO_COPYRIGHT__ in: pkg/templates/templates_doc.go
License:   MPL-2.0
 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at http://mozilla.org/MPL/2.0/.
 DO NOT EDIT: this file is automatically generated by docgen

Files:     internal/tests/integration/testdata/flow/dns-ns-probe.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/flow/dns-ns-probe.yaml
License:   __UNKNOWN__
 flow: |
 dns("fetch-ns");
 for(let ns of template["nameservers"]) {
 set("nameserver",ns);
 dns("probe-ns");
 };
 .
 dns:
 - id: "fetch-ns"
 name: "{{FQDN}}"
 type: NS
 matchers:
 - type: word
 words:
 - "IN\tNS"
 internal: true
 extractors:
 - type: regex
 internal: true
 name: "nameservers"
 group: 1
 regex:
 - "IN\tNS\t(.+)"
 .
 - id: "probe-ns"
 name: "{{nameserver}}"
 type: A
 class: inet
 retries: 3
 recursion: true
 extractors:
 - type: dsl
 dsl:
 - "a"

Files:     internal/tests/integration/testdata/protocols/dns/ns.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/ns.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: NS
 class: inet
 recursion: true
 retries: 3
 matchers:
 - type: word
 part: all
 words:
 - "NS"

Files:     internal/tests/integration/testdata/protocols/http/raw-unsafe-path-single-slash.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-unsafe-path-single-slash.yaml
License:   __UNKNOWN__
 requests:
 - raw:
 - |+
 GET / HTTP/1.1
 Host: {{Hostname}}
 Origin: {{BaseURL}}
 .
 unsafe: true

Files:     internal/tests/integration/testdata/flow/iterate-values-flow.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/flow/iterate-values-flow.yaml
License:   __UNKNOWN__
 flow: |
 http(1)
 for(let email of template["emails"]) {
 set("email",email);
 http(2);
 }
 .
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 .
 extractors:
 - type: regex
 name: emails
 regex:

Files:     internal/tests/integration/testdata/protocols/dns/variables.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/variables.yaml
License:   __UNKNOWN__
 variables:
 a1: "IN"
 .
 dns:
 - name: "{{FQDN}}"
 type: A
 class: inet
 recursion: true
 retries: 3
 matchers:
 - type: word
 words:
 - "{{a1}}"

Files:     internal/tests/integration/testdata/protocols/http/raw-get.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-get.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 Origin: {{BaseURL}}
 .
 matchers:
 - type: word
 words:
 - "Test is test raw-get-matcher text"

Files:     internal/tests/integration/testdata/workflow/http-3.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/http-3.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}/http3"

Files:     internal/tests/integration/testdata/workflow/http-value-share-template-1.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/http-value-share-template-1.yaml
License:   __UNKNOWN__
 http:
 - path:
 - "{{BaseURL}}/path1"
 extractors:
 - type: regex
 part: body
 name: extracted
 regex:

Files:     internal/tests/integration/testdata/protocols/network/same-address.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/same-address.yaml
License:   __UNKNOWN__
 description: Riak is a distributed NoSQL key-value data store that offers high availability, fault tolerance, operational simplicity, and scalability.
 .
 network:
 - host:
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 - "{{Hostname}}"
 inputs:
 - data: "PING\r\n"
 read-size: 4
 matchers:
 - type: word
 part: data
 words:
 - "PONG"

Files:     internal/tests/integration/testdata/protocols/offlinehttp/offline-allowed-paths.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/offlinehttp/offline-allowed-paths.yaml
License:   __UNKNOWN__
 http:
 - path:
 - "{{BaseURL}}"
 - "{{BaseURL}}/"
 - "/"
 .
 matchers:
 - type: status
 status:
 - 200

Files:     internal/tests/integration/testdata/protocols/code/pwsh-echo.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/pwsh-echo.yaml
License:   __UNKNOWN__
 self-contained: true
 .
 code:
 - engine:
 - pwsh
 - powershell
 - powershell.exe
 args:
 - -ExecutionPolicy
 - Bypass
 pattern: "*.ps1"
 source: |
 Write-Output "test-output-success"
 .
 matchers:
 - type: word
 words:
 - "test-output-success"

Files:     internal/tests/integration/testdata/protocols/dns/payload.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/payload.yaml
License:   __UNKNOWN__
 dns:

Files:     internal/tests/integration/testdata/protocols/multi/dynamic-values.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/multi/dynamic-values.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}" # DNS Request
 type: cname
 .
 extractors:
 - type: dsl
 name: blogid
 dsl:

Files:     internal/tests/integration/testdata/protocols/http/get-sni-unsafe.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-sni-unsafe.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |+
 GET / HTTP/1.1
 Host: {{Hostname}}
 .
 unsafe: true
 matchers:
 - type: word
 words:
 - "test-ok"

Files:     internal/tests/integration/testdata/workflow/code-value-share-workflow.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/code-value-share-workflow.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/code-template-1.yaml
 subtemplates:
 - template: workflow/code-template-2.yaml

Files:     internal/tests/integration/testdata/workflow/http-value-share-workflow.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/http-value-share-workflow.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/http-value-share-template-1.yaml
 subtemplates:
 - template: workflow/http-value-share-template-2.yaml

Files:     pkg/tmplexec/flow/README.md
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/README.md
License:   __UNKNOWN__
 http:
 - method: POST
 path:
 - "{{BaseURL}}/wp-login.php"
 payloads:
 username:
 - admin
 - guest
 - testuser
 password:
 - password123
 - qwertyuiop
 - letmein

Files:     internal/tests/integration/testdata/protocols/http/raw-path-single-slash.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-path-single-slash.yaml
License:   __UNKNOWN__
 requests:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 Origin: {{BaseURL}}

Files:     internal/tests/integration/testdata/protocols/code/sh-virtual.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/sh-virtual.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - sh
 - bash
 sandbox:
 working-dir: /tmp
 image: ubuntu:latest
 source: |
 echo "hello from sh virtual code"
 .
 matchers:
 - type: word
 words:
 - "hello from sh virtual code"
 # digest: 4a0a00473045022100a2a71c423b72e600ac2d78209482b48591924157d49e2dfb7767445b0073e92b022009a6365e84247e268c7ffcb2f9ed424529dada6f087d5f21400ab0b2a822ca56:4a3eb6b4988d95847d4203be25ed1d46

Files:     internal/tests/integration/testdata/protocols/http/raw-payload.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-payload.yaml
License:   __UNKNOWN__
 http:
 - payloads:
 username:
 - test
 password:
 - nuclei
 - guest
 attack: clusterbomb
 raw:
 - |
 POST / HTTP/1.1

Files:     internal/tests/integration/testdata/protocols/http/get-host-redirects.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-host-redirects.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 host-redirects: true
 max-redirects: 3
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/headless/headless-local.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-local.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: navigate
 args:
 url: "{{BaseURL}}"
 .
 - action: waitload

Files:     internal/tests/integration/testdata/protocols/network/net-https-timeout.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/net-https-timeout.yaml
License:   __UNKNOWN__
 tcp:
 - host:
 - "tls://{{Hostname}}"
 port: 443
 inputs:
 # noticable difference between this and net-https.yaml is that here we don't send the Connection: close header
 # and hence connection will remain open until server closes it. This can be a DOS vector in nuclei
 # as it waits for server to close the connection. now we have set a default timeout of 5 seconds and if server responds but doesn't close the connection
 # then nuclei will close connection but doesn't fail the request since we already have response data from server
 # this feature is only required for `read-all: true` to work properly
 - data: "GET / HTTP/1.1\r\nHost: {{Hostname}}\r\n\r\n"
 read-all: true
 extractors:
 - type: dsl
 dsl:
 - "len(data)"

Files:     internal/tests/integration/testdata/protocols/headless/file-upload-negative.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/file-upload-negative.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: navigate
 args:
 url: "{{BaseURL}}"
 - action: waitload
 - action: files
 args:
 by: xpath
 xpath: /html/body/form/input[1]
 value: headless/file-upload.yaml
 - action: sleep
 args:
 duration: 2
 - action: click
 args:
 by: x
 xpath: /html/body/form/input[2]
 matchers:
 - type: word
 words:
 - "Basic File Upload"

Files:     internal/tests/integration/testdata/protocols/code/py-file.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/py-file.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - py
 - python3
 source: protocols/code/pyfile.py
 .
 matchers:
 - type: word
 words:
 - "hello from input"
 # digest: 4a0a00473045022100bb6b75819ea62be7415adf544e208fcff3501277f6f7a152e1c3083c476126f502201db7978917bc31c755a4ce53bdacc2c6cbaea1d01117e4ecbafa09117a215260:4a3eb6b4988d95847d4203be25ed1d46

Files:     internal/tests/integration/testdata/protocols/headless/variables.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/variables.yaml
License:   __UNKNOWN__
 variables:
 a1: "{{base64('hello')}}"
 .
 headless:
 - steps:
 - args:
 url: "{{BaseURL}}"
 action: navigate
 - action: waitload
 matchers:
 - type: word
 words:
 - "{{a1}}"

Files:     internal/tests/integration/testdata/protocols/code/py-virtual.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/py-virtual.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - sh
 - bash
 sandbox:
 working-dir: /tmp
 image: python:3.14
 source: |
 #!/usr/bin/env python3
 .
 import sys
 print("hello from python virtual code")
 .
 matchers:
 - type: word
 words:
 - "hello from python virtual code"

Files:     internal/tests/integration/testdata/workflow/http-2.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/http-2.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}/http2"

Files:     internal/tests/integration/testdata/protocols/http/interactsh-requests-mc-and.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/interactsh-requests-mc-and.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET /api/geoping/{{interactsh-url}} HTTP/1.1
 Host: {{Hostname}}
 .
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 .
 matchers-condition: and
 matchers:
 - type: word

Files:     internal/tests/integration/testdata/fuzz/fuzz-host-header-injection.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-host-header-injection.yaml
License:   __UNKNOWN__
 variables:
 domain: "oast.fun"
 .
 http:
 - pre-condition:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/code/ps1-snippet.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/ps1-snippet.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - powershell
 - powershell.exe
 args:
 - -ExecutionPolicy
 - Bypass
 - -File
 pattern: "*.ps1"
 source: |

Files:     internal/tests/integration/testdata/flow/conditional-flow-negative.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/flow/conditional-flow-negative.yaml
License:   __UNKNOWN__
 flow: dns() && http()
 .
 dns:
 - name: "{{FQDN}}"
 type: CNAME
 .
 matchers:
 - type: word
 words:
 - "ghost.io"
 internal: true
 .
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 .
 matchers:
 - type: word
 words:
 - "ghost.io"

Files:     internal/tests/integration/testdata/workflow/http-value-share-template-2.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/http-value-share-template-2.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET /path2 HTTP/1.1
 Host: {{Hostname}}
 .
 {{extracted}}
 .
 matchers:
 - type: word
 words:
 - "test-value"

Files:     pkg/tmplexec/multiproto/testcases/multiprotodynamic.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/multiproto/testcases/multiprotodynamic.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}" # DNS Request
 type: a
 .
 http:
 - method: GET # http request
 path:
 - "{{BaseURL}}"
 .
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/network/multi-step.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/multi-step.yaml
License:   __UNKNOWN__
 network:
 - inputs:
 - data: "FIRST"
 read: 4
 name: first
 - data: "SECOND"
 read: 4
 name: second
 host:
 - "{{Hostname}}"
 read-size: 6
 matchers:
 - type: word
 part: first
 words:
 - "PING"
 - type: word
 part: second
 words:
 - "PONG"
 - type: word
 part: data
 words:
 - "NUCLEI"
 matchers-condition: and

Files:     internal/tests/integration/testdata/protocols/http/get-case-insensitive.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-case-insensitive.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 case-insensitive: true
 words:
 - "ThIS is TEsT MAtcHEr TExT"

Files:     pkg/templates/tests/workflow-invalid.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/templates/tests/workflow-invalid.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 POST /re HTTP/1.1
 Host: {{Hostname}}

Files:     internal/tests/integration/testdata/protocols/http/disable-redirects.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/disable-redirects.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 redirects: true
 max-redirects: 2
 matchers:
 - type: word
 words:
 - "This is test disable redirects matcher text"

Files:     internal/tests/integration/testdata/protocols/javascript/postgres-pass-brute.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/postgres-pass-brute.yaml
License:   __UNKNOWN__
 This template bruteforces passwords for protected PostgreSQL instances.
 If PostgreSQL is not protected with password, it is also matched.
 metadata:
 shodan-query: product:"PostgreSQL"
 tags: js,network,postgresql,authentication
 .
 javascript:
 - pre-condition: |
 isPortOpen(Host,Port)
 .
 code: |

Files:     pkg/authprovider/authx/testData/example-auth.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/authprovider/authx/testData/example-auth.yaml
License:   __UNKNOWN__
 This is a auth file for ProjectDiscovery dev servers.
 It contains auth data of all projectdiscovery dev servers.
 .
 # Note: this is a dummy example file. none of the secrets here are real.
 .
 # static secrets
 static:
 # for header based auth session
 # NOTE: Headers preserve exact casing (e.g., x-pdcp-key stays as x-pdcp-key)
 # This is useful for APIs that require case-sensitive header names
 - type: header
 domains:
 - api.projectdiscovery.io
 - cve.projectdiscovery.io
 - chaos.projectdiscovery.io
 headers:
 - key: x-pdcp-key
 value: <api-key-here>
 - key: barAuthToken
 value: <auth-token-here>
 .
 # for query based auth session
 - type: Query
 domains:
 - scanme.sh
 params:
 - key: token
 value: 1a2b3c4d5e6f7g8h9i0j
 .
 # for cookie based auth session
 - type: Cookie
 domains:
 - scanme.sh
 cookies:
 - key: PHPSESSID
 value: 1a2b3c4d5e6f7g8h9i0j
 .
 # for basic auth session
 - type: BasicAuth
 domains:
 - scanme.sh
 username: test
 password: test
 .
 # for authorization bearer token
 - type: BearerToken
 domains-regex:
 - .*scanme.sh
 - .*pdtm.sh
 token: test
 .
 # dynamic secrets (powered by nuclei-templates)
 dynamic:
 - template: /path/to/wordpress-login.yaml
 variables:
 - name: username
 value: pdteam
 - name: password
 value: nuclei-v3.2.0
 type: Cookie
 domains:
 - localhost:8080
 cookies:
 - raw: "{{wp-global-cookie}}"
 - raw: "{{wp-admin-cookie}}"
 - raw: "{{wp-plugin-cookie}}"

Files:     internal/tests/integration/testdata/protocols/whois/basic.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/whois/basic.yaml
License:   __UNKNOWN__
 whois:
 - query: "{{Host}}"
 extractors:
 - type: kval
 kval:
 - "expiration date"
 - "registrar"

Files:     internal/tests/integration/testdata/protocols/http/get-sni.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-sni.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 words:
 - "test-ok"

Files:     internal/tests/integration/testdata/protocols/code/unsigned.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/unsigned.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - py
 - python3
 source: |
 print("unsigned code")
 .
 matchers:
 - type: word
 words:
 - "unsigned code"

Files:     internal/tests/integration/testdata/flow/conditional-flow.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/flow/conditional-flow.yaml
License:   __UNKNOWN__
 flow: dns() && http()
 .
 dns:
 - name: "{{FQDN}}"
 type: CNAME
 .
 matchers:
 - type: word
 words:
 - ".vercel-dns.com"
 internal: true
 .
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 .
 matchers:
 - type: word
 words:
 - "html>"

Files:     internal/tests/integration/testdata/protocols/code/py-nosig.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/py-nosig.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - py
 - python3
 source: |
 print("py unsigned code")
 .
 matchers:
 - type: word
 words:
 - "py unsigned code"

Files:     internal/tests/integration/testdata/protocols/network/hex.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/hex.yaml
License:   __UNKNOWN__
 network:
 - host:
 - "{{Hostname}}"
 inputs:
 - data: "50494e47"
 type: hex
 - data: "\r\n"
 .
 read-size: 4
 matchers:
 - type: word
 part: data
 encoding: hex
 words:
 - "504f4e47"

Files:     cmd/nuclei/testdata/benchmark/multiproto/basic-template-multiproto-raw.yaml
Copyright: __NO_COPYRIGHT__ in: cmd/nuclei/testdata/benchmark/multiproto/basic-template-multiproto-raw.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET /1 HTTP/1.1
 Host: {{Hostname}}
 Origin: {{BaseURL}}
 Connection: close

Files:     internal/tests/integration/testdata/workflow/multimatch-value-share-workflow.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/multimatch-value-share-workflow.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/multimatch-value-share-template.yaml
 subtemplates:
 - template: workflow/match-1.yaml
 subtemplates:
 - template: workflow/http-value-share-template-2.yaml
 - template: workflow/multimatch-value-share-template.yaml
 matchers:
 - name: test-matcher
 subtemplates:
 - template: workflow/match-1.yaml
 subtemplates:
 - template: workflow/http-value-share-template-2.yaml

Files:     internal/tests/integration/testdata/protocols/http/self-contained.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/self-contained.yaml
License:   __UNKNOWN__
 self-contained: true
 http:
 - raw:
 - |
 GET http://127.0.0.1:5431/ HTTP/1.1
 Host: {{Hostname}}
 .
 matchers:
 - type: word
 words:
 - This is self-contained response

Files:     internal/tests/integration/testdata/workflow/complex-conditions.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/complex-conditions.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/match-1.yaml
 subtemplates:
 - template: workflow/nomatch-1.yaml
 subtemplates:
 - template: workflow/match-2.yaml
 - template: workflow/match-3.yaml
 - template: workflow/match-2.yaml
 matchers:
 - name: test-matcher
 subtemplates:
 - template: workflow/nomatch-1.yaml
 subtemplates:
 - template: workflow/match-1.yaml
 - template: workflow/match-3.yaml

Files:     pkg/templates/tests/global-matcher.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/templates/tests/global-matcher.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 global-matchers: true
 matchers:
 - type: word
 part: body
 words:
 - "test"

Files:     pkg/templates/tests/match-1.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/templates/tests/match-1.yaml
License:   __UNKNOWN__
 requests:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 words:
 - "This is test matcher text"

Files:     internal/tests/integration/testdata/protocols/code/py-snippet.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/py-snippet.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - py
 - python3
 - python
 source: |
 import sys
 print("hello from " + sys.stdin.read())
 .
 matchers:
 - type: word
 words:
 - "hello from input"
 # digest: 4b0a00483046022100ced1702728cc68f906c4c7d2c4d05ed071bfabee1e36eec7ebecbeca795a170c022100d20fd41796f130a8f9c4972fee85386d67d61eb5fc1119b1afe2a851eb2f3e65:4a3eb6b4988d95847d4203be25ed1d46

Files:     internal/tests/integration/testdata/protocols/headless/headless-basic.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-basic.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: navigate
 args:
 url: "{{BaseURL}}/"
 .
 - action: waitload
 matchers:
 - type: word
 words:
 - "<html>"

Files:     pkg/tmplexec/flow/testcases/nuclei-flow-dns-id.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/nuclei-flow-dns-id.yaml
License:   __UNKNOWN__
 flow: |
 dns("fetch-ns");

Files:     internal/tests/integration/testdata/protocols/dns/ptr.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/ptr.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: PTR
 .
 matchers:
 - type: word
 words:
 - "IN\tPTR"
 .
 extractors:
 - type: regex
 group: 1
 regex:
 - "IN\tPTR\t(.+)"

Files:     internal/tests/integration/testdata/protocols/network/self-contained.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/self-contained.yaml
License:   __UNKNOWN__
 self-contained: true
 network:
 - host:
 - "127.0.0.1:5431"
 .
 matchers:
 - type: word
 words:
 - "Authentication successful"

Files:     internal/tests/integration/testdata/protocols/http/cli-with-constants.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/cli-with-constants.yaml
License:   __UNKNOWN__
 constants:
 test: test-in-template
 .
 http:
 - method: GET
 path:

Files:     internal/tests/integration/testdata/workflow/dns-value-share-template-1.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/dns-value-share-template-1.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: A
 .
 extractors:
 - type: regex
 name: extracted
 group: 1
 regex:
 - "IN\tA\t(.+)"

Files:     internal/tests/integration/testdata/protocols/http/raw-unsafe-request.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-unsafe-request.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |+
 GET / HTTP/1.1
 Host:
 Content-Length: 4
 .
 unsafe: true
 matchers-condition: and
 matchers:
 - type: word
 words:
 - "This is test raw-unsafe-matcher test"

Files:     pkg/templates/tests/no-req.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/templates/tests/no-req.yaml
License:   __UNKNOWN__
 requests:

Files:     pkg/authprovider/file_test.go
Copyright: __NO_COPYRIGHT__ in: pkg/authprovider/file_test.go
License:   __UNKNOWN__
 var fetchCalls atomic.Int32

Files:     pkg/authprovider/authx/file.go
Copyright: __NO_COPYRIGHT__ in: pkg/authprovider/authx/file.go
License:   __UNKNOWN__
 // Secret is a struct for secret or credential
 type Secret struct {
 Type            string   `json:"type" yaml:"type"`
 Domains         []string `json:"domains" yaml:"domains"`
 DomainsRegex    []string `json:"domains-regex" yaml:"domains-regex"`
 Headers         []KV     `json:"headers" yaml:"headers"` // Headers preserve exact casing (useful for case-sensitive APIs)
 Cookies         []Cookie `json:"cookies" yaml:"cookies"`
 Params          []KV     `json:"params" yaml:"params"`
 Username        string   `json:"username" yaml:"username"` // can be either email or username
 Password        string   `json:"password" yaml:"password"`
 Token           string   `json:"token" yaml:"token"` // Bearer Auth token
 skipCookieParse bool     `json:"-" yaml:"-"`         // temporary flag to skip cookie parsing (used in dynamic secrets)
 }
 .
 // GetStrategy returns the auth strategy for the secret
 func (s *Secret) GetStrategy() AuthStrategy {
 switch {
 case strings.EqualFold(s.Type, string(BasicAuth)):
 return NewBasicAuthStrategy(s)
 case strings.EqualFold(s.Type, string(BearerTokenAuth)):
 return NewBearerTokenAuthStrategy(s)
 case strings.EqualFold(s.Type, string(HeadersAuth)):
 return NewHeadersAuthStrategy(s)
 case strings.EqualFold(s.Type, string(CookiesAuth)):
 return NewCookiesAuthStrategy(s)
 case strings.EqualFold(s.Type, string(QueryAuth)):
 return NewQueryAuthStrategy(s)
 }
 return nil
 }
 .
 func (s *Secret) Validate() error {
 if !stringsutil.EqualFoldAny(s.Type, SupportedAuthTypes()...) {
 return fmt.Errorf("invalid type: %s", s.Type)
 }

Files:     pkg/templates/tests/multiproto.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/templates/tests/multiproto.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}" # dns request
 type: cname
 .
 ssl:
 - address: "{{Hostname}}" # ssl request
 .
 http:
 - method: GET
 path:
 - "{{BaseURL}}" # http request
 .
 headers:

Files:     internal/tests/integration/testdata/fuzz/fuzz-type.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-type.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 fuzzing:
 - part: query
 type: postfix
 mode: single
 keys: ["id"]
 fuzz: ["fuzz-word"]
 matchers-condition: and
 matchers:
 - type: word
 part: body
 words:
 - "fuzz-word"
 - type: word
 part: header
 words:
 - "text/html"

Files:     internal/tests/integration/testdata/protocols/http/annotation-timeout.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/annotation-timeout.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 @timeout: 5s
 GET / HTTP/1.1
 Host: {{Hostname}}
 .
 matchers:
 - type: word
 words:
 - "This is test matcher text"

Files:     internal/tests/integration/testdata/protocols/dns/srv.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/srv.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: SRV
 class: inet
 recursion: true
 retries: 3
 matchers:
 - type: word
 part: all
 words:
 - "SRV"

Files:     internal/tests/integration/testdata/workflow/multiprotocol-value-share-workflow.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/multiprotocol-value-share-workflow.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/http-value-share-template-1.yaml
 subtemplates:
 - template: workflow/multiprotocol-value-share-template.yaml

Files:     internal/tests/integration/testdata/fuzz/fuzz-mode.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-mode.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 fuzzing:
 - part: query
 type: postfix
 mode: multiple
 keys: ["id","name"]
 fuzz: ["fuzz-word"]
 matchers-condition: and
 matchers:
 - type: word
 part: body
 words:
 - "fuzz-word"
 - type: word
 part: header
 words:
 - "text/html"

Files:     internal/tests/integration/testdata/protocols/http/race-with-variables.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/race-with-variables.yaml
License:   __UNKNOWN__
 Test that variables and constants are properly resolved in race mode.
 .
 variables:

Files:     internal/tests/integration/testdata/protocols/offlinehttp/rfc-req-resp.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/offlinehttp/rfc-req-resp.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 words:
 - "this is a line containing HTTP/1.1 FOO BAR"

Files:     internal/tests/integration/testdata/fuzz/fuzz-body-xml-sqli.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-body-xml-sqli.yaml
License:   __UNKNOWN__
 This template attempts to find SQL injection vulnerabilities by fuzzing http body of xml type.
 This is achieved by performing [ruleType](example: postfix) on value of xml key
 Note: this is example template, and payloads/matchers need to be modified appropriately.
 .
 http:
 - pre-condition:
 - type: dsl
 dsl:

Files:     SYNTAX-REFERENCE.md
Copyright: __NO_COPYRIGHT__ in: SYNTAX-REFERENCE.md
License:   __UNKNOWN__
 </div>
 .
 <hr />

Files:     internal/tests/integration/testdata/protocols/network/basic.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/basic.yaml
License:   __UNKNOWN__
 network:
 - host:
 - "{{Hostname}}"
 inputs:
 - data: "PING\r\n"
 read-size: 4
 matchers:
 - type: word
 part: data
 words:
 - "PONG"

Files:     internal/tests/integration/testdata/protocols/dns/a.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/a.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: A
 class: inet
 recursion: true
 retries: 3
 matchers:
 - type: word
 words:
 - "1.1.1.1"

Files:     internal/tests/integration/testdata/workflow/dns-value-share-template-3.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/dns-value-share-template-3.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 .
 {{extracted}}
 .
 matchers:
 - type: word
 words:
 - "ok"

Files:     lib/config.go
Copyright: __NO_COPYRIGHT__ in: lib/config.go
License:   __UNKNOWN__
 // WithTemplateFilters sets template filters and only templates matching the filters will be
 // loaded and executed
 func WithTemplateFilters(filters TemplateFilters) NucleiSDKOptions {
 return func(e *NucleiEngine) error {

Files:     pkg/tmplexec/flow/testcases/flow-request-condition.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/flow-request-condition.yaml
License:   __UNKNOWN__
 flow: http()
 .
 http:
 - raw:
 - |
 GET /step1 HTTP/1.1
 Host: {{Hostname}}
 .
 - |
 GET /step2 HTTP/1.1
 Host: {{Hostname}}
 .
 - |

Files:     internal/tests/integration/testdata/protocols/headless/headless-payloads.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-payloads.yaml
License:   __UNKNOWN__
 headless:
 - attack: clusterbomb
 payloads:
 aa:
 - aa
 - bb
 bb:
 - cc
 - dd
 steps:
 - args:

Files:     internal/tests/integration/testdata/fuzz/fuzz-multi-mode.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-multi-mode.yaml
License:   __UNKNOWN__
 http:
 - payloads:
 inject:
 - nuclei-v1
 - nuclei-v2
 - nuclei-v3
 .
 fuzzing:
 - part: header
 type: replace
 mode: multiple
 fuzz:
 X-Client-Id: "{{inject}}"
 X-Secret-Id: "{{inject}}"
 .
 matchers-condition: or
 matchers:
 - type: word
 words:
 - "nuclei-v3"

Files:     internal/tests/integration/testdata/workflow/http-1.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/http-1.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}/http1"

Files:     internal/tests/integration/testdata/protocols/http/self-contained-with-path.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/self-contained-with-path.yaml
License:   __UNKNOWN__
 self-contained: true
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: 127.0.0.1:5431
 .
 matchers:
 - type: word
 words:
 - This is self-contained response

Files:     internal/tests/integration/testdata/protocols/http/constants-with-threads.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/constants-with-threads.yaml
License:   __UNKNOWN__
 Test that constants are properly resolved when using threads mode.
 .
 constants:

Files:     pkg/installer/template_test.go
Copyright: __NO_COPYRIGHT__ in: pkg/installer/template_test.go
License:   __UNKNOWN__
 // Simulate written paths from new release (only template1, template2, template3)

Files:     internal/tests/integration/testdata/protocols/dns/cname.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/cname.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: CNAME
 class: inet
 recursion: true
 retries: 3
 matchers:
 - type: word
 part: all
 words:
 - "CNAME"

Files:     internal/tests/integration/testdata/protocols/javascript/vnc-pass-brute.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/vnc-pass-brute.yaml
License:   __UNKNOWN__
 javascript:
 - pre-condition: |
 isPortOpen(Host,Port)
 .
 code: |

Files:     internal/tests/integration/testdata/protocols/code/pre-condition.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/pre-condition.yaml
License:   __UNKNOWN__
 self-contained: true
 .
 variables:
 OAST: "{{interactsh-url}}"
 .
 code:
 - pre-condition: IsLinux()
 engine:
 - sh
 - bash
 source: |
 echo "$OAST" | base64
 .
 matchers:
 - type: dsl
 dsl:
 - true
 # digest: 490a00463044022048c083c338c0195f5012122d40c1009d2e2030c583e56558e0d6249a41e6f3f4022070656adf748f4874018d7a01fce116db10a3acd1f9b03e12a83906fb625b5c50:4a3eb6b4988d95847d4203be25ed1d46

Files:     internal/tests/integration/testdata/protocols/http/response-data-literal-reuse.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/response-data-literal-reuse.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 .
 extractors:
 - type: regex

Files:     internal/tests/integration/testdata/protocols/network/variables.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/variables.yaml
License:   __UNKNOWN__
 variables:
 a1: "PING"
 a2: "{{base64('hello')}}"
 .
 network:
 - host:
 - "{{Hostname}}"
 inputs:
 - data: "{{a1}}"
 read-size: 8
 matchers:
 - type: word
 part: data
 words:
 - "{{a2}}"

Files:     pkg/templates/tests/workflow.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/templates/tests/workflow.yaml
License:   __UNKNOWN__
 workflows:
 - template: tests/match-1.yaml
 - template: tests/match-1.yaml

Files:     internal/tests/integration/testdata/workflow/multimatch-value-share-template.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/multimatch-value-share-template.yaml
License:   __UNKNOWN__
 http:
 - path:

Files:     internal/tests/integration/testdata/workflow/matcher-name.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/matcher-name.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/match-2.yaml
 matchers:
 - name: test-matcher
 subtemplates:
 - template: workflow/match-1.yaml

Files:     internal/tests/integration/testdata/protocols/dns/tlsa.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/tlsa.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: TLSA
 .
 matchers:
 - type: word
 words:
 - "IN\tTLSA"
 .
 extractors:
 - type: regex
 group: 1
 regex:
 - "IN\tTLSA\t(.+)"

Files:     internal/tests/integration/testdata/protocols/http/variables.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/variables.yaml
License:   __UNKNOWN__
 variables:
 a1: "value"
 a2: "{{base64('{{Host}}')}}"
 .
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{FQDN}}
 Test: {{a1}}
 Another: {{a2}}
 Email: {{ username }}
 payloads:
 username:
 - jon.doe@{{ FQDN }}
 stop-at-first-match: true
 matchers-condition: or
 matchers:
 - type: word
 condition: and
 words:
 - "value"
 - "MTI3LjAuMC4x" # 127.0.0.1
 - "jon.doe@127.0.0.1"

Files:     internal/tests/integration/testdata/protocols/http/post-body.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/post-body.yaml
License:   __UNKNOWN__
 http:
 - method: POST
 path:
 - "{{BaseURL}}"
 headers:
 Content-Type: application/x-www-form-urlencoded
 Content-Length: 1 # as long as there is a value, nuclei will auto-recalculate it.

Files:     internal/tests/integration/testdata/fuzz/fuzz-body-json-sqli.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-body-json-sqli.yaml
License:   __UNKNOWN__
 This template attempts to find SQL injection vulnerabilities by fuzzing http body of json type.
 This is achieved by performing [ruleType](example: postfix) on value of json key
 Note: this is example template, and payloads/matchers need to be modified appropriately.
 .
 http:
 - pre-condition:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/http/request-condition-new.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/request-condition-new.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 id: first
 path:
 - "{{BaseURL}}/200"
 - method: GET
 path:
 - "{{BaseURL}}/400"
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/http/multi-request.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/multi-request.yaml
License:   __UNKNOWN__
 # requestURI is reflected back as response body here
 http:
 - raw:
 - |
 GET /ping HTTP/1.1
 Host: {{Hostname}}
 .
 - |
 GET /pong HTTP/1.1
 Host: {{Hostname}}
 .
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/javascript/mysql-connect.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/mysql-connect.yaml
License:   __UNKNOWN__
 javascript:
 - pre-condition: |
 isPortOpen(Host, Port)
 code: |

Files:     internal/tests/integration/testdata/protocols/http/race-multiple.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/race-multiple.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}

Files:     internal/tests/integration/testdata/protocols/http/get-override-sni.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-override-sni.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 @tls-sni:request.host
 GET / HTTP/1.1
 Host: test
 .
 matchers:
 - type: word
 words:
 - "test-ok"

Files:     internal/tests/integration/testdata/fuzz/fuzz-path-sqli.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-path-sqli.yaml
License:   __UNKNOWN__
 This template attempts to find SQL injection vulnerabilities on path based sqli and replacing numerical values with fuzzing payloads.
 ex: /admin/user/55/profile , /user/15/action/update, /posts/15, /blog/100/data, /page/51/ etc these types of paths are filtered and
 replaced with sqli path payloads.
 Note: this is example template, and payloads/matchers need to be modified appropriately.
 .
 http:
 - pre-condition:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/http/redirect-match-url.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/redirect-match-url.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 stop-at-first-match: true # Confirm stop-at-first-match
 redirects: true # Confirm redirected URL matched value
 max-redirects: 3
 matchers:
 - type: word
 words:
 - "This is test redirects matcher text"

Files:     internal/tests/integration/testdata/protocols/http/raw-post-body.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-post-body.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 POST / HTTP/1.1
 Host: {{Hostname}}
 Origin: {{BaseURL}}
 Content-Type: application/x-www-form-urlencoded
 Content-Length: 1

Files:     internal/tests/integration/testdata/protocols/http/matcher-status.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/matcher-status.yaml
License:   __UNKNOWN__
 variables:
 username: test
 password: admin
 date: 2023-05-31
 .
 http:
 - method: GET
 path:

Files:     internal/tests/integration/testdata/protocols/headless/headless-dsl.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-dsl.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: navigate
 args:

Files:     internal/tests/integration/testdata/protocols/headless/headless-self-contained.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-self-contained.yaml
License:   __UNKNOWN__
 self-contained: true
 .
 headless:
 - steps:
 - action: navigate
 args:

Files:     internal/tests/integration/testdata/workflow/condition-unmatched.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/condition-unmatched.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/nomatch-1.yaml
 subtemplates:
 - template: workflow/match-2.yaml

Files:     internal/tests/integration/testdata/fuzz/fuzz-body-params-sqli.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-body-params-sqli.yaml
License:   __UNKNOWN__
 This template attempts to find SQL injection vulnerabilities by fuzzing http body of x-www-form-urlencoded data
 This is achieved by performing [ruleType](example: postfix) on value of body key
 Note: this is example template, and payloads/matchers need to be modified appropriately.
 .
 http:
 - pre-condition:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/network/net-https.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/net-https.yaml
License:   __UNKNOWN__
 tcp:
 - host:
 - "tls://{{Hostname}}"
 port: 443
 inputs:
 - data: "GET / HTTP/1.1\r\nHost: {{Hostname}}\r\nConnection: close\r\n\r\n"
 read-all: true
 extractors:
 - type: dsl
 dsl:
 - "len(data)"

Files:     pkg/tmplexec/flow/testcases/noflow-request-condition.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/noflow-request-condition.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET /step1 HTTP/1.1
 Host: {{Hostname}}
 .
 - |
 GET /step2 HTTP/1.1
 Host: {{Hostname}}
 .
 - |

Files:     internal/tests/integration/testdata/workflow/match-3.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/match-3.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 name: test-matcher-3
 words:
 - "This is test matcher text"

Files:     pkg/tmplexec/flow/testcases/noflow-request-condition-payloads.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/noflow-request-condition-payloads.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET /step1 HTTP/1.1
 Host: {{Hostname}}
 .
 - |
 POST /login HTTP/1.1
 Host: {{Hostname}}
 Content-Type: application/x-www-form-urlencoded

Files:     internal/tests/integration/testdata/protocols/code/py-env-var.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/py-env-var.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - py
 - python3
 source: |
 import sys,os
 print("hello from " + sys.stdin.read() + " " + os.getenv('baz'))
 .
 matchers:
 - type: word
 words:
 - "hello from input baz"
 # digest: 4b0a00483046022100cbbdb7214f669d111b671d271110872dc8af2ab41cf5c312b6e4f64126f55337022100a60547952a0c2bea58388f2d2effe8ad73cd6b6fc92e73eb3c8f88beab6105ec:4a3eb6b4988d95847d4203be25ed1d46

Files:     internal/tests/integration/testdata/protocols/http/interactsh.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/interactsh.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 headers:
 url: 'http://{{interactsh-url}}'
 .
 matchers:
 - type: word

Files:     pkg/tmplexec/flow/testcases/condition-flow-extractors.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/condition-flow-extractors.yaml
License:   __UNKNOWN__
 flow: dns() && http()
 .
 dns:
 - name: "{{FQDN}}"
 type: A
 .
 extractors:
 - type: dsl
 name: a
 internal: true
 dsl:
 - a
 .
 http:
 - method: GET
 path:

Files:     helm/values.yaml
Copyright: __NO_COPYRIGHT__ in: helm/values.yaml
License:   __UNKNOWN__
 Template Allowlist
 include-tags: dos,fuzz # Tag based inclusion (allows overwriting nuclei-ignore list)
 include-templates: # Template based inclusion (allows overwriting nuclei-ignore list)
 - vulnerabilities/xxx
 - misconfiguration/xxxx
 .
 Template Denylist
 exclude-tags: info # Tag based exclusion
 exclude-templates: # Template based exclusion
 - vulnerabilities/xxx
 - misconfiguration/xxxx
 .
 Rate Limit configuration
 rate-limit: 500
 bulk-size: 50
 concurrency: 50

Files:     internal/tests/integration/testdata/protocols/dns/dsl-matcher-variable.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/dsl-matcher-variable.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: CNAME
 .
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/workflow/code-template-2.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/code-template-2.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - py
 - python3
 - python
 source: |
 import os
 print("hello from " + os.getenv("extracted"))
 matchers:
 - type: word
 words:
 - "hello from first"
 # digest: 490a0046304402204cbb1bdf8370e49bb930b17460fb35e15f285a3b48b165736ac0e7ba2f9bc0fb022067c134790c4a2cf646b195aa4488e2c222266436e6bda47931908a28807bdb81:4a3eb6b4988d95847d4203be25ed1d46

Files:     internal/tests/integration/testdata/protocols/http/dsl-matcher-variable.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/dsl-matcher-variable.yaml
License:   __UNKNOWN__
 http:
 -
 path:
 - "{{BaseURL}}"
 payloads:
 VALUES:
 - This
 - is
 - test
 - matcher
 - text
 matchers:
 -
 dsl:
 - 'contains(body,"{{VALUES}}")'
 type: dsl

Files:     pkg/templates/tests/workflow-global-matchers.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/templates/tests/workflow-global-matchers.yaml
License:   __UNKNOWN__
 workflows:
 - template: tests/match-1.yaml
 - template: tests/global-matcher.yaml

Files:     internal/tests/integration/testdata/protocols/http/post-json-body.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/post-json-body.yaml
License:   __UNKNOWN__
 http:
 - method: POST
 path:
 - "{{BaseURL}}"
 headers:
 Content-Type: application/json
 Content-Length: 1
 body: '{"username":"test","password":"nuclei"}'
 matchers:
 - type: word
 words:
 - "This is test post-json-body matcher text"

Files:     internal/tests/integration/testdata/workflow/code-template-1.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/code-template-1.yaml
License:   __UNKNOWN__
 code:
 - engine:
 - py
 - python3
 - python
 source: |
 print("hello from first")
 extractors:
 - type: regex
 name: extracted
 regex:
 - 'hello from (.*)'
 group: 1
 # digest: 490a0046304402206b3648e8d393ac4df82c7d59b1a6ee3731c66c249dbd4d9bf31f0b7f176b37ec02203184d36373e516757c7d708b5799bc16edb1cebc0a64f3442d13ded4b33c42fb:4a3eb6b4988d95847d4203be25ed1d46

Files:     internal/tests/integration/testdata/protocols/http/post-multipart-body.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/post-multipart-body.yaml
License:   __UNKNOWN__
 http:
 - method: POST
 path:
 - "{{BaseURL}}"
 headers:

Files:     internal/tests/integration/testdata/fuzz/fuzz-cookie-error-sqli.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-cookie-error-sqli.yaml
License:   __UNKNOWN__
 This template attempts to find SQL injection vulnerabilities by fuzzing http cookies with SQL injection payloads.
 Note: this is example template, and payloads/matchers need to be modified appropriately.
 .
 http:
 - pre-condition:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/flow/flow-hide-matcher.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/flow/flow-hide-matcher.yaml
License:   __UNKNOWN__
 flow: http(1) && http(2)
 .
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 .
 matchers:
 - type: word
 words:
 - ok
 internal: true
 .
 - method: GET
 path:
 - "{{BaseURL}}"
 .
 matchers:
 - type: word
 words:
 - "Failed event"

Files:     internal/tests/integration/testdata/fuzz/fuzz-query.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-query.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 fuzzing:
 - part: query
 type: postfix
 mode: single
 keys: ["id"]
 fuzz: ["6842'\"><"]
 matchers-condition: and
 matchers:
 - type: word
 part: body
 words:
 - "6842'\"><"
 - type: word
 part: header
 words:
 - "text/html"

Files:     internal/tests/integration/testdata/protocols/javascript/no-port-args.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/javascript/no-port-args.yaml
License:   __UNKNOWN__
 Templates should execute even when Port arg is not explicitly specified.
 .
 javascript:
 - code: |
 // Simple JavaScript code that does not require Port

Files:     internal/tests/integration/testdata/protocols/network/network-port.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/network/network-port.yaml
License:   __UNKNOWN__
 description: This is an updated description for the network port example.
 reference: https://updated-reference-link
 .
 tcp:
 - host:
 - "{{Hostname}}"
 port: 23846
 inputs:
 - data: "PING\r\n"
 read-size: 4
 matchers:
 - type: word
 part: data
 words:
 - "PONG"

Files:     internal/tests/integration/testdata/protocols/file/matcher-with-nested-and.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/file/matcher-with-nested-and.yaml
License:   __UNKNOWN__
 file:
 - extensions:
 - all
 .
 matchers:
 - type: word
 words:
 - "CCC"
 - "DDD"
 condition: and

Files:     pkg/catalog/index/filter_test.go
Copyright: __NO_COPYRIGHT__ in: pkg/catalog/index/filter_test.go
License:   __UNKNOWN__
 t.Run("Empty filter matches all", func(t *testing.T) {

Files:     internal/tests/integration/testdata/protocols/http/dsl-functions.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/dsl-functions.yaml
License:   __UNKNOWN__
 http:
 - raw:
 # Note for the integration test: dsl expression should not contain commas
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 01: {{base64("Hello")}}
 02: {{base64(1234)}}

Files:     internal/tests/integration/testdata/fuzz/fuzz-body-multipart-form-sqli.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-body-multipart-form-sqli.yaml
License:   __UNKNOWN__
 This template attempts to find SQL injection vulnerabilities by fuzzing http body of multipart form data (file upload, etc.)
 This is achieved by performing [ruleType](example: postfix) on value of body form key
 Note: this is example template, and payloads/matchers need to be modified appropriately.
 .
 http:
 - pre-condition:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/headless/headless-waitevent.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-waitevent.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 # note waitevent must be used before navigating to any page
 # unlike waitload
 - action: waitevent
 args:
 event: 'Page.loadEventFired'
 max-duration: 15s
 .
 - action: navigate
 args:
 url: "{{BaseURL}}/"
 .
 matchers:
 - type: word
 words:
 - "<html>"

Files:     internal/tests/integration/testdata/protocols/offlinehttp/offline-raw.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/offlinehttp/offline-raw.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 .
 matchers:
 - type: status
 status:
 - 200

Files:     internal/tests/integration/testdata/protocols/file/matcher-with-or.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/file/matcher-with-or.yaml
License:   __UNKNOWN__
 file:
 - extensions:
 - all
 .
 matchers:
 - type: word
 words:
 - "AA"
 - type: word
 words:
 - "BB"

Files:     internal/tests/integration/testdata/protocols/dns/caa.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/caa.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: CAA
 .
 matchers:
 - type: word
 words:
 - "IN\tCAA"
 .
 extractors:
 - type: regex
 group: 1
 regex:
 - "IN\tCAA\t(.+)"

Files:     internal/tests/integration/testdata/workflow/dns-value-share-template-2.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/dns-value-share-template-2.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{extracted}}"
 type: PTR

Files:     pkg/js/libs/LICENSE.md
Copyright: [yyyy] [name of copyright owner]
           license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
License:   __UNKNOWN__
 3. Grant of Patent License. Subject to the terms and conditions of
 this License, each Contributor hereby grants to You a perpetual,
 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
 (except as stated in this section) patent license to make, have made,
 use, offer to sell, sell, import, and otherwise transfer the Work,
 where such license applies only to those patent claims licensable
 by such Contributor that are necessarily infringed by their
 Contribution(s) alone or by combination of their Contribution(s)
 with the Work to which such Contribution(s) was submitted. If You
 institute patent litigation against any entity (including a
 cross-claim or counterclaim in a lawsuit) alleging that the Work
 or a Contribution incorporated within the Work constitutes direct
 or contributory patent infringement, then any patent licenses
 granted to You under this License for that Work shall terminate
 as of the date such litigation is filed.
 .
 4. Redistribution. You may reproduce and distribute copies of the
 Work or Derivative Works thereof in any medium, with or without
 modifications, and in Source or Object form, provided that You
 meet the following conditions:
 .
 (a) You must give any other recipients of the Work or
 Derivative Works a copy of this License; and
 .
 (b) You must cause any modified files to carry prominent notices
 stating that You changed the files; and
 .
 (d) If the Work includes a "NOTICE" text file as part of its
 distribution, then any Derivative Works that You distribute must
 include a readable copy of the attribution notices contained
 within such NOTICE file, excluding those notices that do not
 pertain to any part of the Derivative Works, in at least one
 of the following places: within a NOTICE text file distributed
 as part of the Derivative Works; within the Source form or
 documentation, if provided along with the Derivative Works; or,
 within a display generated by the Derivative Works, if and
 wherever such third-party notices normally appear. The contents
 of the NOTICE file are for informational purposes only and
 do not modify the License. You may add Your own attribution
 notices within Derivative Works that You distribute, alongside
 or as an addendum to the NOTICE text from the Work, provided
 that such additional attribution notices cannot be construed
 as modifying the License.
 .
 You may add Your own copyright statement to Your modifications and
 may provide additional or different license terms and conditions
 for use, reproduction, or distribution of Your modifications, or
 for any such Derivative Works as a whole, provided Your use,
 reproduction, and distribution of the Work otherwise complies with
 the conditions stated in this License.
 .
 5. Submission of Contributions. Unless You explicitly state otherwise,
 any Contribution intentionally submitted for inclusion in the Work
 by You to the Licensor shall be under the terms and conditions of
 this License, without any additional terms or conditions.
 Notwithstanding the above, nothing herein shall supersede or modify
 the terms of any separate license agreement you may have executed
 with Licensor regarding such Contributions.
 .
 6. Trademarks. This License does not grant permission to use the trade
 names, trademarks, service marks, or product names of the Licensor,
 except as required for reasonable and customary use in describing the
 origin of the Work and reproducing the content of the NOTICE file.
 .
 7. Disclaimer of Warranty. Unless required by applicable law or
 agreed to in writing, Licensor provides the Work (and each
 Contributor provides its Contributions) on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
 implied, including, without limitation, any warranties or conditions
 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
 PARTICULAR PURPOSE. You are solely responsible for determining the
 appropriateness of using or redistributing the Work and assume any
 risks associated with Your exercise of permissions under this License.
 .
 8. Limitation of Liability. In no event and under no legal theory,
 whether in tort (including negligence), contract, or otherwise,
 unless required by applicable law (such as deliberate and grossly
 negligent acts) or agreed to in writing, shall any Contributor be
 liable to You for damages, including any direct, indirect, special,
 incidental, or consequential damages of any character arising as a
 result of this License or out of the use or inability to use the
 Work (including but not limited to damages for loss of goodwill,
 work stoppage, computer failure or malfunction, or any and all
 other commercial damages or losses), even if such Contributor
 has been advised of the possibility of such damages.
 .
 9. Accepting Warranty or Additional Liability. While redistributing
 the Work or Derivative Works thereof, You may choose to offer,
 and charge a fee for, acceptance of support, warranty, indemnity,
 or other liability obligations and/or rights consistent with this
 License. However, in accepting such obligations, You may act only
 on Your own behalf and on Your sole responsibility, not on behalf
 of any other Contributor, and only if You agree to indemnify,
 defend, and hold each Contributor harmless for any liability
 incurred by, or claims asserted against, such Contributor by reason
 of your accepting any such warranty or additional liability.
 .
 END OF TERMS AND CONDITIONS
 .
 APPENDIX: How to apply the Apache License to your work.
 .
 To apply the Apache License to your work, attach the following
 boilerplate notice, with the fields enclosed by brackets "[]"
 replaced with your own identifying information. (Don't include
 the brackets!)  The text should be enclosed in the appropriate
 comment syntax for the file format. We also recommend that a
 file or class name and description of purpose be included on the
 same "printed page" as the copyright notice for easier
 identification within third-party archives.
 .
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
 .
 http://www.apache.org/licenses/LICENSE-2.0
 .
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
 .
 This project uses modules from praetorian/fingerprintx for detection of network protocols which is licensed under Apache 2.0.

Files:     internal/tests/integration/testdata/protocols/dns/aaaa.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/aaaa.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: AAAA
 class: inet
 recursion: true
 retries: 3
 matchers:
 - type: word
 words:
 - "2606:4700:4700::1001"

Files:     pkg/templates/compile_test.go
Copyright: __NO_COPYRIGHT__ in: pkg/templates/compile_test.go
License:   __UNKNOWN__
 Words: []string{"This is test matcher text"},
 }},
 },
 Path:       []string{"{{BaseURL}}"},
 AttackType: generators.AttackTypeHolder{},
 Method: http.HTTPMethodTypeHolder{
 MethodType: http.HTTPGet,
 },
 }},
 TotalRequests: 1,
 Executer:      nil,
 Path:          ts.URL + "/match-1.yaml",
 }
 setup()

Files:     internal/tests/integration/testdata/protocols/http/raw-path-trailing-slash.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/raw-path-trailing-slash.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET /test/..;/..;/ HTTP/1.1
 Host: {{Hostname}}
 Origin: {{BaseURL}}

Files:     internal/tests/integration/testdata/protocols/http/self-contained-file-input.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/self-contained-file-input.yaml
License:   __UNKNOWN__
 self-contained: true
 http:
 - method: GET
 path:
 - "http://127.0.0.1:5431/{{test}}"
 matchers:
 - type: word
 words:
 - This is self-contained response
 .
 - raw:
 - |
 GET http://127.0.0.1:5431/{{test}} HTTP/1.1
 Host: {{Hostname}}
 matchers:
 - type: word
 words:
 - This is self-contained response

Files:     internal/tests/integration/testdata/protocols/http/race-simple.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/race-simple.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 .
 test
 .
 race: true

Files:     internal/tests/integration/testdata/protocols/dns/txt.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/txt.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: TXT
 class: inet
 recursion: true
 retries: 3
 matchers:
 - type: word
 part: all
 words:
 - "TXT"

Files:     internal/tests/integration/testdata/generic/auth/certificate/http-get.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/generic/auth/certificate/http-get.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 words:
 - "Hello"

Files:     pkg/tmplexec/flow/testcases/condition-flow-no-operators.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/condition-flow-no-operators.yaml
License:   __UNKNOWN__
 flow: dns() && http()
 .
 dns:
 - name: "{{FQDN}}"
 type: CNAME
 .
 http:
 - method: GET
 path:

Files:     internal/tests/integration/testdata/workflow/multiprotocol-value-share-template.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/multiprotocol-value-share-template.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{extracted}}"
 type: PTR
 matchers:
 - type: word
 words:
 - "blog.projectdiscovery.io"
 .
 http:
 - path:

Files:     pkg/model/model.go
Copyright: __NO_COPYRIGHT__ in: pkg/model/model.go
License:   __UNKNOWN__
 Multiple values can also be specified separated by commas.
 examples:
 - value: "\"<username>\""

Files:     internal/tests/integration/testdata/fuzz/fuzz-query-num-replace.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-query-num-replace.yaml
License:   __UNKNOWN__
 http:
 - pre-condition:
 - type: dsl
 dsl:
 - 'len(query) > 0'
 # below filter is related to integration testing
 - type: word
 part: path
 words:
 - /blog/post
 pre-condition-operator: and
 .
 payloads:
 nums:
 - 200
 - 201
 .
 fuzzing:
 - part: query
 type: replace
 mode: multiple
 values:
 - "^[0-9]+$" # only if value is number
 fuzz:
 - '{{nums}}'
 .
 matchers:
 - type: status
 status:
 - 200

Files:     internal/tests/integration/testdata/protocols/http/get-redirects-chain-headers.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-redirects-chain-headers.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 redirects: true
 max-redirects: 3
 matchers-condition: and
 matchers:
 - type: word
 part: header
 words:
 - "TestRedirectHeaderMatch"
 .
 - type: status
 status:
 - 302

Files:     internal/tests/integration/testdata/workflow/shared-cookie.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/shared-cookie.yaml
License:   __UNKNOWN__
 workflows:
 # store cookies to standard http client cookie-jar
 - template: workflow/http-1.yaml
 - template: workflow/http-2.yaml
 # store cookie in native browser context
 - template: workflow/headless-1.yaml
 # retrieve 2 standard library cookies + headless cookie
 - template: workflow/http-3.yaml

Files:     internal/tests/integration/testdata/workflow/headless-1.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/headless-1.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: navigate
 args:
 url: "{{BaseURL}}/headless1"
 .
 - action: waitload

Files:     internal/tests/integration/testdata/protocols/http/self-contained-with-params.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/self-contained-with-params.yaml
License:   __UNKNOWN__
 self-contained: true
 http:
 - raw:
 - |

Files:     pkg/templates/tag_filter.go
Copyright: __NO_COPYRIGHT__ in: pkg/templates/tag_filter.go
License:   __UNKNOWN__
 // ErrExcluded is returned for excluded templates

Files:     internal/tests/integration/testdata/workflow/dns-value-share-workflow.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/dns-value-share-workflow.yaml
License:   __UNKNOWN__
 workflows:
 - template: workflow/dns-value-share-template-1.yaml
 subtemplates:
 - template: workflow/dns-value-share-template-2.yaml
 - template: workflow/dns-value-share-template-3.yaml

Files:     internal/tests/integration/testdata/protocols/http/multi-http-var-sharing.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/multi-http-var-sharing.yaml
License:   __UNKNOWN__
 A template which has multiple HTTP requests block and variables are shared between them
 .
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 .
 matchers:
 - type: word
 words:
 - "This is test matcher text"
 negative: true
 internal: true
 .
 extractors:
 - type: dsl
 name: ffff
 dsl:

Files:     internal/tests/integration/testdata/protocols/http/http-matcher-extractor-dy-extractor.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/http-matcher-extractor-dy-extractor.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET {{BaseURL}} HTTP/1.1
 - |
 GET {{absolutePath}} HTTP/1.1
 .
 req-condition: true
 extractors:
 - type: regex
 internal: true

Files:     internal/tests/integration/testdata/protocols/http/get-redirects.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/get-redirects.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 redirects: true
 max-redirects: 3
 matchers:
 - type: word
 words:
 - "This is test redirects matcher text"

Files:     internal/tests/integration/testdata/protocols/headless/headless-header-action.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-header-action.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: setheader
 args:
 part: request
 key: Test
 value: test value
 .
 - action: navigate
 args:
 url: "{{BaseURL}}/"
 .
 - action: waitload
 matchers:
 - type: word
 words:
 - "test value"

Files:     internal/tests/integration/testdata/flow/iterate-one-value-flow.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/flow/iterate-one-value-flow.yaml
License:   __UNKNOWN__
 If length of template.extracted variable is not know, i.e it could be an array of 1 or more values, then iterate function
 should be used to iterate over values because nuclei by default converts array to string if it has only 1 value.
 .
 flow: |
 http(1)
 for(let value of iterate(template.extracted)){
 set("value", value)
 http(2)
 }
 .
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 .
 extractors:
 - type: regex
 name: extracted
 internal: true
 regex:
 - "[ok]+"
 .
 - method: GET
 path:
 - "{{BaseURL}}/{{value}}"
 .
 matchers:
 - type: word
 words:
 - "ok"

Files:     internal/tests/integration/testdata/protocols/file/matcher-with-and.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/file/matcher-with-and.yaml
License:   __UNKNOWN__
 file:
 - extensions:
 - all
 .
 matchers-condition: and
 matchers:
 - type: word
 words:
 - "CCC"
 - type: word
 words:
 - "DDD"

Files:     pkg/tmplexec/flow/testcases/condition-flow.yaml
Copyright: __NO_COPYRIGHT__ in: pkg/tmplexec/flow/testcases/condition-flow.yaml
License:   __UNKNOWN__
 flow: dns() && http()
 .
 dns:
 - name: "{{FQDN}}"
 type: CNAME
 .
 matchers:
 - type: word
 words:
 - "vercel-dns"
 .
 http:
 - method: GET
 path:

Files:     internal/tests/integration/testdata/workflow/match-2.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/match-2.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 name: test-matcher
 words:
 - "This is test matcher text"

Files:     internal/tests/integration/testdata/protocols/file/extract.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/file/extract.yaml
License:   __UNKNOWN__
 file:
 - extensions:
 - all
 .
 extractors:
 - type: regex
 regex:

Files:     internal/tests/integration/testdata/protocols/headless/file-upload.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/file-upload.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: navigate
 args:
 url: "{{BaseURL}}"
 - action: waitload
 - action: files
 args:
 by: xpath
 xpath: /html/body/form/input[1]
 value: protocols/headless/file-upload.yaml
 - action: sleep
 args:
 duration: 2
 - action: click
 args:
 by: x
 xpath: /html/body/form/input[2]
 matchers:
 - type: word
 words:
 - "Basic File Upload"

Files:     internal/tests/integration/testdata/protocols/code/py-interactsh.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/code/py-interactsh.yaml
License:   __UNKNOWN__
 variables:
 i: "{{interactsh-url}}"
 .
 code:
 - engine:
 - py
 - python3
 # Simulate interactsh interaction
 source: |
 import os
 from urllib.request import urlopen
 urlopen("http://" + os.getenv('i'))
 .
 matchers:
 - type: word

Files:     internal/tests/integration/testdata/workflow/nomatch-1.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/workflow/nomatch-1.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}"
 matchers:
 - type: word
 words:
 - "Random"

Files:     pkg/catalog/aws/catalog_test.go
Copyright: __NO_COPYRIGHT__ in: pkg/catalog/aws/catalog_test.go
License:   __UNKNOWN__
 requests:
 - method: GET
 path:
 - "{{BaseURL}}/.git/config"
 matchers:
 - type: word
 words:
 - "[core]"
 `
 .
 return io.NopCloser(strings.NewReader(sample)), nil
 }
 .
 func (m mocks3svc) setBucket(bucket string) {}

Files:     internal/tests/integration/testdata/protocols/headless/headless-header-status-test.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-header-status-test.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - args:
 url: "{{BaseURL}}"
 action: navigate
 - action: waitload
 .
 matchers-condition: and
 matchers:
 - type: word
 part: header
 words:
 - text/plain
 .
 - type: status
 status:
 - 200

Files:     pkg/catalog/loader/loader.go
Copyright: __NO_COPYRIGHT__ in: pkg/catalog/loader/loader.go
License:   __UNKNOWN__
 Catalog         catalog.Catalog
 ExecutorOptions *protocols.ExecutorOptions
 Logger          *gologger.Logger
 }
 .
 // Store is a storage for loaded nuclei templates
 type Store struct {
 id             string // id of the store (optional)
 tagFilter      *templates.TagFilter
 config         *Config
 finalTemplates []string
 finalWorkflows []string
 .
 templates []*templates.Template
 workflows []*templates.Template
 .
 preprocessor templates.Preprocessor
 .
 logger *gologger.Logger
 .
 // parserCacheOnce is used to cache the parser cache result
 parserCacheOnce func() *templates.Cache
 .
 // metadataIndex is the template metadata cache
 metadataIndex *index.Index
 .
 // indexFilter is the cached filter for metadata matching
 indexFilter *index.Filter
 .
 // saveTemplatesIndexOnce is used to ensure we only save the metadata index
 // once
 saveMetadataIndexOnce func()
 .
 // NotFoundCallback is called for each not found template
 // This overrides error handling for not found templates
 NotFoundCallback func(template string) bool
 }
 .
 // NewConfig returns a new loader config
 func NewConfig(options *types.Options, catalog catalog.Catalog, executerOpts *protocols.ExecutorOptions) *Config {

Files:     internal/tests/integration/testdata/fuzz/fuzz-headless.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/fuzz/fuzz-headless.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: navigate
 args:
 url: "{{BaseURL}}"
 - action: waitload
 .
 payloads:
 redirect:
 - "blog.com"
 - "portal.com"
 .
 fuzzing:
 - part: query
 mode: single
 type: replace
 fuzz:
 - "https://{{redirect}}"
 .
 matchers:
 - type: word
 part: body
 words:
 - "{{redirect}}"

Files:     internal/tests/integration/testdata/protocols/http/race-condition-with-delay.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/race-condition-with-delay.yaml
License:   __UNKNOWN__
 http:
 - raw:
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 - |
 GET / HTTP/1.1
 Host: {{Hostname}}
 .
 threads: 2
 race: true
 matchers:
 - type: status
 status:
 - 200

Files:     internal/tests/integration/testdata/protocols/http/request-condition.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/http/request-condition.yaml
License:   __UNKNOWN__
 http:
 - method: GET
 path:
 - "{{BaseURL}}/200"
 - "{{BaseURL}}/400"
 .
 matchers:
 - type: dsl
 dsl:

Files:     internal/tests/integration/testdata/protocols/headless/headless-extract-values.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/headless/headless-extract-values.yaml
License:   __UNKNOWN__
 headless:
 - steps:
 - action: navigate
 args:
 url: "{{BaseURL}}"
 - action: waitload
 # From headless/extract-urls.yaml
 - action: script
 name: extract
 args:
 code: |

Files:     internal/tests/integration/testdata/protocols/dns/cname-fingerprint.yaml
Copyright: __NO_COPYRIGHT__ in: internal/tests/integration/testdata/protocols/dns/cname-fingerprint.yaml
License:   __UNKNOWN__
 dns:
 - name: "{{FQDN}}"
 type: NS
 .
 matchers:
 - type: word
 words:
 - "IN\tCNAME"
 .
 extractors:
 - type: regex
 group: 1
 regex:
 - "IN\tCNAME\t(.+)"

#----------------------------------------------------------------------------
# xml and html files (skipped):
#         README_KR.md
#         README_CN.md
#         README_PT-BR.md
#         README_ID.md
#         README_ES.md
#         README_JP.md
#         pkg/input/formats/testdata/burp.xml
#         internal/server/templates/index.html
#         .run/UnitTests.run.xml

#----------------------------------------------------------------------------
# huge files   (skipped):
#         static/nuclei-flow.jpg
#         static/projectdiscovery-browse-results.gif

#----------------------------------------------------------------------------
# Files marked as NO_LICENSE_TEXT_FOUND may be covered by the following
# license/copyright files.

#----------------------------------------------------------------------------
# License file: LICENSE.md
 MIT License
 .
 Copyright (c) 2025 ProjectDiscovery, Inc.
 .
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included in all
 copies or substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
