mcpField
D
defense

defense

github.com/ariadoss安全1260 次安装今天更新
代码仓库

关于 defense

面向 Web 应用的安全审计 Skill,检查从密钥、访问控制到 API 防护和敏感数据处理的八个方面。报告按严重程度列出问题,并标注文件和行号。

主要功能

  1. 01扫描硬编码密钥
  2. 02检查身份验证与访问控制
  3. 03检查输入验证与加密
  4. 04审计 OWASP Top 10 风险
  5. 05检查 API、速率限制与敏感数据

适用场景

  1. 01发布前审计 Web 应用
  2. 02审查身份验证和路由保护
  3. 03查找密钥或个人信息泄露

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ariadoss/superskills --skill defense

安装后在 Claude Code 中输入/defense确认已加载。

详细介绍

纵深防御 — 安全验证

针对 Web 应用的多层安全审计。对 8 个安全层进行检查。

工作流

按顺序逐层执行。报告发现的问题,并标注严重程度(CRITICAL / HIGH / MEDIUM / LOW)和文件:行号引用。

第 1 层:密钥扫描

搜索硬编码的密钥、API 密钥、令牌和凭据。

grep -rn "API_KEY\|SECRET_KEY\|DATABASE_URL\|PRIVATE_KEY\|password\s*=\|sk_live\|sk_test" . \
  --include="*.ts" --include="*.tsx" --include="*.js" --include="*.py" --include="*.env" \
  | grep -v node_modules | grep -v ".next" | grep -v ".env.example" | grep -v __pycache__

检查:

  • 源代码中没有密钥(密钥应仅存放在 .env 中)
  • .env 已列入 .gitignore
  • Git 历史记录中没有密钥:git log --all -p -S "sk_live\|API_KEY\|SECRET" -- . ':!.env*' | head -50

第 2 层:身份验证与授权

  • 会话处理:令牌过期时间、httpOnly/secure/sameSite Cookie、退出登录时失效
  • 路由保护:每个 API 路由在处理请求前都要检查身份验证
  • 角色强制执行:不同类型的用户只能访问自己的资源
  • IDOR 防护:资源访问范围限定为已通过身份验证的用户
# Find potentially unprotected API routes
find . -path "*/api/*/route.ts" -o -path "*/api/*/route.js" | xargs grep -L "auth\|session\|token\|verify" 2>/dev/null

第 3 层:输入验证

  • 验证所有用户输入(架构、类型检查)
  • 不使用原始 SQL——仅使用参数化查询或 ORM
  • 不在 shell 调用中通过字符串插值造成命令注入
  • 文件上传设有类型和大小限制
  • 清理 URL 参数
# Check for template literal SQL or shell commands
grep -rn "exec(\`\|sql\`\|query(\`" . --include="*.ts" --include="*.js" | grep -v node_modules

第 4 层:加密

  • 静态数据:数据库中的敏感数据已加密
  • 传输中数据:强制使用 HTTPS,不允许回退到 HTTP
  • 密钥管理:密钥存放在环境变量中,不放在源代码中,也不记录到日志中

第 5 层:OWASP Top 10

#风险检查内容
A01访问控制失效资源隔离、角色检查、IDOR
A02加密失败PII 加密、密钥管理
A03注入SQL、命令、模板注入
A04不安全的设计业务逻辑缺陷
A05安全配置错误默认凭据、详细错误信息、调试模式
A06易受攻击的组件npm audit、过时的依赖项
A07身份验证失败会话管理、防暴力破解
A08数据完整性Webhook 签名、CSRF 令牌
A09日志记录与监控失败审计跟踪、日志中不含 PII
A10SSRF验证服务器端请求中的 URL
# Dependency vulnerabilities
npm audit --production 2>/dev/null | head -50

第 6 层:API 安全

  • 验证 Webhook 签名(Stripe 等)
  • 不向客户端代码暴露 API 密钥
  • 对公开端点进行速率限制
  • 正确配置 CORS
  • 验证 Content-Type

第 7 层:速率限制与 DoS 防护

  • 对 API 路由进行速率限制
  • 登录端点设有防暴力破解保护
  • 强制执行文件上传大小限制
  • 对高开销操作进行限流

第 8 层:敏感数据保护

  • 绝不记录 PII
  • 错误消息中不暴露 PII
  • 从 API 响应中排除敏感字段
  • 强制执行数据保留政策
# Check for PII in logs
grep -rn "console\.\(log\|error\|warn\).*\(password\|ssn\|social\|secret\|token\)" . \
  --include="*.ts" --include="*.js" | grep -v node_modules

报告格式

## Security Audit Report

### Critical Findings
- [CRITICAL] Description — file:line

### High Findings
- [HIGH] Description — file:line

### Medium/Low Findings
- [MEDIUM/LOW] Description — file:line

### Passed Checks
- [PASS] Layer description

评论

支持 Markdown