voltsparx/ASRFacet-Rb

GitHub: voltsparx/ASRFacet-Rb

一个基于 Ruby 的模块化攻击面侦察框架,专注于流水线驱动的情报收集、关系关联以及运行间的变更跟踪。

Stars: 1 | Forks: 0

# ASRFacet-Rb

ASRFacet-Rb Logo

Tests Passing Rake Verify Passing
Status Stable License
CI Docs Website

ASRFacet-Rb 是一个适用于 Ruby 3.2+ 的授权攻击面侦察框架。 它专为可重复工作流、关系感知型情报以及运行间变更跟踪而构建,而非一次性扫描器输出。 项目网站:[https://voltsparx.github.io/ASRFacet-Rb/](https://voltsparx.github.io/ASRFacet-Rb/) ## 快速导航 - [解决的问题](#what-it-solves) - [架构与流程](#architecture-and-process-flow) - [安装指南](#installation-guide) - [使用指南与示例](#usage-guide-with-examples) - [输出、存储与报告](#output-storage-and-reporting) - [测试与发布验证](#testing-and-release-verification) - [故障排除指南](#troubleshooting-guide) - [文档索引](#documentation-map) ## 解决的问题 大多数侦察工具都针对快照进行了优化。这通常会导致: - 结果分散在不同的工具和文件中 - 运行间可比性较弱 - 主机、IP、端口、服务和发现结果之间的关系丢失 ASRFacet-Rb 通过流水线阶段、内存支持的跟踪和结构化输出来解决这些问题。 ## 架构与流程 ### 执行角色 | 层级 | 职责 | |---|---| | Scheduler | 决定下一步运行什么 | | Engines | 执行有界的任务 | | Investigator | 对重要发现做出反应 | | Fusion/Store | 持久化并关联结果 | ### 流水线可视化 ``` flowchart LR A[Passive Discovery] --> B[Active Validation] B --> C[Service and Web Mapping] C --> D[Correlation Engine] D --> E[Tracking and Change Summary] ``` ### 阶段意图 | 阶段 | 主要产出 | |---|---| | Passive Discovery | 来自低噪声源的候选资产 | | Active Validation | 已确认的主机、IP、开放端口和 HTTP 表面 | | Service/Web Mapping | 可访问的应用/服务上下文 | | Correlation Engine | 关系映射与优先级排序 | | Tracking Engine | 差异检测与历史可见性 | ## 安装指南 ### 要求 - Ruby `>= 3.2` - Bundler - 对测试目标的明确许可 ### 安装路径概览 | 路径 | 使用场景 | |---|---| | 从仓库执行 `bundle exec` | 开发与贡献 | | `install/*.sh` / `install/windows.ps1` | 托管式本地系统安装 | | 网站安装程序(`docs/website/web_assets/installers`) | 下载优先的安装流程 | ### 30 秒快速开始(仓库模式) ``` git clone https://github.com/voltsparx/ASRFacet-Rb.git cd ASRFacet-Rb bundle install bundle exec rake bundle exec ruby bin/asrfacet-rb scan example.com --passive-only ``` ### 托管安装程序模式 | 模式 | 描述 | |---|---| | `install` | 安装框架和启动器 | | `test` | 仓库本地的冒烟测试安装 | | `update` | 更新托管安装 | | `uninstall` | 移除托管安装和启动器 | 安装的命令别名: - `asrfacet-rb` - `asrfrb` 安装程序提示主题: - `[ASRFacet-Rb][INFO]` - `[ASRFacet-Rb][ OK ]` - `[ASRFacet-Rb][WARN]` - `[ASRFacet-Rb][FAIL]` ## 使用指南与示例 ### 核心命令 | 命令 | 用途 | 示例 | |---|---|---| | `scan DOMAIN` | 完整流水线 | `asrfacet-rb scan example.com` | | `passive DOMAIN` | 仅被动发现 | `asrfacet-rb passive example.com` | | `ports HOST` | 聚焦端口验证 | `asrfacet-rb ports api.example.com --ports top1000` | | `dns DOMAIN` | 聚焦 DNS 收集 | `asrfacet-rb dns example.com` | | `--console` | 交互式 Shell 模式 | `asrfacet-rb --console` | | `--web-session` | 本地 Web 控制面板 | `asrfacet-rb --web-session` | | `about` | 框架概览 | `asrfacet-rb about` | | `--explain TOPIC` | 内置主题指导 | `asrfacet-rb --explain scope` | ### 引导式工作流 1:被动优先 ``` asrfacet-rb passive example.com --format json --output passive.json asrfacet-rb dns example.com asrfacet-rb ports example.com --ports top100 ``` 适用场景:低噪声侦察启动,配合手动扩展。 ### 引导式工作流 2:完整报告包 ``` asrfacet-rb scan example.com --monitor --memory --format html --output report.html ``` 适用场景:关注历史差异的周期性评估。 ### 引导式工作流 3:Web 会话与操作者体验 ``` asrfacet-rb --web-session ``` 适用场景:用于侦察、映射和报告访问的可视化控制面板流程。 ## 输出、存储与报告 ### 输出格式 | 格式 | 最适用于 | |---|---| | `cli` | 实时操作者反馈 | | `txt` | 纯文本共享 | | `html` | 具有更丰富结构的人类友好型报告 | | `json` | 自动化与下游工具 | ### 存储布局 | 路径 | 数据 | |---|---| | `~/.asrfacet_rb/output/` | 报告包与数据流 | | `~/.asrfacet_rb/memory/` | 侦察记忆与差异 | | `~/.asrfacet_rb/web_sessions/` | 已保存的 Web 会话状态 | ### 报告过程可视化 ``` flowchart TD A[Scan Run] --> B[Result Store] B --> C[CLI/TXT/HTML/JSON Formatters] C --> D[Report Bundle Saved] D --> E[Recon Memory Updated] E --> F[Change Summary Available] ``` ## 测试与发布验证 ``` bundle exec rake bundle exec rake spec bundle exec rake test:cli bundle exec rake test:web bundle exec rake test:lab bundle exec rake test:install bundle exec rake test:website_installers ``` 验证快照: - 日期:`2026-04-09` - 结果:`53 个示例,0 个失败` - 完整验证门禁:`bundle exec rake` 通过 ## 故障排除指南 | 症状 | 可能原因 | 快速修复 | |---|---|---| | 缺少 `bundle` 命令 | Bundler 未安装 | `gem install bundler` | | 安装程序因权限/路径退出 | 存在未托管的目标路径 | 删除/重命名冲突路径或使用托管位置 | | 运行嘈杂或缓慢 | 线程过多或范围过广 | 降低 `--threads`,收紧 `--scope`,使用被动优先流程 | | 报告混淆 | 生成了多种格式 | 先查看 `report.html`,然后检查 `report.json` 用于自动化 | | Web 模式无法访问 | 主机/端口不匹配 | 以 `--web-host 127.0.0.1 --web-port 4567` 启动并重试 | ## 信任信号 - 版本文件:[`VERSION`](/VERSION) - 更新日志:[`CHANGELOG.md`](/CHANGELOG.md) - 路线图:[`ROADMAP.md`](/ROADMAP.md) - 网站文档:[https://voltsparx.github.io/ASRFacet-Rb/](https://voltsparx.github.io/ASRFacet-Rb/) ## 文档索引 - [`docs/getting-started.md`](/docs/getting-started.md) - [`docs/architecture.md`](/docs/architecture.md) - [`docs/web-session.md`](/docs/web-session.md) - [`docs/reporting.md`](/docs/reporting.md) - [`docs/lab.md`](/docs/lab.md) - [`docs/publishing.md`](/docs/publishing.md) ## 授权使用 仅在你拥有或获得明确书面许可测试的系统上使用 ASRFacet-Rb。 ## 许可证 专有自定义许可证。请参阅 [`LICENSE`](/LICENSE)。 ## 作者 - 帐号:`voltsparx` - 邮箱:`voltsparx@gmail.com` - 仓库:[https://github.com/voltsparx/ASRFacet-Rb](https://github.com/voltsparx/ASRFacet-Rb)
标签:ASM, Ruby3.2, Ruby框架, 事件驱动, 关联分析, 占用监测, 变更追踪, 多模态安全, 情报收集, 授权扫描, 模块化设计, 漏洞研究, 目标管理, 网络安全, 自动化修复, 自动化渗透, 资产管理, 隐私保护