项目黑板(与本产品对齐)
SkillDatabases & dataCyberStrikeAI 项目黑板:跨会话 Fact 图(SQLite)+ upsert_project_fact/record_vulnerability 边渗透边记录节奏、关系边 links、confidence、与多代理协调落库。Use when managing project facts, blackboard index, writing evidence, or avoiding context-loss after compression.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 项目黑板(与本产品对齐) skill
What this skill tells your AI
The instructions your AI receives, as published by ed1s0nz/cyberstrikeai in skills/pentest-blackboard/SKILL.md and read by ahel’s review.
状态落在已绑定项目的 SQLite 黑板,不依赖对话上下文,也不使用
.pentest/目录。 系统自动注入「项目黑板索引」(仅fact_key+ summary);摘要不足必须get_project_fact,禁止凭摘要臆造细节。
原语与分工(产品模型)
| 概念 | 产品落点 | 规则 |
|---|---|---|
| Fact | project_facts(upsert_project_fact) | 同 fact_key 覆盖更新;非正式漏洞条目。confidence: confirmed | tentative | deprecated |
| 关系边 | project_fact_edges(upsert 的 links) | 结构化攻击图;finding/chain/exploit/poc 必须带 links |
| 可交付漏洞 | record_vulnerability | 与 Fact 可各记一次:Fact=复现上下文,漏洞=正式 finding |
| 探索方向 | 本轮计划 / 协调者委派 / plantask(若启用) | 不是独立 Intent 表;待验证方向用 confidence=tentative 的 note/ 或先不落库、验证后再写 |
| 人类注入 | 用户消息 / HITL 审批 | 直接吸收进决策;不必写成 Hint 原语 |
Fact vs 漏洞
- 环境/目标/认证等认知 → 只写 Fact(
target/auth/infra/business/) - 发现与利用上下文 → Fact(
finding/chain/exploit/poc/)+ body 填满攻击链 - 可交付 findings →
record_vulnerability(标题、严重程度、类型、目标、POC、影响、修复);记前可用list_vulnerabilities查重
强制节奏:边渗透边记录
勿等会话结束再批量写入。
- 每确认一条新认知(开放端口/服务版本、入口路径、认证态或凭据特征、可利用点或攻击面变化)→ 立即
upsert_project_fact(同 key 覆盖)。 - 每验证出一条可复现漏洞(含 POC/影响)→ 立即
record_vulnerability;与事实可各记一次。 - 继续下一步前优先落库,避免上下文压缩丢细节。
- 未绑项目:说明无法写黑板,仍在本轮保留证据摘要。
- 协调者:子任务返回新认知/漏洞时由协调者写入,勿假定子代理已记。
- 子代理无工具时:交付物末尾给「待落库」条目(建议
fact_key、summary、body/POC 要点),供协调者立即写入。
工具速查
| 工具 | 用途 |
|---|---|
upsert_project_fact | 写入/更新事实(含 body、confidence、links) |
get_project_fact | 按 key 取完整 body(索引不够时必调) |
list_project_facts / search_project_facts | 检索黑板 |
deprecate_project_fact / restore_project_fact | 误报废弃 / 恢复 |
record_vulnerability | 可交付漏洞 |
list_vulnerabilities / get_vulnerability | 查重与详情 |
前置:当前对话已绑定项目(否则工具报错)。
写入规范
fact_key / category
- 格式:小写
category/slug(如target/primary_domain、finding/sqli-login) - 环境:
target|auth|infra|business - 发现利用:
finding|chain|exploit|poc(另可用note) - 同一发现保持同一
fact_key覆盖,勿拆成多个 key 导致上下文丢失
summary / body / confidence
- summary(索引用一行):须含「什么 + 在哪 + 如何触发/验证」,禁止只写「存在 SQLi」
- body:完整可复现上下文(索引不含 body)。发现/利用类必含:入口 → 步骤 → 原始请求/响应或命令 → 现象 → 证据 →
related_vulnerability_id(若有) - confidence:有证据钉死 →
confirmed;仅线索/待验证 →tentative;误报 →deprecate_project_fact(或deprecated) - 更新时若省略 body,保留库中已有 body(可只改 summary)
关系边 links(写入 finding/chain/exploit/poc 时必填)
- 推荐
from:来源 fact → 当前fact_key - 最少:finding 至少 1 条
{from: target/*, type: discovered_on};在 finding 上挂 exploit 用{from: exploit/*, type: exploits} - 常用 type:
discovered_on|depends_on|leads_to|enables|exploits|contains|part_of|supports - 省略 links = 保留已有边;传入 links = 替换全部入边
工作方式(对齐本产品编排)
不设 Bootstrap/Reason/Explore 磁盘状态机。按当前运行模式推进,但读写黑板的纪律不变:
| 模式 | 黑板用法 |
|---|---|
| 单代理 / deep | 边干边 upsert_project_fact;读索引不够则 get_project_fact |
| plan_execute | 计划步骤产出认知后立即落库;重规划前 list/search_project_facts |
| supervisor | 协调者汇总子代理「待落库」并写入;子代理无工具则结构化交付 |
卡住时:换边/换起点/换攻击域;用 search_project_facts 重审已有 Fact,避免重复死路。负结果也要落库(见验证铁律 skill)。
行为触发器(纪律)
每步必检(不检=违反验证铁律):
- 识别→搜:识别任何组件/框架/版本/中间件 → 暂停利用 → 立即执行
component-vuln-intel全部命令(browser_navigate+terminal curl,7 个步骤全做)→ 结果用tentativeFact 或本轮计划跟踪 → 搜完才继续。不搜就说「无已知漏洞」=幻觉;验证后再confirmed/record_vulnerability。 - 拒绝→换路:收到 403/429/超时/RST/WAF 拦/CDN 502/限流/空响应 → 禁止同条件重试 → 立即换路序列:SOCKS5 代理→换 UA→加 XFF→换协议(WS/DNS)→换端口→编码变异(完整代理获取/验证见
proxy-tool-bootstrap)→ 全换仍不通才写负结果 Fact(confirmed+ body 写清已测条件)换面。 - 新认知→横向:拿到凭据/域名/IP/路径 → 立即横向喷:凭据全服务复用 / 新域名全端口扫 / IP 反查同站 → 不等人指示自动扩展攻击面,并
upsert_project_fact(如auth/cred-*、target/related-*)。有凭据不喷=遗漏。
违反判定:不搜就说「无已知漏洞」=幻觉;被拦不换路=放弃;有凭据不喷=遗漏 → 均违反验证铁律。
证据 / 战利品 / 改动
| 原「磁盘」概念 | 本产品做法 |
|---|---|
| evidence/ | Fact body + record_vulnerability 的证明字段 + 工具执行记录;大文件放会话/项目 workspace |
| loot/ | 凭据特征写入 auth/ Fact(注意脱敏与授权范围);完整秘密按项目策略处理 |
| changelog.md | 写入型改动在回复中台账化,并可 note/change-* Fact 记录主机/类型/位置/回滚命令 |
与验证铁律的衔接
详见 pentest-verification:搜索≠漏洞;无证据不写 confirmed;禁止空泛「可能/疑似」当结论;验证失败写负结果 Fact。
Signals
- GitHub stars
- 7k
- Forks
- 1k
- Last commit
- Sep 2026
ahel recommends instead
Advanced
- Catalog kind
- skill
- Gateway key
pentest-blackboard-ed1s0nz- Source
- github.com/ed1s0nz/cyberstrikeai