0x1b3nc/ophackbot

GitHub: 0x1b3nc/ophackbot

一款授权安全测试 AI 代理,通过自然语言驱动侦察与漏洞发现工具链,内置严格的测试范围管控与逐操作审批机制。

Stars: 3 | Forks: 0

# Hackbot Kit 我授权的赏金 / 实验室助手。你输入 prompt,我来思考、使用工具、编辑文件并回答。 首先界定范围。证据已脱敏。执行实际流量和每次文件更改都需要你的批准。 规则就这么简单。 默认大脑始终为**离线模式**(自带规则 + 工具,无需 key,无需模型)。 模型需主动启用。我绝不会仅仅因为你手头有 key 就自动切换。 需要时你可以通过 `/provider` 进行选择。 ## 这东西实际上是什么 - **离线模式**根据自然语言规划工具调用。对于许多测试工作来说已经足够好了。 - **OpenAI / Claude / 等** 作为可选大脑运行在相同的轨道上(界定 SCOPE + 审批)。 - 如果你已经为这些套餐付费,可以使用 **Cursor** 或 **Codex**。 - 测试循环 (`/hunt`) 可以映射攻击面、串联探针、生成 FINDINGS。 - PATH 工具 (httpx, katana, nuclei, ffuf),Playwright,Burp,HexStrike(前提是你愿意配置它们)。 你真实的测试项目文件位于 `targets//` 目录下。切勿提交密钥等敏感信息。默认附带了演示目标,让你即使没有正式项目也能找点东西练手。 ## 安装说明 Windows: ``` cd C:\hackbot\hackbot-kit python -m venv .venv .\.venv\Scripts\python.exe -m pip install -e . playwright install chromium ``` Linux: ``` cd ~/whatever/ophackbot python3 -m venv .venv source .venv/bin/activate python -m pip install -e . playwright install chromium # 缺少 libs? playwright install-deps chromium ``` 更多说明:[docs/INSTALL_WINDOWS.md](docs/INSTALL_WINDOWS.md) · [docs/INSTALL_LINUX.md](docs/INSTALL_LINUX.md)。 然后: ``` python -m hackbot demo # fake target + dry-run smoke python -m hackbot # REPL, stays open ``` ## 大脑模型 我启动时始终处于**离线模式**。光有 key 毫无作用。你必须输入 `/provider …` (或者仅为该 shell 设置 `HACKBOT_PROVIDER`)。 | 大脑 | 操作方式 | | --- | --- | | offline | 直接打开即可。无需 key。 | | openai / anthropic / deepseek / glm / openrouter | 设置好 key,然后执行 `/provider ` | | ollama / lmstudio | 将 `HACKBOT_BASE_URL` 指向本地,执行 `/provider ollama` | | cursor | `pip install 'hackbot-kit[cursor]'`,设置 `CURSOR_API_KEY`,执行 `/provider cursor` | | codex | 安装 Codex CLI,运行 `codex login`(需 ChatGPT 套餐),执行 `/provider codex` | Windows keys(执行 `setx` 后需重新打开终端): ``` setx OPENAI_API_KEY "sk-..." setx CURSOR_API_KEY "cursor_..." # Cursor Dashboard → Integrations / API Keys # Codex: 没有 API key。只需 `codex login`。 ``` Linux: ``` export OPENAI_API_KEY="sk-..." export CURSOR_API_KEY="cursor_..." # 如果你像我一样懒,就把它放进 ~/.zshrc ``` 可选操作: ``` export HACKBOT_MODEL="o4-mini" # cursor: composer-2.5 / grok-4.5 / … export HACKBOT_EFFORT="auto" # auto | minimal | low | medium | high | xhigh ``` `auto` = 普通对话使用经济模式,测试 prompt 使用中档模式。在 REPL 中可使用:`/providers`, `/models`, `/model`, `/effort`, `/status`, `/tools`。 ### 关于 Cursor / Codex / 离线模式的通俗解释 - **离线模式**:零成本。足以应对大量日常工作。 - **Cursor**:将我的工具作为 CustomTools 驱动(当你提到 hunt/vuln 相关内容时,通常会加载包:core+recon+inject+report)。 PATH 中存在 httpx 并不意味着 Cursor 就会去调用它。请检查 `/tools`。漫长的 `y/n` 等待可能会导致 Cursor 桥接崩溃;请加快回复速度,或者执行 `/clear` 后重试。 - **Codex**:通过 `codex exec` 使用你的 ChatGPT 套餐。文件修改依然会经过我的 审批面板(可通过 `/codex-write` 切换该设置)。 ## 新手五分钟入门 ``` python -m hackbot /tools # what's actually installed / up /target demo check if example.com is in scope dry-run httpx on example.com for the demo target ``` 直接对话即可。斜杠命令只是可选的快捷方式。 ``` credentials are in Downloads/tokens.yaml hunt whatever you can on example.com approve read the image Desktop/scope.png ``` ### 关于那个黄色的 "Pass --approve to execute" 提示框 **什么都不用输入。** 那只是一个干跑提示。此时不会有任何流量发出。 当我确实需要你授权时: ``` permission needed Allow this action? y/n (n): ``` 然后输入 `y` 或 `n`(或者 `approve` / `deny`)。这才是真正的拦截关卡。 `/hunt … --approve`(或者用自然语言说 "approve")会为该次 测试循环开启实时流量许可。OUT_OF_SCOPE 的内容依然会被拦截。`/force` 只能放宽“未确认 / 缺少主动测试说明”的限制。 它绝不会解锁 OOS(范围外)内容,也绝不会跳过审批。 ## 测试 ``` /target myprogram /session set A --bearer /session set B --bearer /hunt explore this host --approve ``` 或者自然语言: ``` credentials are in Downloads/tokens.yaml hunt whatever you can on example.com approve ``` 循环流程:映射攻击面 → 规划任务 → 运行专家工具 → 验证 → 生成 FINDINGS。 状态记录保存在 `targets//hunt/` 下。如果因为 SSO 被暂停了?捕获 session,然后执行: ``` resume hunt ``` SSO/IdP/MFA:我**绝对不会**输入 IdP 密码或绕过 MFA。请使用有头模式的 `browser_capture_session`(你在浏览器中手动完成登录)。然后再恢复运行。 还没有测试账号?未授权的侦察依然可用:执行 `run_tool` httpx/katana/nuclei, `analyze_js`,cors/redirect 探测,wayback 等。当你需要获取实时结果时点击批准即可。 实用的斜杠快捷指令: ``` /target | clear /force on|off /hunt [--approve] [--budget N] /hunt status | stop /session set A --bearer /status /tools /config /stream on|off /verbose on|off /clear /help /exit ``` 工具包:`HACKBOT_TOOL_PACK=auto|all|core,recon,inject,browser,mobile,report`。 ## “我该怎么请求做 X?” | 你的大致描述 | 对应工具 | | --- | --- | | 解析这个文件中的 HAR / Burp XML | `import_har` / `import_burp_xml` | | 分析这个 JS bundle | `analyze_js` | | 子域名 / wayback 历史 | `crt_subdomains` / `wayback_urls` | | 运行 httpx / katana / nuclei / ffuf | `run_tool`(先进行 dry-run) | | 使用 A/B 账号测试 IDOR | `idor_probe` | | 查找登录口 / SSO | `detect_login`, `session_smoke`, `browser_capture_session` | | 映射 / 提取页面 | `map_surface`, `extract_page` | | 起草报告 | `write_report_draft` | | 这台机器上有什么? | `/tools` 或 `capabilities` | 更详细的表格及环境变量配置(OOB, Burp, Interactsh):[docs/CLI.md](docs/CLI.md)。 ## 安全机制(简述) - 每个项目都需要配置 `targets//SCOPE.md` - 明确标记为 OUT_OF_SCOPE 的内容会被严格拦截(即使使用 `/force` / `/yolo`) - 在 OOS 列表中,`in_scope` 里的精确主机名优先级高于 `*.example.com` 这样的通配符 - 软性拦截门槛需要同时满足 `/force` **并且** 获得批准(除非已开启 `/yolo on`) - 重定向会被重新检查(包括 HTTP 和 Playwright) - SCOPE 中定义的 `prohibited`(禁止项)是真实生效的(例如:大规模自动化扫描) - 敏感信息会被脱敏;如果需要更严格的脱敏,可以设置 `HACKBOT_STRICT_REDACT=1` - 所有的批准操作都会记录到本地的 `audit.log` 中(已被 gitignore 忽略) 在将本工具用于正式项目之前,请务必阅读 [docs/SAFETY_MODEL.md](docs/SAFETY_MODEL.md)。 如果你在意 RPS / 超时设置(可通过 `/config` 查看),请复制 `configs/hackbot.example.yaml` → `configs/hackbot.yaml`。 ## YOLO 模式 + 实验室环境(由 AI 接管机器) 希望大脑在无需频繁 `y/n` 确认的情况下持续进行测试,并且自动修复 PATH / 启动 Burp 吗? ``` mkdir -p .hackbot echo 'your-sudo-password' > .hackbot/sudo_pass chmod 600 .hackbot/sudo_pass # 或者:export HACKBOT_SUDO_PASS='...' ``` 在 REPL 中: ``` /yolo on /tools # AI 可以调用:stack_prepare, burp_ensure, lab_exec inicie o hunting ``` `/yolo on` 会跳过批准提示并默认开启 force 模式。OOS 限制依然有效。密码 绝对不会提交到 git(`.hackbot/` 已被忽略)。在步骤模式下,每次 测试操作后仍会暂停(设置 `HACKBOT_STEP_MODE=0` 可恢复为旧的完整预算循环模式)。 ## HexStrike 及相关组件 `/tools` 会显示 PATH 上可用的工具,以及 HexStrike/Burp 是否在 localhost 上有响应。 HexStrike 是可选的,并且**不**包含在 kit 的 venv 中: ``` # Docker 是明智的选择(参见 integrations/hexstrike/PROVENANCE.md) cd integrations/hexstrike && docker compose up -d --build # 或者使用它自己的 venv,然后: python -m hackbot run targets/demo --tool hexstrike --approve curl -sS http://127.0.0.1:8888/health ``` ## 目录结构 ``` hackbot/ agent, tools, hunt, providers targets/ per-program work (demo ships; yours stay local) bounty_knowledge/ study notes integrations/ HexStrike (vendored, loopback only) docs/ safety, install, CLI reference configs/ example yaml ``` ## Lockfile / 脚本化 版本锁定信息位于 `requirements.lock` 中。如果你想编写 脚本而不是通过对话交互,可以查阅 [docs/CLI.md](docs/CLI.md) 了解底层命令(如 `scope-check`, `run --tool httpx`,playbooks 等)。
标签:AI安全智能体, DLL 劫持, Python, 主机安全, 大语言模型, 安全测试, 密码管理, 攻击性安全, 无后门, 特征检测, 自动化渗透测试, 请求拦截, 运行时操纵, 逆向工具