Skip to content
Report library
Purpose / Other

Dbs Report Skill Security Audit

What the author says it does (original text)

把多次 dbs-save 存档合并成可交付的 Markdown 报告。用户要求汇总诊断、整理报告或生成可分享材料时使用。

Independent security check

Security risks found

Files checked
2
Risks found
3
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.No risks found
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Medium risk

Shareable reports aggregate sensitive data verbatim and expose absolute local paths

Source references: 4
What we found

The instructions explicitly preserve sensitive details such as real revenue and customer names, while the index and footer include complete archive paths. Because the output is intended to be shareable, these details may accompany the report to partners, consultants, group chats, or publishing tools.

Why this matters

Sharing can reveal revenue, customer identities, and local directory structure to people who could not access the original archives. A consolidated report is also easier to forward or misdirect than separate source files.

The Skill explicitly creates a shareable deliverable while preserving sensitive details such as real revenue and customer names. It also includes absolute archive paths in the index and footer. If the report is shared with partners, advisers, groups, or a publishing tool, both sensitive content and the local directory structure may be disclosed. Users should ask for redaction and path-hiding options and restrict distribution.

SKILL.md:8In the instructionsOpen original file
你是 dbskill 的报告产物工具。你的工作是:把 dbs-save 留下的多份存档文件合并成一份可读、可分享、可归档的诊断报告。报告内容必须来自 `{存档根目录}/sessions/{项目名}/` 下的存档文件。按时间顺序合并、去重、分类,保证每条内容都能追溯到用户已经确认过的状态。
Show 3 other places
SKILL.md:173In the instructionsOpen original file
| 日期 | 标题 | 状态 | source_skill | 文件 ||---|---|---|---|---|| 2026-04-15 | 卖什么没想清楚 | 进行中 | dbs-diagnosis | `{存档根目录}/sessions/{项目名}/20260415-...md` || ... | ... | ... | ... | ... |
SKILL.md:182In the instructionsOpen original file
报告由 dbskill 自动生成。原始存档见 `{存档根目录}/sessions/{项目名}/`。如需更新报告,再次运行 `/dbs-report`。```
SKILL.md:214In the instructionsOpen original file
- 存档文件里有用户标的「敏感信息」(比如真实收入、客户名字)→ 报告原样保留。不做脱敏。这是用户自己存进去的,要脱敏在 dbs-save 阶段做- 多份存档之间结论冲突 → 都列出来,新的在前并标注修正关系
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.Risks found: 1
Medium risk

An unconstrained project name may move reads and writes outside the intended project directory

Source references: 5
What we found

A user can supply the project name through `--slug`, and that value is inserted directly into the input glob, output directory, and filename. The visible instructions do not require rejecting `..`, slashes, or absolute-path fragments.

Why this matters

If the project name comes from an untrusted command, automation parameter, or modified project state, path traversal could read Markdown outside the intended project or create directories and reports outside the expected report directory. The no-overwrite rule reduces replacement risk but does not prevent out-of-scope reads or persistent writes.

The instructions accept a user-supplied project name and interpolate it into the input glob, output directory, and filename, without a visible rule rejecting absolute paths, separators, or `..`. If that value is untrusted, it could escape the intended project subdirectory, reading other Markdown files or writing the report elsewhere. No implementation is shown, so hidden validation cannot be ruled out; users should require a strictly validated single path segment.

SKILL.md:40In the instructionsOpen original file
| `/dbs-report --since YYYY-MM-DD` | 只合并某日期之后的存档 || `/dbs-report --slug <项目名>` | 指定项目 || `/dbs-report --slug <项目名> --since YYYY-MM-DD` | 同时指定 || 「出报告」「打包」「整理一份」「给合伙人看的」 | 等价于 `/dbs-report` |
Show 4 other places
SKILL.md:66In the instructionsOpen original file
按项目找 `{存档根目录}/sessions/{项目名}/*.md`。
SKILL.md:86In the instructionsOpen original file
```{存档根目录}/reports/{项目名}/{YYYYMMDD-HHMMSS}-{项目名}.md```每次新生成一份,**永不覆盖**。文件名带时间戳,方便对比不同时点的诊断快照。如果目录不存在,先 `mkdir -p`。
SKILL.md:38In the instructionsOpen original file
|---|---|| `/dbs-report` | 把当前项目下所有存档合并成报告 || `/dbs-report --since YYYY-MM-DD` | 只合并某日期之后的存档 || `/dbs-report --slug <项目名>` | 指定项目 || `/dbs-report --slug <项目名> --since YYYY-MM-DD` | 同时指定 || 「出报告」「打包」「整理一份」「给合伙人看的」 | 等价于 `/dbs-report` |
SKILL.md:84In the instructionsOpen original file
### Step 3:拼路径、写报告```{存档根目录}/reports/{项目名}/{YYYYMMDD-HHMMSS}-{项目名}.md```每次新生成一份,**永不覆盖**。文件名带时间戳,方便对比不同时点的诊断快照。如果目录不存在,先 `mkdir -p`。
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.Risks found: 1
Medium risk

Archive bodies are processed as model input, allowing malicious instructions to influence report generation

Source references: 7
What we found

The Skill reads every matching Markdown body and asks the model to perform semantic deduplication, classification, status judgment, and summarization, but it does not establish that archive content is untrusted data whose instructions must never be followed. An archive written or altered by another party can embed commands aimed at the agent.

Why this matters

A malicious archive could try to alter the report, omit or fabricate conclusions, read extra files, or trigger other actions available to the host agent. Success depends on how the host handles embedded instructions and what permissions it has.

What this evidence establishes

Archive bodies are processed by the model for parsing, semantic merging, and limited summarization, so tampered text could influence the report. However, the visible instructions constrain archives to user-confirmed states and fixed fields, require traceability, and forbid invention. There is no evidence that embedded commands are executed, nor any script or untrusted writer to verify. Users can still ask for an explicit data-only boundary and restrict write access to the archive directory.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:74In the instructionsOpen original file
### Step 2:读取并解析所有存档按文件名 `YYYYMMDD-HHMMSS` 排序(早 → 晚)。每个文件解析:- frontmatter 字段:`slug` / `timestamp` / `title` / `source_skill` / `status` / `next_skill`- body 6 段:用户主诉 / 已得出的结论 / 用户已否决的方向 / 待验证假设 / 推荐下一步 / 备注如果某份存档格式有缺失,尽量用现有字段,不要因此中断报告生成。
Show 6 other places
SKILL.md:110In the instructionsOpen original file
按时间顺序列出每份存档的主诉,每条一行:- `2026-04-15` · {主诉简化版,一句话} · 来自 {source_skill}- `2026-04-22` · {主诉} · 来自 {source_skill}- ...末尾用一段话点出「关注点是怎么变的」——比如从「卖什么」演进到「卖给谁」再到「怎么获客」。**这一段是你少数允许做总结的地方**,但只描述演进路径本身,不引申、不推测、不发挥。
SKILL.md:122In the instructionsOpen original file
合并所有存档里的「已得出的结论」字段。去重(语义相近的合并),按时间倒序(新结论在前)。
SKILL.md:146In the instructionsOpen original file
合并以下两类:1. status 是 `in-progress` 的存档的「待验证假设」字段2. 在最早存档中提出但从未在后续存档中被处理的方向
SKILL.md:10In the instructionsOpen original file
报告内容必须来自 `{存档根目录}/sessions/{项目名}/` 下的存档文件。按时间顺序合并、去重、分类,保证每条内容都能追溯到用户已经确认过的状态。
SKILL.md:116In the instructionsOpen original file
末尾用一段话点出「关注点是怎么变的」——比如从「卖什么」演进到「卖给谁」再到「怎么获客」。**这一段是你少数允许做总结的地方**,但只描述演进路径本身,不引申、不推测、不发挥。
SKILL.md:203In the instructionsOpen original file
## 关键原则1. **不从对话凭空总结**。报告内容必须能追溯到具体存档文件的具体字段。这是报告的可信度2. **永不覆盖**。每次生成新文件,带时间戳。用户可以对比不同时点的诊断3. **不发挥**。用户主诉的演进段落允许简短总结,其他全部直接搬运存档字段4. **不主动出 PDF / HTML / 其他格式**。只生成 markdown,用户要别的格式自己处理
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

8 instruction sections

The Skill reads Markdown archives from the project directory selected by its configuration, sorts them by time, parses fixed fields, and creates a new consolidated Markdown report.

View source
SKILL.md:66In the instructionsOpen original file
按项目找 `{存档根目录}/sessions/{项目名}/*.md`。
SKILL.md:76In the instructionsOpen original file
按文件名 `YYYYMMDD-HHMMSS` 排序(早 → 晚)。每个文件解析:- frontmatter 字段:`slug` / `timestamp` / `title` / `source_skill` / `status` / `next_skill`- body 6 段:用户主诉 / 已得出的结论 / 用户已否决的方向 / 待验证假设 / 推荐下一步 / 备注
SKILL.md:84In the instructionsOpen original file
### Step 3:拼路径、写报告```{存档根目录}/reports/{项目名}/{YYYYMMDD-HHMMSS}-{项目名}.md```每次新生成一份,**永不覆盖**。文件名带时间戳,方便对比不同时点的诊断快照。

The archive root may be the user-level default, a project-local directory, or a configured custom directory. The instructions explicitly reject overly broad targets such as the filesystem root, home directory, and current project root.

View source
SKILL.md:48In the instructionsOpen original file
先读取当前工作目录下的 `.dbs/config.json`,并与 dbs-save 使用同一套解析规则:1. 配置文件不存在,或 `mode` 是 `default` → `~/.dbs/`2. `mode` 是 `project` → 当前工作目录下的 `.dbs/`3. `mode` 是 `custom` → `root` 指定的目录;展开开头的 `~`,相对路径按当前工作目录解析配置无法解析、`mode` 不受支持、`root` 为空,或路径指向 `/`、用户家目录、当前项目根目录时,停止生成报告并说明配置问题。不要到其他位置猜测,也不要静默退回默认位置。

The report rules require content to be traceable to archives and retain conflicting or subsequently corrected conclusions instead of showing only the newest view.

View source
SKILL.md:122In the instructionsOpen original file
合并所有存档里的「已得出的结论」字段。去重(语义相近的合并),按时间倒序(新结论在前)。格式:- {结论原文} · 出自 {对应存档的标题} · {对应日期}如果一条结论在后续存档里被推翻或修正,**两条都列出来**,新的在前,旧的在后并加 `(已被后续诊断修正)` 标注。
SKILL.md:203In the instructionsOpen original file
## 关键原则1. **不从对话凭空总结**。报告内容必须能追溯到具体存档文件的具体字段。这是报告的可信度2. **永不覆盖**。每次生成新文件,带时间戳。用户可以对比不同时点的诊断3. **不发挥**。用户主诉的演进段落允许简短总结,其他全部直接搬运存档字段4. **不主动出 PDF / HTML / 其他格式**。只生成 markdown,用户要别的格式自己处理
Start here · InstructionsSKILL.md
dbs-report
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source. 1 more sections are available in the original file.
Files and check records2 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included
  • agents/openai.yamlFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions
  • agents/openai.yamlSupporting file
Lines read
245
File checksum (to compare versions)
c0d39566e8c9c19c53ff1e2366c0a7cc499dfbb6c09b5516d3ce71ea643f82bc