Files
scaffold/template/.claude/rules/security.md
T
baozaotumao 39fe248f9f feat: 重组为标准 skill 包结构 + 修复 verify.sh bash 3.2 兼容
- 新增 .claude/skills/new-project/SKILL.md(标准 skill 格式)
- install-skill.sh 安装时组装 SKILL.md + verify.sh,单一源无重复
- verify.sh 改用索引数组替代 declare -A,兼容 macOS bash 3.2
- log_pass/log_skip 显式 return 0,避免 set -e 下非 verbose 误退出
- README 改为 skill 优先;补全 copier.yml/scripts/template 入库
2026-06-01 21:19:45 -07:00

17 lines
953 B
Markdown
Raw 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.
# 安全基线
> 路径穿越、命令注入、上传、CORS、限流、密钥的硬约束。
| 风险 | 约束 |
|------|------|
| 路径穿越 | `/preview` `/download` 必须校验 session_id 为合法 UUID,且 resolve 后路径仍在 workDir 内(`utils/files.py` |
| 命令注入 | 子进程一律用 argv 列表,**禁止 `shell=True`**;用户输入只作为参数传入 |
| 文件上传 | 仅 `.md`,限制大小(默认 5MB),读取后按文本处理 |
| CORS | Backend 仅允许前端来源(配置项,非 `*` |
| 限流 | 复用 Agent 并发信号量,超额排队(非无限接收) |
| 密钥 | 只走 `.env` / localStorage`detect-private-key` 钩子防误提交 |
- 路径穿越在 CI 由 semgrep 自定义规则辅助检测(用户输入拼路径未经 workDir 校验)
- 命令注入由 ruff `S`banditS602/603/604/605)在 PC·CI 检测
- 密钥不入库由 gitleaks + detect-private-key 全量扫描