Skip to content

Conversation

dogancanbakir
Copy link
Member

@dogancanbakir dogancanbakir commented Aug 26, 2025

ctx: https://github.com/projectdiscovery/nuclei/actions/runs/17222777779/job/48861493818?pr=6424

Summary by CodeRabbit

  • Chores
    • Updated several underlying libraries to newer patch versions to improve stability, security, and compatibility (networking, HTTP detection, CDN checks, and platform integrations).
    • No changes to user-facing behavior or public APIs.
    • Users should see improved resilience and reliability without any required action.

@dogancanbakir dogancanbakir self-assigned this Aug 26, 2025
@auto-assign auto-assign bot requested a review from dwisiswant0 August 26, 2025 07:05
Copy link
Contributor

coderabbitai bot commented Aug 26, 2025

Walkthrough

Bumped dependency versions in go.mod for three ProjectDiscovery modules; no code changes, public API alterations, or function signature changes were introduced.

Changes

Cohort / File(s) Summary
Dependency version bumps
go.mod
Updated module versions:
- github.com/projectdiscovery/httpx v1.7.0 → v1.7.1
- github.com/projectdiscovery/wappalyzergo v0.2.36 → v0.2.37
- github.com/projectdiscovery/cdncheck v1.1.26 → v1.1.27

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I twitch my nose at tidy trees,
Three tiny bumps float on the breeze.
Hop—httpx, wapp, and cdn cheer,
No code changed, just versions near.
I kick a clover, grin and beam—dependencies updated in a dream! 🐇✨

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 776cb4f and 100d652.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (1)
  • go.mod (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • go.mod
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Lint
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch bump_httpx_version

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbit in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbit in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbit gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbit read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbit help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbit ignore or @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbit summary or @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbit or @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 0f7b33c and 776cb4f.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (1)
  • go.mod (7 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Lint
🔇 Additional comments (5)
go.mod (5)

98-110: Action required: address build failure for missing regexes.json before verifying httpx bump

It looks like the build is currently failing due to a missing regexes.json file, which prevents us from completing the upgrade validation:

• Error: pkg/output/stats/waf/waf.go:27:12: pattern regexes.json: no matching files found
– File referencing the resource: pkg/output/stats/waf/waf.go (around line 27)
– Please ensure regexes.json exists at the expected path or update the code to point to the correct location.

Once the resource issue is resolved:

  • Re-run the build and test suite to confirm that the bump to github.com/projectdiscovery/httpx v1.7.1 introduces no behavioral changes (timeouts, retry logic, TLS defaults, etc.).
  • Verify that the other dependency bumps in this PR are intentional and introduce no unintended side-effects.

Also, please update the PR title and description to reflect all dependency bumps included in this change set (e.g., httpx, mapcidr, networkpolicy, wappalyzergo, golang.org/x/*). This will aid future traceability.


342-345: No errgroup/semaphore/singleflight usage found; x/sync v0.16.0 upgrade is safe

I searched the entire codebase for any imports or references to golang.org/x/sync’s errgroup, semaphore, and singleflight packages and found none. Therefore, upgrading to v0.16.0 has no impact on existing semantics.

No further action required.


119-122: golang.org/x/term v0.33.0 – cross-platform password input verification

Before verifying x/term behavior, the code must build cleanly:

  • Fix the embed error in pkg/output/stats/waf/waf.go (“pattern regexes.json: no matching files found”) so that go build succeeds.

Once the build is green, confirm there are no regressions in raw-mode password prompts:

  • term.ReadPassword is called in:

    • pkg/templates/signer/handler.go:111
    • pkg/templates/signer/handler.go:272
    • pkg/templates/signer/handler.go:281
  • Manually test or run CI jobs on Windows, BSD, and macOS to ensure ReadPassword still behaves correctly (fd detection, escape handling, prompt visibility).

  • If you also rely on terminal GetSize or MakeRaw elsewhere, include those code paths in your cross-platform checks.

Ensure your CI matrix covers these platforms or document the manual verification steps.


40-43: golang.org/x/net and x/text patch bumps approved—no regressions detected

Build succeeded and targeted tests for HTML parsing, HTTP/2, “Net” and “Text” areas completed without failures. The version bumps for x/net (v0.42.0) and x/text (v0.27.0) did not introduce any sanitizer or parser diffs in our test suite.

• Dependabot bumps in go.mod:

  • golang.org/x/net v0.42.0
  • golang.org/x/text v0.27.0

• Verified:

  • HTTP/2 and HTML-related functionality
  • “Net” proxy and publicsuffix behavior
  • Text casing and language utilities

LGTM; keep an eye on any downstream text/HTML parsing or HTTP tests in CI.

(Note: the test failure in pkg/output/stats/waf/waf.go—“pattern regexes.json: no matching files found”—appears unrelated to these bumps and should be addressed separately.)


297-299: No direct usage of cdncheck – indirect dependency update

go.mod shows cdncheck v1.1.27 as an indirect dependency, pulled in via internal/runner and httpx (confirmed with go mod why -m github.com/projectdiscovery/cdncheck). Searches for “cdncheck” in our code and tests returned no matches. Since we don’t import or exercise cdncheck directly (its heuristics run only inside HTTPX), this update won’t affect our code or test suite, and no changelog note is required.

go.mod Outdated
Comment on lines 366 to 371
golang.org/x/crypto v0.40.0 // indirect
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b
golang.org/x/mod v0.25.0 // indirect
golang.org/x/sys v0.33.0 // indirect
golang.org/x/sys v0.34.0 // indirect
golang.org/x/time v0.11.0 // indirect
golang.org/x/tools v0.34.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

golang.org/x/crypto and x/sys bumps: good hardening; validate TLS and syscall-sensitive paths

These bumps often include security and platform fixes. Validate:

  • TLS handshakes/fingerprints if you pin JA3/Hello variants.
  • Any low-level syscall/code paths (file perms, socket options) on Linux/Windows/Darwin.

🏁 Script executed:

#!/bin/bash
set -euo pipefail
rg -nP --type=go -C2 'golang\.org/x/crypto|crypto/tls|x/sys'
go build ./...
# Optional: quick TLS smoke via existing tests or a small probe if available.
go test ./... -run TLS|Crypto|Sys -count=1 || true

Length of output: 13859


Critical Build Failure – Missing regexes.json

The verification script could not complete because the build is broken due to a missing file reference:

• pkg/output/stats/waf/waf.go:27:12 – attempts to load regexes.json, but no matching file is present.

Please resolve this before proceeding:

  • Add the regexes.json file at the expected path under pkg/output/stats/waf/, or update the code to reference the correct file/location.
  • Once the build succeeds, re-run the upgrade validation:
    • rg -nP --type=go -C2 'golang\.org/x/crypto|crypto/tls|x/sys'
    • go build ./...
    • go test ./... -run TLS|Crypto|Sys -count=1
🤖 Prompt for AI Agents
In go.mod around lines 366 to 371: the build is failing because
pkg/output/stats/waf/waf.go (line 27) tries to load regexes.json but the file is
missing; either add the missing regexes.json at pkg/output/stats/waf/ with the
expected JSON content or update waf.go to reference the correct existing path
(or embed resource) so the file can be found at runtime; after making the
change, run the provided validation commands: rg -nP --type=go -C2
'golang\.org/x/crypto|crypto/tls|x/sys', go build ./..., and go test ./... -run
TLS|Crypto|Sys -count=1 to confirm the build and tests pass.

@dogancanbakir dogancanbakir merged commit b25937b into dev Aug 28, 2025
19 checks passed
@dogancanbakir dogancanbakir deleted the bump_httpx_version branch August 28, 2025 07:04
@dwisiswant0
Copy link
Member

FYI @dogancanbakir - this doesn’t actually fix the compat issue, see #6438.

@dogancanbakir
Copy link
Member Author

@dwisiswant0 I see, awk. I ran the same cmd in local but didn't get that error. Could you open a new issue for it? Thanks!

@dwisiswant0
Copy link
Member

@dwisiswant0 I see, awk. I ran the same cmd in local but didn't get that error. Could you open a new issue for it? Thanks!

#6439

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants