用途:解决“首轮侦察过浅、需用户反复催促”的问题。当用户对已授权域名下达 OSINT/侦察指令时,一次跑完整个流水线,交付整合工作簿;框架参见配套 osint-methodology 技能,本技能是可执行 runbook,默认行为由 osint-full-pipeline-default 记忆控制。
硬性门禁(唯一需要停下询问的情形):授权未声明时先问一个范围问题再继续;阶段6主动利用(BOLA/IDOR、凭证重放、注入确认)绝不在 autopilot 下运行,只给出排序后的目标队列等待授权;新发现的兄弟域名/品牌(如范围为 .com 却出现 .io)先标记,确认前不扫描。阶段1–5全程不暂停。
运行流程:设 S=~/.claude/skills/osint-autopilot/scripts。第一步执行 bash $S/recon_pipeline.sh <domain>,创建 ~/Research/engagements/<domain>/ 并填充证据(DNS/WHOIS/RDAP/邮件安全、subfinder+certspotter+crt.sh 子域合并、dig 解析、HTTP 探测、身份织体、/version 披露、S3 接管检查、gau+wayback+JS 采集、HudsonRock 泄露、限定公网 IP 端口扫描),对全部内容哈希,并将响应主机拆分为 buckets/bucket-NN。脚本已内置限制:使用 dig/curl(ProjectDiscovery 的 dnsx/httpx 在 M1 上会段错误),nmap 限时10分钟。
第二步多智能体按主机扇出(阶段4):读取 buckets/COUNT 与各 bucket 路径后启动 Workflow,参数须为真实 JSON 对象而非字符串,否则 args.domain/args.buckets 为 undefined 且只会运行 synthesize agent;engDir 必须为绝对路径,buckets 为所有 bucket 文件的绝对路径。ffuf 需在 PATH 中(缺失时 go install github.com/ffuf/ffuf/v2@latest)。该流程按 bucket 扇出 ffuf 内容发现与 JS/端点分析,随后合成排序后的 BOLA/IDOR 目标队列,保存至 evidence/stage6-content/SYNTHESIS.md。可选截图需 Chrome:gowitness scan file -f <urls> --screenshot-path evidence/stage6-screens --write-db。
第三步人工核验标题级结论,不要盲信智能体输出:对每个拟标 CONFIRMED 的声明重新 curl(泄露密钥、/version 披露、Cognito/Auth0 配置、未授权 admin 200),无法复现的一律降级。
第四步自动生成发现与工作簿:build_xlsx.py 依赖 openpyxl(缺失时 pip install -r $S/requirements.txt);依次运行 python3 $S/findings_gen.py <domain> 与 python3 $S/build_xlsx.py <domain>,规则引擎覆盖非生产环境暴露、CDN/WAF 绕过源站、内网 IP 泄露、DMARC/SPF、/version 披露、JS 密钥、S3 接管、身份织体、泄露严重度、WordPress、端口暴露;规则遗漏的可手工编辑 findings.csv 后重跑 build_xlsx.py。
第五步报告:给出整合 .xlsx 路径与严重度摘要,呈现阶段6队列和范围外兄弟域名两个未决门禁,并提供对已披露版本做被动 CVE 映射的后续选项。
交付物位于 ~/Research/engagements/<domain>/:<domain>-osint-consolidated.xlsx(9–10 个标签页)、findings/findings.csv、evidence/**(含 .sha256)、evidence/stage6-content/SYNTHESIS.md、run-log.jsonl。时间预算:小型组织(<100 主机)约15–25分钟,中型(100–1K)约30–60分钟;扇出约每18台主机1个智能体,建议总数≤15,超过270台响应主机时应在 recon_pipeline.sh 的 split -l 中调大 bucket 尺寸而非增加智能体数。