mahirhacks/Pointer

GitHub: mahirhacks/Pointer

Pointer 是一款本地优先、AI 辅助的 Windows 桌面工作区,用于授权渗透测试与漏洞评估,将代理拦截、证据追踪、终端工具和本地 AI 整合到统一环境中。

Stars: 0 | Forks: 0

# Pointer **一个面向授权渗透测试和漏洞评估的本地优先、AI 辅助工作区。** Pointer 将评估范围、HTTP 流量、证据、安全工具、应用程序行为图、终端和本地 AI 助手整合到一个 Windows 桌面应用程序中。其主要工作流是人在回路:操作员定义授权,并能够随时检查、批准、中断和审查每一个操作。 ## 为什么选择 Pointer? 安全工作通常分散在终端、代理工具、笔记、JSON 文件、浏览器标签页和 AI 聊天中。Pointer 将这些部分围绕一个持久化的评估工作区进行组织,从而使流量、工具输出、假设、发现和报告始终与其证据保持关联。 Pointer 旨在提供: - 紧凑的、受 VS Code 启发的安全评估界面。 - 通过 Ollama 提供本地 AI,而不是强制使用云服务。 - 明确的范围、交战规则、安全模式和细粒度的授权控制。 - 透明的 Agent 操作、批准、假设、运行历史和工具输出。 - 结构化的评估文件,在应用程序之外仍然可以访问。 ## 当前功能 ### 评估工作区 - 创建或打开结构化的评估文件夹。 - 定义范围内和范围外的资产、授权、测试时间窗口、速率限制和受限技术。 - 在支持的情况下,通过可视化表单或原始 JSON 视图编辑评估文件。 - 创建、编辑、组织和删除自定义文件和文件夹。 - 导入上下文文件并生成组合的 `pen_context.md`。 - 跟踪证据、服务、发现、报告、WSTG 覆盖率、ASVS 覆盖率和 MITRE ATT&CK 覆盖率。 ### Security Workbench - 本地 HTTP 拦截代理,具有集中式的 CA 证书管理。 - 由 `Traffic/Raw` 支持的可搜索和可排序的 HTTP 历史记录。 - 请求和响应检查,在到达新流量时保持稳定的选择。 - 用于授权测试的 Interceptor、Repeater 和 Intruder 风格工作流。 - URL、Base64、Base64URL、HTML、十六进制、JWT 和 cookie 检查实用工具。 - 可配置的捕获脱敏功能,用于处理凭据、cookie、token 和机密字段。 ### 应用程序行为图 - 从捕获的 HTTP 证据构建确定性图。 - 关联主机、子域名、路由、方法、重定向、工作流、共享对象和支持性证据。 - 浏览路由、工作流和风险视图。 - 选择节点以检查其变体并高亮显示连接的节点。 - 平移、缩放、排列节点、查询路径,并保留图的来源。 ### WebClone - 从授权的 HTTPS 目标下载有界限的公共 HTML、JavaScript 和 CSS 资产。 - 在可折叠的右侧文件抽屉中浏览捕获的文件。 - 在 Pointer 的编辑器中检查源文件,或在隔离的预览中渲染克隆的应用程序。 - 预览克隆的应用程序,不允许它们访问 Pointer、Node.js、文件系统、弹窗或出站网络服务。 WebClone 是一种审查辅助工具,不能保证完全离线重现。依赖于经过身份验证的 API、服务器端渲染、外部资产或实时后端请求的应用程序可能只能部分渲染。 ### AI 辅助工作流 - 使用本地安装的 Ollama 模型。 - 根据任务选择 **Planner**、**Agent** 或 **Ask**。 - 使用 **Safe** 模式进行分析和工作区安全操作。 - 选择加入 **Test** 模式,以便在授权评估中进行策略控制的主动测试。 - 为文件访问、命令、进程、终端使用、网络请求、代理操作、流量捕获、Map 操作、侦察、扫描和漏洞利用验证配置授权。 - 审查 Agent 运行、操作、批准、假设和工具输出。 - 每个工作区保留聊天会话,直到被显式删除。 安全模式和策略检查是深度防御控制;它们不能替代书面授权或专业判断。 ### 命令和工具箱 Pointer 目前包含以下可配置工作流: - `/passive` - 被动公开来源侦察。 - `/active` - 授权的主动侦察。 - `/endpoint` - 页面和 endpoint 发现。 - `/webclone` - 授权的公共站点清单和克隆。 命令可以使用静态 Python 编排或 AI 辅助角色。工具选择、输出位置、速率限制、线程、wordlists、高级 JSON 选项和自定义命令可以在 Pointer 设置中进行配置。 工具箱为以下工具提供预设和配置界面: | 类别 | 工具 | | --- | --- | | 被动侦察 | Amass, Subfinder, theHarvester, Google Dorking | | 主动侦察 | Nmap, Naabu, Masscan | | Web 和 endpoint 发现 | httpx, Katana, ffuf, Gobuster | | 漏洞和 TLS 分析 | Nuclei, Nikto, testssl.sh, SQLmap | Pointer **不**捆绑大多数第三方安全二进制文件。仅安装您需要的工具,并确保它们的可执行文件在 `PATH` 中可用。在 Windows 上,某些工具通过 WSL 运行可能更容易。每个第三方工具仍受其自身许可证和安装要求的约束。 ## 要求 ### 开发要求 - Windows 10 或 Windows 11,x64。 - [Node.js](https://nodejs.org/) 22 或更高版本。 - npm 10 或更高版本。 - 用于命令和上下文解析器的 Python 3。 ### AI 功能要求 - 在本地运行的 [Ollama](https://ollama.com/)。 - 至少安装一个 Ollama 模型。 ### 可选 - 您在命令或工具箱中启用的任何外部安全工具。 - 用于在 Windows 上运行 Linux 优先安全工具的 WSL。 - 生成签名版本安装程序时的 Windows 代码签名证书。 ## 快速开始 ``` git clone cd Pointer npm install ``` 安装并启动 Ollama,然后拉取模型。例如: ``` ollama pull qwen2.5-coder:7b ollama serve ``` 启动 Pointer: ``` npm start ``` 在不使用 AI 功能的情况下使用 Pointer 时,Ollama 是可选的。 ## 开发模式 运行 Pointer,在源文件更改时自动重启应用程序: ``` npm run dev ``` 开发命令通过 `electronmon` 启动 Electron 并打开独立的 DevTools。主进程的更改需要重启 Electron;`electronmon` 会为受监视的项目文件自动处理此操作。 ## 测试和验证 运行自动化测试套件: ``` npm test ``` 验证生产安全不变性: ``` npm run verify:production ``` 检查打包的原生终端依赖项: ``` npm run verify:native ``` ## Windows 打包 创建一个未打包的 Windows 应用程序: ``` npm run package ``` 创建 Squirrel.Windows 安装程序: ``` npm run make ``` 构建工件将写入 `out/` 目录下。可以通过以下方式启用 Windows 签名: ``` $env:WINDOWS_CERTIFICATE_FILE = "C:\path\to\certificate.pfx" $env:WINDOWS_CERTIFICATE_PASSWORD = "your-password" npm run make ``` 请勿提交签名证书或密码。 ## 项目结构 ``` Pointer/ |-- src/ | |-- agent/ # Agent loop, prompts, operating modes, and policy engine | |-- bugbounty/ # Assessment, Map, proxy, traffic, and Inspector services | |-- commands/ # Static slash-command parser and orchestration | |-- context/ # Context import and Markdown preparation | |-- shared/ # IPC contracts and shared runtime utilities | |-- tools/ # Tool adapters, web research, Toolbox, and WebClone | |-- main.js # Electron lifecycle and privileged services | |-- preload.js # Context-isolated renderer bridge | |-- renderer.js # Application workspace behavior | |-- terminal.js # Integrated terminal presentation | |-- index.html # Desktop application shell | `-- style.css # Pointer design system and feature styling |-- test/ # Node test suite |-- scripts/ # Production verification and release helpers |-- forge.config.js # Electron Forge packaging and security fuses `-- package.json ``` ## 安全模型 Pointer 使用 Electron 上下文隔离、渲染器沙盒、禁用 Node 集成、验证的 IPC payload、受工作区限制的文件操作、进程所有权检查、默认拒绝权限以及强化的 Electron fuses。 其他保障措施包括: - Safe 和 Test 操作模式。 - 细粒度的授权权限和批准策略。 - 在支持的主动工作流之前进行范围和授权检查。 - 有界限的进程输出、流量解析、Map 查询和 WebClone 资产。 - 可从 Pointer 设置中配置的集中式代理 CA 存储。 - 在 Windows 安全存储可用时进行加密的本地聊天持久化。 - 保留证据的流量存储,具有可配置的机密脱敏功能。 没有任何软件控制可以使未经授权的测试变得合理。在发送流量之前,请务必验证范围、所有权、交战规则、速率限制和停止条件。 ## 负责任的使用 Pointer 仅供您拥有或获得明确授权评估的系统使用。您有责任遵守适用的法律、合同、披露要求和测试限制。避免破坏性操作、拒绝服务行为、对个人数据的不必要访问以及未经批准的漏洞利用。 ## 贡献 在项目处于 alpha 阶段时,欢迎提交 issue 和有针对性的 pull request。在提交更改之前: 1. 保持现有评估格式向后兼容。 2. 保留本地优先行为和显式操作员控制。 3. 为行为更改添加或更新测试。 4. 运行 `npm test` 和 `npm run verify:production`。 5. 请勿添加远程代码、telemetry 或携带机密的 fixture。 ## 许可证 Pointer 采用 [MIT 许可证](LICENSE) 发布。
标签:AES-256, AI辅助, AI风险缓解, CISA项目, MITM代理, 安全网关代理, 数据可视化, 桌面应用, 漏洞评估, 自定义脚本