Skip to content

fix: patch python-Wappalyzer dependency for Python 3.12+ compatibility#4

Open
mirusu400 wants to merge 3 commits into
arrester:masterfrom
mirusu400:master
Open

fix: patch python-Wappalyzer dependency for Python 3.12+ compatibility#4
mirusu400 wants to merge 3 commits into
arrester:masterfrom
mirusu400:master

Conversation

@mirusu400
Copy link
Copy Markdown

현재 버전에선 python-Wappanalyzer 를 사용하고 있고, 여기서 pkg_resources 라이브러리를 사용하고있습니다

해당 라이브러리는 3.12에서 제거되어서, 현재 Python >= 3.12 에서는 설치가 정상적으로 되지 않습니다.

uvx --from git+https://github.com/arrester/SubSurfer --with setuptools subsurfer -t naver.com
Clearing cache at: .cache/uv
Removed 14510 files (279.7MiB)
    Updated https://github.com/arrester/SubSurfer (504e600baa1d41750df2bc160ab3b4313b50a1ef)
      Built httpretty==1.1.4
      Built subsurfer @ git+https://github.com/arrester/SubSurfer@504e600baa1d41750df2bc160ab3b4313b50a1ef
Installed 38 packages in 27ms
Traceback (most recent call last):
  File "/Users/anon/.cache/uv/archive-v0/CFlUN8kxJISEYekVbYEnk/bin/subsurfer", line 6, in <module>
    from subsurfer.__main__ import run_main
  File "/Users/anon/.cache/uv/archive-v0/CFlUN8kxJISEYekVbYEnk/lib/python3.12/site-packages/subsurfer/__main__.py", line 8, in <module>
    from subsurfer.subsurfer import main
  File "/Users/anon/.cache/uv/archive-v0/CFlUN8kxJISEYekVbYEnk/lib/python3.12/site-packages/subsurfer/subsurfer.py", line 12, in <module>
    from subsurfer.core.controller.controller import SubSurferController
  File "/Users/anon/.cache/uv/archive-v0/CFlUN8kxJISEYekVbYEnk/lib/python3.12/site-packages/subsurfer/core/controller/controller.py", line 16, in <module>
    from subsurfer.core.handler.web.web_scanner import WebScanner
  File "/Users/anon/.cache/uv/archive-v0/CFlUN8kxJISEYekVbYEnk/lib/python3.12/site-packages/subsurfer/core/handler/web/web_scanner.py", line 9, in <module>
    from Wappalyzer import Wappalyzer, WebPage
  File "/Users/anon/.cache/uv/archive-v0/CFlUN8kxJISEYekVbYEnk/lib/python3.12/site-packages/Wappalyzer/__init__.py", line 1, in <module>
    from .Wappalyzer import WebPage, Wappalyzer
  File "/Users/anon/.cache/uv/archive-v0/CFlUN8kxJISEYekVbYEnk/lib/python3.12/site-packages/Wappalyzer/Wappalyzer.py", line 5, in <module>
    import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'

더이상 python-Wappanalyzer가 유지보수 되지 않아 pkg_resources 의존성을 제거한 포크버전을 추가했습니다. 제가 직접 만든거여서 리뷰 후에 메인테이너분이 직접 포크버전을 업로드하셔도 무방해 보입니다.

또한 Docker에서 돌도록 dockerfile도 추가했는데 필요에 따라 README.md 도 간단하게 수정하면 좋아보입니다.

# Docker에서 돌리기
docker build -t subsurfer .
docker run --rm subsurfer -t naver.com

# uvx에서 돌리기
uvx --from git+https://github.com/mirusu400/SubSurfer subsurfer -t naver.com
╭────────────────────────────────── Red Teaming and Web Bug Bounty Fast Asset Identification Tool ───────────────────────────────────╮
│                                                                                                                                    │
│     🏄‍♂️  SubSurfer  🌊                                                                                                              │
│     ----------------------                                                                                                         │
│      _____         _      _____                __                                                                                  │
│     /  ___|       | |    /  ___|              / _|                                                                                 │
│     \ `--.  _   _ | |__  \ `--.  _   _  _ __ | |_   ___  _ __                                                                      │
│      `--. \| | | || '_ \  `--. \| | | || '__||  _| / _ \| '__|                                                                     │
│     /\__/ /| |_| || |_) |/\__/ /| |_| || |   | |  |  __/| |                                                                        │
│     \____/  \__,_||_.__/ \____/  \__,_||_|   |_|   \___||_|   v1.2                                                                 │
│                                                                                                                                    │
╰─────────────────────────────────────── by. arrester (https://github.com/arrester/subsurfer) ───────────────────────────────────────╯
ℹ️ Target Domain: naver.com
[*] crt.sh Start Scan...
...

@arrester
Copy link
Copy Markdown
Owner

arrester commented Apr 12, 2026

안녕하세요, 이 문제에 대해 저도 사용하면서 고민을 하고 있었던 부분인데 현업이 바빠져서 아직 해결하지 못했습니다ㅠ.ㅠ 오늘 쭉 검토 해본 결과, 말씀해주신 방향도 좋지만 장기적으로는 기술 스택 식별을 subsurfer가 직접하는게 좋지 않을까라는 생각도 들기도 해서 고려사항 중 하나로 포함해서 조금 더 길게 보려고 합니다. 우선 다른 모듈로 대체하여 사용될 수 있게 수정해서 버전 업데이트를 할 예정입니다.

도커 부분도 검토해보겠습니다.

감사합니다.

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