6344 Commits

Author SHA1 Message Date
dependabot[bot] 6b4b2d883b chore(deps): bump crate-ci/typos in the workflows group (#7451)
Bumps the workflows group with 1 update: [crate-ci/typos](https://github.com/crate-ci/typos).


Updates `crate-ci/typos` from 1.47.0 to 1.47.2
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.47.0...v1.47.2)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.47.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: workflows
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-08 06:06:28 +00:00
Dwi Siswanto 20cbf0bd73 refactor: use path-aware filesystem containment checks (#7420)
* feat(filepath): add IsPathWithinAnyDirectory func

Signed-off-by: Dwi Siswanto <git@dw1.io>

* refactor: use path-aware filesystem containment checks

Several filesystem trust boundaries relied on
lexical prefix checks to decide whether a path
fell under an allowed directory. That let sibling
paths be treated as if they were children of
trusted directories.

Replace those checks with canonical path
containment checks for helper payload loading,
template archive extraction, custom template
metadata, template path classification, and
headless screenshot output validation.

Signed-off-by: Dwi Siswanto <git@dw1.io>

* adding more tests

* fixing tests

* adding test

---------

Signed-off-by: Dwi Siswanto <git@dw1.io>
Co-authored-by: Mzack9999 <mzack9999@protonmail.com>
2026-06-04 21:03:51 +05:30
Dogan Can Bakir ca2217548b chore(deps): drop docker/docker by bumping gozero and testcontainers (#7447) 2026-06-04 13:34:20 +02:00
Doğan Can Bakır 7414bcbf89 bump version 2026-06-03 17:15:21 +03:00
Dogan Can Bakir 1c961293b4 Merge pull request #7440 from projectdiscovery/dependabot/github_actions/dev/workflows-c303e18619
chore(deps): bump crate-ci/typos from 1.46.3 to 1.47.0 in the workflows group
2026-06-03 16:25:48 +03:00
dependabot[bot] b625d9a706 chore(deps): bump the modules group with 7 updates (#7439)
Bumps the modules group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) | `0.5.8` | `0.5.9` |
| [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) | `1.3.12` | `1.3.13` |
| [github.com/projectdiscovery/gologger](https://github.com/projectdiscovery/gologger) | `1.1.68` | `1.1.70` |
| [github.com/projectdiscovery/networkpolicy](https://github.com/projectdiscovery/networkpolicy) | `0.1.39` | `0.1.40` |
| [github.com/projectdiscovery/ratelimit](https://github.com/projectdiscovery/ratelimit) | `0.0.87` | `0.0.88` |
| [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) | `0.2.82` | `0.2.83` |
| [github.com/projectdiscovery/cdncheck](https://github.com/projectdiscovery/cdncheck) | `1.2.37` | `1.2.38` |


Updates `github.com/projectdiscovery/fastdialer` from 0.5.8 to 0.5.9
- [Release notes](https://github.com/projectdiscovery/fastdialer/releases)
- [Commits](https://github.com/projectdiscovery/fastdialer/compare/v0.5.8...v0.5.9)

Updates `github.com/projectdiscovery/retryablehttp-go` from 1.3.12 to 1.3.13
- [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases)
- [Commits](https://github.com/projectdiscovery/retryablehttp-go/compare/v1.3.12...v1.3.13)

Updates `github.com/projectdiscovery/gologger` from 1.1.68 to 1.1.70
- [Release notes](https://github.com/projectdiscovery/gologger/releases)
- [Commits](https://github.com/projectdiscovery/gologger/compare/v1.1.68...v1.1.70)

Updates `github.com/projectdiscovery/networkpolicy` from 0.1.39 to 0.1.40
- [Release notes](https://github.com/projectdiscovery/networkpolicy/releases)
- [Commits](https://github.com/projectdiscovery/networkpolicy/compare/v0.1.39...v0.1.40)

Updates `github.com/projectdiscovery/ratelimit` from 0.0.87 to 0.0.88
- [Release notes](https://github.com/projectdiscovery/ratelimit/releases)
- [Commits](https://github.com/projectdiscovery/ratelimit/compare/v0.0.87...v0.0.88)

Updates `github.com/projectdiscovery/wappalyzergo` from 0.2.82 to 0.2.83
- [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases)
- [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.2.82...v0.2.83)

Updates `github.com/projectdiscovery/cdncheck` from 1.2.37 to 1.2.38
- [Release notes](https://github.com/projectdiscovery/cdncheck/releases)
- [Commits](https://github.com/projectdiscovery/cdncheck/compare/v1.2.37...v1.2.38)

---
updated-dependencies:
- dependency-name: github.com/projectdiscovery/fastdialer
  dependency-version: 0.5.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/retryablehttp-go
  dependency-version: 1.3.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/gologger
  dependency-version: 1.1.70
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/networkpolicy
  dependency-version: 0.1.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/ratelimit
  dependency-version: 0.0.88
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/wappalyzergo
  dependency-version: 0.2.83
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/cdncheck
  dependency-version: 1.2.38
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-01 19:23:28 +00:00
dependabot[bot] 2376f60c1e chore(deps): bump crate-ci/typos in the workflows group
Bumps the workflows group with 1 update: [crate-ci/typos](https://github.com/crate-ci/typos).


Updates `crate-ci/typos` from 1.46.3 to 1.47.0
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.46.3...v1.47.0)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: workflows
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-01 19:12:09 +00:00
Dwi Siswanto bbc010b637 fix(js): probe SMBv1 support after SMB2 negotiation (#7430)
`ConnectSMBInfoMode` only tried SMBv1 when SMB2/3
negotiation failed so dual-stack servers could
report `SupportV1` as false even when SMBv1 was
enabled.

Run a same-target SMBv1 probe after successful
SMB2/3 negotiation and merge the support flag into
the returned log w/o changing the negotiated
SMB2/3 version.

Fixes #4832

Signed-off-by: Dwi Siswanto <git@dw1.io>
2026-05-30 09:16:06 +02:00
Mzack9999 0bc707a1f7 Merge pull request #7425 from tejgokani/test/telnetmini-coverage
fix(telnetmini): prevent slice-bounds panic in ParseNTLMResponse on truncated NTLM challenge
2026-05-25 18:03:28 +02:00
Mzack9999 840c0ffe66 downgrading gologger 2026-05-25 14:12:08 +02:00
tejgokani 79105261bd test(telnetmini): address CodeRabbit review — add 48-byte boundary test and clean up wrong-type input
- Add TestParseNTLMResponse_Minimal48Bytes to explicitly cover the exact
  lower boundary of the len<48 guard (minimal valid challenge, no target
  name or info)
- Replace the inline immediately-invoked function for the wrong-message-type
  case with a pre-built local variable for readability

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 15:05:00 +05:30
tejgokani 1aff867491 fix(telnetmini): replace len<12 guard with len<48 to prevent slice-bounds panic on truncated NTLM challenge
ParseNTLMResponse read fixed-header fields at offsets 12-14, 16-20, 40-42,
and 44-48 after only checking len>=12, causing a slice-bounds-out-of-range
panic for any NTLM section between 12 and 47 bytes. Because this input comes
from untrusted network data, a malicious or malformed telnet server could crash
the scanner (or the embedding host process when used via the SDK).

Raise the guard to len<48 so the full fixed header is present before any field
is touched. Add unit tests covering the happy path, existing error cases, and a
no-panic regression table for every truncated length in [12,47].

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 14:47:57 +05:30
dependabot[bot] 3684849ac9 chore(deps): bump crate-ci/typos in the workflows group (#7424)
Bumps the workflows group with 1 update: [crate-ci/typos](https://github.com/crate-ci/typos).


Updates `crate-ci/typos` from 1.46.2 to 1.46.3
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.46.2...v1.46.3)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.46.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: workflows
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-25 15:17:58 +07:00
dependabot[bot] 408ebe1d18 chore(deps): bump the modules group with 13 updates (#7423)
Bumps the modules group with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [github.com/projectdiscovery/clistats](https://github.com/projectdiscovery/clistats) | `0.1.3` | `0.1.4` |
| [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) | `0.5.7` | `0.5.8` |
| [github.com/projectdiscovery/hmap](https://github.com/projectdiscovery/hmap) | `0.0.100` | `0.0.101` |
| [github.com/projectdiscovery/retryabledns](https://github.com/projectdiscovery/retryabledns) | `1.0.114` | `1.0.115` |
| [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) | `1.3.11` | `1.3.12` |
| [github.com/projectdiscovery/dsl](https://github.com/projectdiscovery/dsl) | `0.8.18` | `0.8.19` |
| [github.com/projectdiscovery/gologger](https://github.com/projectdiscovery/gologger) | `1.1.68` | `1.1.69` |
| [github.com/projectdiscovery/networkpolicy](https://github.com/projectdiscovery/networkpolicy) | `0.1.38` | `0.1.39` |
| [github.com/projectdiscovery/uncover](https://github.com/projectdiscovery/uncover) | `1.2.0` | `1.2.1` |
| [github.com/projectdiscovery/useragent](https://github.com/projectdiscovery/useragent) | `0.0.107` | `0.0.108` |
| [github.com/projectdiscovery/utils](https://github.com/projectdiscovery/utils) | `0.11.0` | `0.11.1` |
| [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) | `0.2.81` | `0.2.82` |
| [github.com/projectdiscovery/cdncheck](https://github.com/projectdiscovery/cdncheck) | `1.2.36` | `1.2.37` |


Updates `github.com/projectdiscovery/clistats` from 0.1.3 to 0.1.4
- [Release notes](https://github.com/projectdiscovery/clistats/releases)
- [Commits](https://github.com/projectdiscovery/clistats/compare/v0.1.3...v0.1.4)

Updates `github.com/projectdiscovery/fastdialer` from 0.5.7 to 0.5.8
- [Release notes](https://github.com/projectdiscovery/fastdialer/releases)
- [Commits](https://github.com/projectdiscovery/fastdialer/compare/v0.5.7...v0.5.8)

Updates `github.com/projectdiscovery/hmap` from 0.0.100 to 0.0.101
- [Release notes](https://github.com/projectdiscovery/hmap/releases)
- [Commits](https://github.com/projectdiscovery/hmap/compare/v0.0.100...v0.0.101)

Updates `github.com/projectdiscovery/retryabledns` from 1.0.114 to 1.0.115
- [Release notes](https://github.com/projectdiscovery/retryabledns/releases)
- [Commits](https://github.com/projectdiscovery/retryabledns/compare/v1.0.114...v1.0.115)

Updates `github.com/projectdiscovery/retryablehttp-go` from 1.3.11 to 1.3.12
- [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases)
- [Commits](https://github.com/projectdiscovery/retryablehttp-go/compare/v1.3.11...v1.3.12)

Updates `github.com/projectdiscovery/dsl` from 0.8.18 to 0.8.19
- [Release notes](https://github.com/projectdiscovery/dsl/releases)
- [Commits](https://github.com/projectdiscovery/dsl/compare/v0.8.18...v0.8.19)

Updates `github.com/projectdiscovery/gologger` from 1.1.68 to 1.1.69
- [Release notes](https://github.com/projectdiscovery/gologger/releases)
- [Commits](https://github.com/projectdiscovery/gologger/compare/v1.1.68...v1.1.69)

Updates `github.com/projectdiscovery/networkpolicy` from 0.1.38 to 0.1.39
- [Release notes](https://github.com/projectdiscovery/networkpolicy/releases)
- [Commits](https://github.com/projectdiscovery/networkpolicy/compare/v0.1.38...v0.1.39)

Updates `github.com/projectdiscovery/uncover` from 1.2.0 to 1.2.1
- [Release notes](https://github.com/projectdiscovery/uncover/releases)
- [Commits](https://github.com/projectdiscovery/uncover/compare/v1.2.0...v1.2.1)

Updates `github.com/projectdiscovery/useragent` from 0.0.107 to 0.0.108
- [Release notes](https://github.com/projectdiscovery/useragent/releases)
- [Commits](https://github.com/projectdiscovery/useragent/compare/v0.0.107...v0.0.108)

Updates `github.com/projectdiscovery/utils` from 0.11.0 to 0.11.1
- [Release notes](https://github.com/projectdiscovery/utils/releases)
- [Changelog](https://github.com/projectdiscovery/utils/blob/main/CHANGELOG.md)
- [Commits](https://github.com/projectdiscovery/utils/compare/v0.11.0...v0.11.1)

Updates `github.com/projectdiscovery/wappalyzergo` from 0.2.81 to 0.2.82
- [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases)
- [Commits](https://github.com/projectdiscovery/wappalyzergo/compare/v0.2.81...v0.2.82)

Updates `github.com/projectdiscovery/cdncheck` from 1.2.36 to 1.2.37
- [Release notes](https://github.com/projectdiscovery/cdncheck/releases)
- [Commits](https://github.com/projectdiscovery/cdncheck/compare/v1.2.36...v1.2.37)

---
updated-dependencies:
- dependency-name: github.com/projectdiscovery/clistats
  dependency-version: 0.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/fastdialer
  dependency-version: 0.5.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/hmap
  dependency-version: 0.0.101
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/retryabledns
  dependency-version: 1.0.115
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/retryablehttp-go
  dependency-version: 1.3.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/dsl
  dependency-version: 0.8.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/gologger
  dependency-version: 1.1.69
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/networkpolicy
  dependency-version: 0.1.39
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/uncover
  dependency-version: 1.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/useragent
  dependency-version: 0.0.108
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/utils
  dependency-version: 0.11.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/wappalyzergo
  dependency-version: 0.2.82
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: modules
- dependency-name: github.com/projectdiscovery/cdncheck
  dependency-version: 1.2.37
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-25 08:11:13 +00:00
Mzack9999 fa73d2e13e fix(js): abandon runtimes that outlive interrupt grace period (#7378)
Prevent pooled and non-pooled goja runtimes from
being reused or cleaned up when the `RunProgram`
goroutine fails to exit after context cancellation
and `Interrupt()`. In that state, the goroutine
may still be mutating runtime state, so touching
the runtime/returning it to the pool can cause
fatal concurrent map access panics.

Add an explicit `errRuntimeTerminationTimeout`
path that abandons the runtime, keeps the related
concurrency slot reserved, and releases that slot
only from a reaper after the orphaned goroutine
exits. Preserve `errors.Is` compatibility with the
original context cancellation cause.

Keep normal cleanup behavior unchanged, including
callback panic cleanup, and add regression tests
for stuck-interrupt handling that verify runtime
abandonment and delayed slot release.

Fixes #7376

* fix race condition

* fixing review comments

* fix(js): defer runtime cleanup

When a runtime is abandoned, we must not touch the
goja runtime after `RunProgram` has exceeded the
interrupt grace period. At the same time, cleanup
still needs to run on every normal exit before
returning the runtime to the pool, including setup
callback panics.

Signed-off-by: Dwi Siswanto <git@dw1.io>

---------

Signed-off-by: Dwi Siswanto <git@dw1.io>
Co-authored-by: Dwi Siswanto <git@dw1.io>
2026-05-23 08:35:25 +07:00
Mzack9999 7ee7ccac49 Merge pull request #7419 from projectdiscovery/fix-memogen
fix memogen context skip and scope auto-push to upstream
2026-05-20 21:19:40 +02:00
Mzack9999 fe70a10664 fix memogen context skip and scope workflow to upstream repo 2026-05-20 21:16:47 +02:00
Dogan Can Bakir 9330f0186d Merge pull request #7414 from projectdiscovery/chore/deps-bump-and-govaluate-switch
chore(deps): bump pdsec modules + govaluate/aurora migration
2026-05-19 21:18:09 +03:00
Dogan Can Bakir efcf23ce56 docs: fix broken cloud scanning link (#7413) 2026-05-19 23:44:47 +07:00
dependabot[bot] 28752a7380 chore(deps): bump github.com/go-git/go-git/v5 (#7416)
Bumps the go_modules group with 1 update in the / directory: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git).


Updates `github.com/go-git/go-git/v5` from 5.19.0 to 5.19.1
- [Release notes](https://github.com/go-git/go-git/releases)
- [Changelog](https://github.com/go-git/go-git/blob/main/HISTORY.md)
- [Commits](https://github.com/go-git/go-git/compare/v5.19.0...v5.19.1)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-version: 5.19.1
  dependency-type: direct:production
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-19 16:39:31 +00:00
Dogan Can Bakir 76bf0f3c16 Merge pull request #7393 from projectdiscovery/sdk-upload
feat(sdk): mirror -config, -report-config, -dashboard for SDK callers
2026-05-19 18:44:52 +03:00
Mzack9999 ca0c237d10 Merge pull request #7410 from akhilesharora/fix/raw-query-auth-strategy
fix(http/raw): persist QueryAuthStrategy params in ApplyAuthStrategy
2026-05-19 15:41:42 +02:00
Mzack9999 d68a5ea5b2 extending tests 2026-05-18 23:53:33 +02:00
Mzack9999 be35ec6f36 Merge pull request #7405 from gugacyber/dev
docs(pt-br): update README_PT-BR.md to reflect current project description and features
2026-05-18 23:39:51 +02:00
Mzack9999 6c1bf80a1a docs general upadte 2026-05-18 23:38:44 +02:00
Doğan Can Bakır 1ec64a3f95 chore(deps): bump pdsec modules; switch to projectdiscovery/govaluate and aurora v4
Bumps clistats, fastdialer, retryablehttp-go, dsl, networkpolicy,
ratelimit, sarif, utils, wappalyzergo, cdncheck. dsl v0.8.18 moves to
the projectdiscovery/govaluate fork, and utils v0.11.0 pulls aurora v4,
so the corresponding imports and type references are migrated.

Refs #7380.
2026-05-18 17:14:29 +03:00
dependabot[bot] b50980c4f3 chore(deps): bump crate-ci/typos in the workflows group (#7412)
Bumps the workflows group with 1 update: [crate-ci/typos](https://github.com/crate-ci/typos).


Updates `crate-ci/typos` from 1.46.1 to 1.46.2
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.46.1...v1.46.2)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.46.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: workflows
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-18 08:17:46 +00:00
Akhilesh Arora 33066e8ebc fix(http/raw): persist QueryAuthStrategy params in ApplyAuthStrategy
The QueryAuthStrategy case in raw.Request.ApplyAuthStrategy parses
r.FullURL into a local 'parsed', appends auth params to parsed.Params,
then returns without writing back to r.FullURL. Every other branch in
the same switch mutates r.Headers, and the standalone QueryAuthStrategy
.Apply / .ApplyOnRR in pkg/authprovider/authx/query_auth.go both write
back to req.URL.RawQuery. Only the raw-request branch was missing the
write-back, so raw templates matching a 'query' auth secret silently
drop the auth params.

Adds r.FullURL = parsed.String() after the loop. New unit test fails
on dev and passes with the fix.
2026-05-17 13:13:02 +02:00
Gustavo d56f5a75ce docs(pt-br): update README_PT-BR.md to reflect current project description and features 2026-05-15 15:21:21 -03:00
Mzack9999 ce28f2028d Merge pull request #7388 from projectdiscovery/dwisiswant0/feat/js/add-wmi-tsch-scmr-and-dcom-helper-modules
feat(js): add wmi, tsch, scmr, and dcom helper modules
2026-05-14 20:52:58 +02:00
Mzack9999 5675f513ea use local samba endpoint 2026-05-14 18:42:48 +02:00
Mzack9999 0cc660ca2a Merge pull request #7397 from projectdiscovery/dwisiswant0/fix/expressions/prefer-exact-placeholders-over-exprs
fix(expressions): prefer exact placeholders over exprs
2026-05-13 21:26:14 +02:00
shubhamrasal 609cf3daba refactor(sdk): replace goflags overlay with RuntimeConfig struct
WithConfigFile/Bytes now decode YAML directly into a typed RuntimeConfig
struct and apply it via MergeOptions(opts). The goflags-backed reflection
overlay had too much surface area (266-line flag inventory duplicate plus
a flag-default vs DefaultOptions diff) for the actual SDK use case, which
is accepting a known set of scan knobs from cloud-shipped YAML.

RuntimeConfig schema covers tags/severity filtering, headers/vars,
interactsh, socks5-proxy, plus rate-limit/bulk-size/concurrency/timeout/
retries/rate-limit-host. Scalar knobs use *int so omitted keys preserve
the engine's existing value.

Drops internal/runner/flags.go (266 lines) and lib/config_load.go (86
lines). Reverts internal/runner/runner.go to dev (no SetupPDCPUpload
export; SDK inlines its own PDCP wrap). Keeps the LoadReportingOptionsFromBytes
extract in internal/runner/options.go for WithReportingConfigFile/Bytes.
2026-05-12 18:29:24 +05:30
shubhamrasal f783605032 revert(sdk): keep CLI untouched, restore original PDCP disabled message
The BindOptionFlags refactor of readConfig() caused duplicate group
headers in `nuclei -h` (CLI-only flags appended new same-named groups
after the shared ones). Suppressing the disabled-message on the CLI
was also a behavior change.

Both are scope creep. This PR is for SDK additions, not CLI refactor.

- Revert cmd/nuclei/main.go to dev. `nuclei -h` byte-identical.
- Restore "Scan results upload to cloud is disabled." in SetupPDCPUpload.
- flags.go stays for SDK-only use via lib/config_load.go.
2026-05-12 17:43:36 +05:30
shubhamrasal fbf7d0053f Merge branch 'dev' into sdk-upload 2026-05-12 16:31:35 +05:30
Tarun Koyalwar 7bded8ae8d Merge pull request #7398 from projectdiscovery/gitlab-tracker-v1
fix(reporting/gitlab): bump client-go to v1.9.1, widen IDs to int64
2026-05-12 16:28:57 +05:30
shubhamrasal 0fc90a6b87 docs(runner): tighten SetupPDCPUpload disabled-branch comment to one line 2026-05-12 16:25:47 +05:30
shubhamrasal f2c95ef887 fix(runner): suppress redundant "upload disabled" warning on default scans
SetupPDCPUpload returned a non-empty status string in the
upload-disabled branch, which displayExecutionInfo then logs as a
Warning on every nuclei run that doesn't request -dashboard. That
also suppresses the friendlier dashboard hint Info line.

Return empty for the default-disabled case so the Info hint fires.
The latent issue predates this PR; CodeRabbit surfaced it on the
refactor.
2026-05-12 16:21:52 +05:30
shubhamrasal d5d9eed0e3 test(sdk): drop DisableUpdateCheck() from new lib/config_test.go
DisableUpdateCheck() mutates DefaultConfig process-globally. config_test.go
files run alphabetically before sdk_test.go, so my tests were disabling the
update-check globally and TestContextCancelNucleiEngine (which depends on
template auto-install) was hitting an empty template store on first run.

Drop the option from the seven test sites. First test in the binary now
triggers template install (sync.Once gated; subsequent tests free).
2026-05-12 16:16:38 +05:30
shubhamrasal ddcae35620 fix(reporting/gitlab): bump client-go to v1.9.1, widen IDs to int64
client-go v1.x widened ID fields from int to int64 across the API surface
(User.ID, Issue.ID, ListOptions.Page/PerPage). Adjust the tracker to the
new signatures: Integration.userID, the assignee slice, the FormatInt
arguments, and ListOptions casts.

Keep Options.DuplicateIssuePageSize / DuplicateIssueMaxPages as int —
that struct is user-facing YAML and YAML ints round-trip into int64 fine.
Cast at the call site only.

UpdateIssue and CreateIssueNote signatures also widened, but issue.IID
is already int64 in v1.x, so existing call sites compile unchanged.
2026-05-12 15:51:20 +05:30
shubhamrasal 642887e985 fix(runner): restore nolint on deprecated ZTLS flag binding
Extracted into flags.go from cmd/nuclei/main.go but the trailing
//nolint:all was dropped — golangci-lint trips on SA1019 in the
SDK-shared path. Restoring matches the dev branch line.
2026-05-12 14:55:17 +05:30
shubhamrasal 44c63a84d8 docs(sdk): trim PR comments, fix two review nits
- L1: sdk_private.go references SetupPDCPUpload (was lowercase).
- L2: config_test.go test comment describes how tmpEngine is constructed
  rather than incorrectly claiming "inherits from parent".
- Trim godocs and inline comments across the PR — drop restated WHAT,
  keep WHY and limitations.
2026-05-12 14:41:25 +05:30
shubhamrasal db156370c4 refactor(sdk): dedupe config loaders, drop threadSafePerScan mode
- Inline (*Runner).setupPDCPUpload — wrapper just delegated to the
  package-level SetupPDCPUpload. Call site inlines the three lines.
- Dedupe reporting-config file load: WithReportingConfigFile and
  loadImplicitReportingConfig share loadReportingConfigFromPath.
- Move config-overlay/load helpers (newConfigFlagSet, overlayConfigFromFile,
  applyOverlay, loadReportingConfigFromPath, loadImplicitReportingConfig)
  out of lib/config.go into lib/config_load.go.
- Drop threadSafePerScan engine mode and isThreadSafe helper. The four
  new With* options no longer gate per-scan use. pd-agent doesn't enter
  thread-safe mode; reintroducing the gate ships as a follow-up PR with
  its own scope.
2026-05-12 14:01:30 +05:30
Dwi Siswanto b4a9e0a75a fix(expressions): prefer exact placeholders over exprs
`FindExpressions` checks marker contents with
govaluate before doing normal placeholder
replacement. That breaks valid hyphenated names
like `request-id`: govaluate reads them as
subtraction lol, and the lookup fails with a
missing request parameter.

If a marker exactly matches a key in the
replacement map, treat it as a plain placeholder
and let normal replacement handle it. Authored
expressions should still be evaluated, and
malformed helper calls should still return errors.

Fixes #7395

Signed-off-by: Dwi Siswanto <git@dw1.io>
2026-05-12 04:45:58 +07:00
Dwi Siswanto 4f3e77f790 test(expressions): add TestEvaluateHyphenatedPlaceholderNames
Signed-off-by: Dwi Siswanto <git@dw1.io>
2026-05-12 04:45:41 +07:00
dependabot[bot] d65c7951d2 chore(deps): bump github.com/go-git/go-git/v5 (#7394)
Bumps the go_modules group with 1 update in the / directory: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git).


Updates `github.com/go-git/go-git/v5` from 5.18.0 to 5.19.0
- [Release notes](https://github.com/go-git/go-git/releases)
- [Changelog](https://github.com/go-git/go-git/blob/main/HISTORY.md)
- [Commits](https://github.com/go-git/go-git/compare/v5.18.0...v5.19.0)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-version: 5.19.0
  dependency-type: direct:production
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-11 16:32:03 +00:00
shubhamrasal f3308fa1f3 feat(sdk): mirror -config, -report-config, -dashboard for SDK callers
SDK consumers had to rebuild types.Options by hand or shell out to the
CLI to get config-file parity. This shares BindOptionFlags,
LoadReportingOptionsFromBytes, ApplyExporterOptionsFromTypes, and
SetupPDCPUpload between cmd/nuclei and lib/ so both paths produce
identical engine state.

WithConfigFile/Bytes apply only YAML-set fields (reflection diff against
goflags defaults) so prior With* and DefaultOptions() values survive
YAML that omits them. Per-scan ExecuteNucleiWithOpts rejects these
options via a new threadSafePerScan mode, matching the pattern for
options that only make sense at construction.
2026-05-11 18:54:48 +05:30
Dwi Siswanto 940ca60ee3 chore: bump github.com/RedTeamPentesting/adauth v0.5.0 => v0.5.4-0.20260511073005-3d18e8a5a687
Signed-off-by: Dwi Siswanto <git@dw1.io>
2026-05-11 18:41:07 +07:00
dependabot[bot] 0a7100bb85 chore(deps): bump crate-ci/typos in the workflows group (#7392)
Bumps the workflows group with 1 update: [crate-ci/typos](https://github.com/crate-ci/typos).


Updates `crate-ci/typos` from 1.46.0 to 1.46.1
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.46.0...v1.46.1)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.46.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: workflows
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-11 07:09:55 +00:00
Dwi Siswanto ce50479fc3 test(js): add goexec tests
Signed-off-by: Dwi Siswanto <git@dw1.io>
2026-05-11 03:58:16 +07:00