katana version:
[INF] Current version: v1.1.3
Current Behavior:
When running katana with the hybrid engine (-hl) and JavaScript crawling enabled (-jc) on macOS with an ARM architecture, the tool crashes with a segmentation fault:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x104e0ee1c]
This crash occurs after the Chromium headless browser downloads and unpacks successfully. The panic trace points to hybrid.go and executer.go, suggesting an internal issue with the hybrid crawling engine's handling of a nil reference.
Expected Behavior:
Katana should launch the headless browser, crawl the target URL using hybrid techniques, and output the discovered endpoints without crashing.
Steps To Reproduce:
- Ensure
katana v1.1.3 is installed on macOS (Apple Silicon).
- Run the following command:
katana -u "https://redacted.example.com/" -hl -jc --no-sandbox -c 1 -p 1 -rd 3 -rl 5 \
-proxy "127.0.0.1:8080" \
-H "User-Agent: $(shuf -n 1 -e 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)' 'Mozilla/5.0 (X11; Linux x86_64)' 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)')"
- Observe the error after the browser is downloaded and launched.
Anything else:
- Environment: macOS (Apple M1/M2), latest katana (v1.1.3)
- Looks like a nil pointer dereference in (*Crawler).Crawl from katana/pkg/engine/hybrid/hybrid.go:111
- Might be a race condition or a missing initialization step before Crawl() is invoked
- Possibly related to browser context initialization or how rod is being leveraged under the hood
- side-note I noticed I put a typo in the url, I accidentally typed a
2 before the url and that seemed to have caused the issue.
Below is the err dump I got:
__ __
/ /_____ _/ /____ ____ ___ _
/ '_/ _ / __/ _ / _ \/ _ /
/_/\_\\_,_/\__/\_,_/_//_/\_,_/
projectdiscovery.io
[INF] Current katana version v1.1.3 (latest)
[launcher.Browser]2025/07/08 15:30:50 Download: https://storage.googleapis.com/chromium-browser-snapshots/Mac_Arm/1131003/chrome-mac.zip
[launcher.Browser]2025/07/08 15:30:50 Progress: 00%
[launcher.Browser]2025/07/08 15:30:51 Progress: 21%
[launcher.Browser]2025/07/08 15:30:52 Progress: 44%
[launcher.Browser]2025/07/08 15:30:53 Progress: 68%
[launcher.Browser]2025/07/08 15:30:54 Progress: 92%
[launcher.Browser]2025/07/08 15:30:54 Unzip: /Users/gbiagomba/.cache/rod/browser/chromium-1131003
[launcher.Browser]2025/07/08 15:30:54 Progress: 00%
[launcher.Browser]2025/07/08 15:30:55 Progress: 61%
[launcher.Browser]2025/07/08 15:30:56 Downloaded: /Users/gbiagomba/.cache/rod/browser/chromium-1131003
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x2 addr=0x0 pc=0x104e0ee1c]
goroutine 91 [running]:
github.com/projectdiscovery/katana/pkg/engine/hybrid.(*Crawler).Crawl(0x14000688880, {0x140001c8c60, 0x24})
github.com/projectdiscovery/katana/pkg/engine/hybrid/hybrid.go:111 +0x3c
github.com/projectdiscovery/katana/internal/runner.(*Runner).ExecuteCrawling.func2({0x140001c8c60, 0x24})
github.com/projectdiscovery/katana/internal/runner/executer.go:42 +0x74
created by github.com/projectdiscovery/katana/internal/runner.(*Runner).ExecuteCrawling in goroutine 1
github.com/projectdiscovery/katana/internal/runner/executer.go:39 +0x474
katana version:
Current Behavior:
When running
katanawith the hybrid engine (-hl) and JavaScript crawling enabled (-jc) on macOS with an ARM architecture, the tool crashes with a segmentation fault:This crash occurs after the Chromium headless browser downloads and unpacks successfully. The panic trace points to
hybrid.goandexecuter.go, suggesting an internal issue with the hybrid crawling engine's handling of anilreference.Expected Behavior:
Katana should launch the headless browser, crawl the target URL using hybrid techniques, and output the discovered endpoints without crashing.
Steps To Reproduce:
katana v1.1.3is installed on macOS (Apple Silicon).Anything else:
2before the url and that seemed to have caused the issue.Below is the err dump I got: