Files
sywinksvg e873a77cd5 docs: 补齐仓库文档体系
- README.md: 正式仓库主页(徽章/结构图/快速开始/脚本速查/合规红线/免责声明)
- README_EN.md: 英文概览
- docs/使用教程.md: 从零跑通一条产品线全流程实录
- docs/规则编写指南.md: 端点字典 JSON 结构与判据设计方法
- docs/FAQ.md: 常见问题与排坑(安装/FOFA/check/抽验/合规)
- CHANGELOG.md: v1.0/v2.0/v2.0.1 版本记录
- README-移植说明.md: 顶部加文档导航
2026-09-13 18:22:39 +08:00

114 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FAQ —— 常见问题与排坑
---
## 安装 / 环境
**Q:运行报 `ModuleNotFoundError`?**
不应该发生——所有脚本纯标准库。若出现:检查 Python 版本是否 ≥3.8(`python --version`)。
**Q:脚本能跑但中文乱码?**
脚本已内置 UTF-8 输出修正;若仍乱码,命令行先执行 `chcp 65001`。
**Q:本机用 `py` 启动器而不是 `python`?**
把 `校验.bat` 里的 `python` 批量替换为 `py` 即可。
**Q:Linux / macOS 能用吗?**
能。脚本本身跨平台;只有 `校验.bat` 是 Windows 专用——手动依次跑各脚本 `--help` 即等效自检。
---
## FOFA / recon
**Q:recon 报「所有通道均失败」或 key 报错?**
- 若还没填自己的 key(`api_keys.json` 里还是 `REPLACE_ME`):必然失败,这是预期行为,先完成配置
- 已填 key 仍失败:检查 `base_url` / `search_path` / `query_param` 三项是否和你的中转站文档一致。不同中转站格式不一样,配错了会 404 或返回空
- 所有通道都挂 = 通道侧问题,隔天再试
**Q:怎么加备用通道?**
复制 `channels` 数组里一项,改 `name` 和 `base_url`(新 key 若不同也改),脚本自动按顺序尝试,失败切下一个。
**Q:`--list-channels` 和 `--list-presets` 是干什么的?**
分别列出当前配置的通道和内置的产品线查询预设,配置完先跑一下确认。
---
## check / 验证
**Q:跑得很慢?**
正常。**单 IP 串行 ≥1s 是合规红线**(代码级固化,不要调低 `--interval`)。100 台未响应资产约需 10-15 分钟。想先通流程,用 5-10 台**可达**目标测。
**Q:扫出来一堆 mock / cloud_suspect 标记?**
正常,那是防误报机制在工作。`mock=True`(命中占位/伪造提示词)或 `cloud_suspect=yes`(目标属云厂商段,可能是研究环境/蜜罐)的条目,要人工/agent 复核后再计入案例。
**Q:断点续跑怎么用?**
`--resume` + 指定同一个 `--out` 文件:读已有 findings,跳过 `ip:port` 已完成的目标。中断了直接重跑加 `--resume` 即可。
**Q:RTSP 命中为什么这么少?**
严格判据是有意的:必须 `DESCRIBE 200` 且 SDP 含 `v=0` + `m=video/audio`。OPTIONS-only 的响应一律丢弃——它们进报告只会拉低可信度(实战返工教训)。
**Q:输入格式到底哪个是哪个?**
- `cnvd_check.py --targets`:**targets 格式**,只有 `ip,port` 两列
- `findings_样例-脱敏.csv`:check 的**输出**格式,别当输入用
- 四列版(`ip,port,rule_id,url`):给抽验脚本(verify_*)的输入格式
---
## 抽验 / 报告
**Q:抽验脚本报「未知 rule_id」?**
每个抽验脚本只认自己支持的 rule_id(如 `verify_newfe_A.py` 认 `superpw-qr` / `saveq-open`)。确认输入 CSV 的 rule_id 与脚本匹配,或换对应的 verify 脚本。
**Q:命中 ≥10 了,接下来干什么?**
按 SKILL.md §1.3:派一个独立 agent 做**查重(四源)+ 独立复验(随机 3-5 台)**。`duplicate` → 换点或换线;`no_duplicate + confirmed` → 写报告。
**Q:报告放哪?**
统一 `Desktop\cnvd\<厂商>\<日期>\`(SKILL.md §1.4),每洞两版(提交版/复现版),案例 IP 全量导出 `全部案例IP.txt` 同目录。**定级交用户拍板**。
**Q:截图谁做?**
默认不做(脚本不截图)——用户自己复现看。需要证据图时人工补。
---
## 合规 / 边界
**Q:这个工具能"打"下目标吗?**
不能,也不设计来打。它**只做未授权访问验证**(证明"能读到什么"),全链路只读(GET/OPTIONS/DESCRIBE/LIST),不提供任何写入/利用/持久化能力。
**Q:扫哪些目标是合规的?**
你对它有**测试授权**、或属于 CNVD 提交所需的公开暴露资产样本、或明确排除政府/军事/关键基础设施(无授权时)。拿不准就不扫。
**Q:发现洞了能先发博客吗?**
不能。**提交前公开细节**是明确红线——先走 CNVD 提交流程,平台披露后再谈。
---
## 其他
**Q:这个包和本机 Claude Code skill 什么关系?**
`skills/cnvd/SKILL.md` 就是 Claude Code skill 的本体:把 `skills/cnvd/` 复制到 `~/.claude/skills/` 下、重开会话、说「cnvd」即可触发。不用 Claude Code 也能用——SKILL.md 本身是一份完整操作手册。
**Q:能贡献新规则吗?**
欢迎。新洞实战确认后按 `docs/规则编写指南.md` 的格式追加,标注来源+判据+日期。