← ClaudeAtlas

securitylisted

Security Baseline
pcliangx/AppGenesisForge · ★ 9 · AI & Automation · score 71
Install: claude install-skill pcliangx/AppGenesisForge
# Security Baseline ## Security 团队安全基线(基于 OWASP Top 10),开发者实现时必须遵守,code-reviewer 审查时逐条核对: - [ ] 所有查询使用参数化,禁止字符串拼接 SQL(SQL 注入) - [ ] 输出编码、配置 CSP headers(XSS) - [ ] shell 命令中无未清理的输入(命令注入) - [ ] 认证和授权在每个受保护端点正确执行 - [ ] 不硬编码密钥、凭证或 API key - [ ] 敏感数据不入日志,错误信息不暴露堆栈或内部细节 - [ ] 输入验证在系统边界做(用户输入、外部 API 响应) - [ ] 公共端点配置限流 - [ ] CORS 配置正确(白名单源,不用 `*` 配 `credentials: true`) - [ ] 依赖无已知关键 CVE(定期 `npm audit` / `pip-audit` 等扫描) ## Tool-level Hard Constraints 本节是**项目级实现回链**——本 standards 文件保留团队通用安全基线,具体 hook 拦截清单作为项目级实现位于 `CLAUDE.md` "Tool Boundaries" 节。 ### 四层 Hook 防御(注册位置:`.claude/settings.json` + `.git/hooks/pre-commit`) > 前 3 层运行时(agent 工具调用时拦截)+ 第 4 层 commit 时(防 Edit/Write 绕过 prompt 扫描)。 | 层 | 时机 | 文件 | 行为 | 防御目标 | |---|---|---|---|---| | 1. Bash 拦截 | `PreToolUse` (matcher: `Bash`) | `.claude/hooks/block-dangerous-bash.sh` | exit 2 硬阻断 | 防 agent 跑出毁灭性命令(`rm -rf`、`DROP TABLE/DATABASE/SCHEMA`、`git push --force`、`git reset --hard`) | | 2. Secret 扫描 | `UserPromptSubmit` | `.claude/hooks/scan-secrets.sh` | exit 2 硬阻断 | 防用户把 API key / Token / PEM 私钥粘进对话;模式覆盖 AWS / GitHub / OpenAI / Anthropic / Google / Slack / DeepSeek / Doubao / Qwen / MiniMax | | 3. 工具输出净化 | `PostToolUse` (matcher: `WebFetch\|WebSearch\|Read\|Bash\|mcp__.*`) | `.claude/hooks/sanitize-tool-output.sh` | exit 0 + stderr WARNING(软告警,不阻断) | 防外部内容夹带的 prompt injection 指令被 agent 当成系统提示执行(含所有 MCP 工具输出) | **回归测试**: - `.claude/hooks/test-block-dangerous-bash.sh`(73 用例) - `.claude/hooks/test-scan-secrets.sh`(35 用例,覆盖 scan-secret