righettod/website-passive-reconnaissance

GitHub: righettod/website-passive-reconnaissance

面向安全评估场景的网站被动侦察自动化脚本,通过集成多个 OSINT 数据源在不直接访问目标的前提下完成全面的信息收集。

Stars: 39 | Forks: 7

[![测试应用程序运行状态](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/fe453cbc7d133345.svg)](https://github.com/righettod/website-passive-reconnaissance/actions/workflows/validate.yml) [![使用 CodeQL 审计 Python 代码](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/9d1e6b1df3133346.svg)](https://github.com/righettod/website-passive-reconnaissance/actions/workflows/codeql.yml) ![MadeWitVSCode](https://img.shields.io/static/v1?label=Made%20with&message=VisualStudio%20Code&color=blue&?style=for-the-badge&logo=visualstudio) ![AutomatedWith](https://img.shields.io/static/v1?label=Automated%20with&message=GitHub%20Actions&color=blue&?style=for-the-badge&logo=github) ![AuditedWith](https://img.shields.io/static/v1?label=Audited%20with&message=GitHub%20CodeQL&color=blue&?style=for-the-badge&logo=github) # 🎯 目标 用于在可能的情况下,自动执行在评估前对网站进行的**[被动侦察](https://www.codecademy.com/article/passive-active-reconnaissance)**的脚本(不直接访问目标)。 还用于通过定义所有必须执行的步骤(手动或自动)来指导侦察阶段。 # 📦 要求 💬 通过此[工作流](https://github.com/righettod/website-passive-reconnaissance/actions/workflows/pythonapp.yml)和此[脚本](ci.sh),在以下 64 位版本的 Python 上测试了执行情况: | 版本 | 是否支持? | |:---:|---| | < 3.12 | ❌ | | 3.12 | ✅ | | 3.13 | ✅ | | 3.14 | ✅ | # 💻 安装 使用以下命令: ``` pip install --no-cache git+https://github.com/righettod/website-passive-reconnaissance.git ``` # 🔑 API 密钥文件 API 密钥应在一个具有以下结构的 **INI** 文件中提供: ``` [API_KEYS] ;See https://www.shodan.io/ shodan=xxx ;See https://intelx.io/ intelx=xxx ;See https://buckets.grayhatwarfare.com/docs/api/v1 grayhatwarfare=xxx ;See https://viewdns.info/api/ viewdns=xxx ;See https://dnsdumpster.com/developer/ dnsdumpster=xxx ;See https://docs.leakix.net/docs/api/authentication/ leakix=xxx ;See https://serpapi.com/ ;Used for Google Dorks in priority to direct search serp=xxx ``` # 👩‍💻 用法示例 ``` $ wpr --help usage: wpr [-h] [-v] -d DOMAIN_NAME [-a API_KEY_FILE] [-n NAME_SERVER] [-t REQUEST_TIMEOUT] [-m MOBILE_APP_STORE_COUNTRY_CODE] options: -h, --help show this help message and exit -v show program's version number and exit -a API_KEY_FILE Configuration INI file with all API keys (ex: conf.ini). -n NAME_SERVER Name server to use for the DNS query (ex: 8.8.8.8), default to the system defined one. -t REQUEST_TIMEOUT Delay in seconds allowed for a HTTP request to reply before to fall in timeout (default to 240 seconds). -m MOBILE_APP_STORE_COUNTRY_CODE Country code to define in which store mobile app will be searched (default to LU). required arguments: -d DOMAIN_NAME Domain to analyse (ex: righettod.eu). ``` ``` wpr -d righettod.eu wpr -d righettod.eu -n 8.8.8.8 wpr -d righettod.eu -n 8.8.8.8 -m FR wpr -d righettod.eu -n 8.8.8.8 -t 30 wpr -d righettod.eu -a api_keys.ini wpr -d righettod.eu -a api_keys.ini -n 8.8.8.8 ``` # 🧑‍💻 迁移到 V2 及开发 ## 方案 * 迁移是在 [Claude Code](https://claude.com/product/claude-code) 的帮助下完成的。 * 在迁移过程中,以下数据提供商因其提供的数据不相关而被移除(至少这是在使用 V1 期间注意到的一个因素): * **Virus Total**: * **Hybrid Analysis**: * **Azure Cognitive Services Bing Web Search**: * 移除了对 Web 代理的支持,因为它从未被使用过(至少这是在使用 V1 期间注意到的一个因素),选项 `-s` 也是如此。 ## 项目 * 配置为使用 [Visual Studio Code](https://code.visualstudio.com/),并提供了一个[工作区文件](project.code-workspace)。 * 使用 [uv](https://docs.astral.sh/uv/) 来管理 [Python 项目](pyproject.toml)。 * OSINT 数据提供商现在通过子类进行定义,以便轻松添加新的提供商。 * 使用 [CLAUDE.md 文件](CLAUDE.md) 和其他 [Claude Code 相关文件](.claude/) 来定义编码和安全准则。 * 使用以下命令在本地运行项目: ``` cd src/wpr uv run main.py -d righettod.eu ``` ## 更新项目版本 使用此命令: ``` uv run hatch version beta ```
标签:API集成, CodeQL, ESC4, GitHub Actions, GrayhatWarfare, IntelX, OSINT, Python, 动态插桩, 可观测性, 安全工具库, 安全评估工具, 实时处理, 情报收集, 数字取证, 数据泄露监测, 无后门, 漏洞研究, 网站安全评估, 网络安全, 自动化脚本, 自动笔记, 被动侦察, 资产测绘, 逆向工具, 隐私保护, 黑盒测试