skills-security-risk-scanner

SKILL运维和基础设施
运维和基础设施 未标注权限 许可证不明确
安装这个技能

「不仅查能不能被攻破,也查能不能被打瘫」 — 覆盖 OWASP Top 10 全谱系 + 资源滥用风险的全项目静态安全审查。 核心理念 这个 skill 不是泛泛的代码审查,而是聚焦安全风险的静态扫描: 1. SQL 注入、认证授权、加密、SSRF、反序列化 ✅ 检查 2. 服务器并发 / 竞态条件 ⚠️ 仅 practical 才报 ✅ 重点检查 3. API Rate Limiting ✅ 重点检查 4. 文件上传滥用 ✅ 重点检查 5. 前端无限访问 / 循环请求 ✅ 重点检查

一句话选型结论

按资料字段整理

skills-security-risk-scanner是运维和基础设施类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类运维和基础设施 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_f8012dd9/skills-security-risk-scanner
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

运维和基础设施
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_f8012dd9仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791675141
正文体量12.1 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查服务与日志

按现象定位服务状态与日志线索。

写部署与巡检脚本

把重复的部署、巡检写成脚本。

故障排查

按步骤排查网络、依赖与配置。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在运维和基础设施场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
skills-security-risk-scanner当前 未标注权限 未标注 未标注 未标注 有
Azure 部署 调用外部服务 GitHub 仓库 664.2 万 Codex、Claude、Cursor 有
Azure diagnostics 问题管理 调用外部服务 GitHub 仓库 657.6 万 Codex、Claude、Cursor 有
Azure aigateway 部署 调用外部服务 GitHub 仓库 655.3 万 Codex、Claude、Cursor 有
Azure AI 搜索 调用外部服务 GitHub 仓库 651.4 万 Codex、Claude、Cursor 有
Azure Cloud migrate 部署 调用外部服务 GitHub 仓库 650.7 万 Codex、Claude、Cursor 有

SKILL.md 全文

12.1 KB
模型实际读到的说明书原文,来自技能仓库

安全风险扫描器 (Security Risk Scanner)

> 「不仅查能不能被攻破,也查能不能被打瘫」 — 覆盖 OWASP Top 10 全谱系 + 资源滥用风险的全项目静态安全审查。

核心理念

这个 skill 不是泛泛的代码审查,而是聚焦安全风险的静态扫描:

  • 传统安全审查只查注入、认证、加密(Anthropic 官方 security-review 即如此,明确排除 DoS/Rate Limiting)
  • 本 skill 在传统审查基础上,额外覆盖官方排除的资源滥用类风险(服务器并发、API 限流、文件上传滥用、前端无限访问)

差异定位:

类别 Anthropic 官方 本 skill
SQL 注入、认证授权、加密、SSRF、反序列化 ✅ 检查 ✅ 检查
服务器并发 / 竞态条件 ⚠️ 仅 practical 才报 ✅ 重点检查
API Rate Limiting ❌ 明确排除 ✅ 重点检查
文件上传滥用 ❌ 明确排除 ✅ 重点检查
前端无限访问 / 循环请求 ❌ 明确排除 ✅ 重点检查

触发规则

触发方式 触发词
自动 无 — 默认按需调用,不打扰日常开发
手动 「安全审查」「扫描风险」「检查漏洞」「风险扫描」「security review」「安全审计」「扫一下安全」

扫描范围:默认全项目;用户可指定子目录(如「只查 src/api/」)

适用平台:Trae、Claude Code、WorkBuddy 等跨平台 AI 编码助手


三阶段扫描流程

Phase 1 — 项目侦察(Reconnaissance)

在动手审查前,先了解项目的安全底座:

  1. 识别技术栈
    - 后端框架(Express/NestJS/Spring Boot/FastAPI/Django/Gin 等)
    - 前端框架(React/Vue/Angular/Next.js/Nuxt 等)
    - 数据库(MySQL/PostgreSQL/MongoDB/Redis 等)
    - ORM/查询构造器(Prisma/TypeORM/MyBatis/SQLAlchemy 等)

  2. 识别现有安全机制
    - 是否有认证中间件(JWT/Session/OAuth)
    - 是否有限流中间件(express-rate-limit/redis-based)
    - 是否有输入验证库(zod/joi/class-validator/Pydantic)
    - 是否有 CSRF 防护、CSP 头、Helmet 等
    - 是否有文件上传库(multer/busboy/formidable)

  3. 识别依赖安全模式
    - 查找现有的 sanitization / escape / parameterization 模式
    - 记录项目已采用的"安全写法"作为对比基准

> 输出:内部使用,记录项目"已知安全基线"。后续审查时遵循项目已有模式给出修复建议(避免引入项目未使用的新依赖)。

Phase 2 — 分领域审查(Domain-by-Domain Audit)

按三个维度并行审查,每个维度对应一份 checklist:

维度 Checklist 文件 检查范围
后端 references/backend-checklist.md 注入、认证授权、加密、SSRF、反序列化、XXE、配置、并发竞态
前端 references/frontend-checklist.md XSS、CSRF、敏感数据存储、开放重定向、postMessage、CSP、无限访问
资源滥用(重点) references/resource-abuse.md 服务器并发、Rate Limiting、文件上传、慢速攻击、内存耗尽、ReDoS

审查方法(借鉴 Anthropic 三阶段法):
1. 上下文研究 — 用 Grep/Glob 找出该领域相关的代码(如查 SQL 拼接就 grep query\(、$query、raw\()
2. 对比分析 — 与项目现有安全模式对比,找出偏离
3. 漏洞评估 — 追踪数据流(输入 → 敏感操作),找出可利用路径

Phase 3 — 假阳性过滤(False Positive Filtering)

对 Phase 2 发现的每条疑似风险,应用 references/false-positive-rules.md 中的规则过滤:

  1. HARD EXCLUSIONS — 命中即剔除(如单元测试文件、文档文件、Rust 内存安全、环境变量可信等)
  2. PRECEDENTS — 参考判例(如 React/Angular 默认安全、客户端权限检查缺失不是漏洞)
  3. 信号质量标准 — 评估是否:
    - 有具体可利用漏洞和明确攻击路径
    - 代表真实安全风险 vs 理论最佳实践
    - 有具体代码位置和复现步骤
    - 对安全团队有可操作性
  4. 置信度评分(0-1.0):
    - 0.9-1.0:确定的可利用路径,已尽可能验证
    - 0.8-0.9:清晰的漏洞模式,已知利用方法
    - 0.7-0.8:可疑模式,需要特定条件触发
    - < 0.7:不报告(太投机)

最终输出:仅保留置信度 ≥ 0.7 的发现。


检查类别总览

后端风险(详见 backend-checklist.md)

  • 注入类:SQL 注入、NoSQL 注入、命令注入、LDAP/XPath 注入、模板注入、ORM 拼接
  • 认证授权:BOLA(越权访问对象)、BFLA(越权调用函数)、JWT 失效、会话固定、弱密码
  • 加密:硬编码密钥、弱算法(MD5/DES)、不安全随机数、证书验证绕过
  • SSRF:服务端请求伪造(注意:仅控制 path 不算,必须能控制 host/protocol)
  • 反序列化:Java Serializable、Python pickle、YAML.load、PHP unserialize
  • XXE:XML 外部实体解析
  • 配置类:CORS 错配、CSP 缺失、调试模式开启、依赖漏洞
  • 并发竞态(重点):TOCTOU、库存超卖、余额竞态、重复提交、限购绕过

前端风险(详见 frontend-checklist.md)

  • XSS:反射型、存储型、DOM 型、v-html、dangerouslySetInnerHTML、bypassSecurityTrustHtml
  • CSRF:SameSite 缺失、Token 位置不当、无 CSRF Token
  • 敏感数据存储:localStorage 存 Token/密钥、XSS 可拿 Cookie、敏感信息入 URL
  • 开放重定向:用户可控的 redirect 参数未校验
  • postMessage 滥用:未校验 origin、使用 * target
  • 点击劫持:缺失 X-Frame-Options / CSP frame-ancestors
  • 无限访问(重点):无节流/防抖、无限轮询、循环请求、无前端速率限制、无退避重试

资源滥用风险(详见 resource-abuse.md)— 用户重点

  • 服务器并发:竞态条件、非原子操作、缺锁、TOCTOU
  • API Rate Limiting:无限制、无配额、无熔断、无降级
  • 文件上传滥用:无类型校验、无大小限制、无数量限制、无 MIME 检查、可执行文件、目录穿越
  • 慢速攻击:Slowloris 防护、慢速 POST body
  • 内存/CPU 耗尽:Hash 碰撞 DoS、正则 ReDoS、大文件加载到内存
  • 前端无限访问:循环请求、无指数退避、无最大重试次数

输出格式

文件位置

docs/安全审查-YYYY-MM-DD.md
  • 文件名按当天日期生成;同一天多次扫描追加 -N 后缀(-2、-3)
  • 若项目无 docs/ 目录,先询问用户是否创建
  • 用户可指定输出路径:如「输出到 security-reports/2026-07.md」

报告结构

# 安全审查报告

**扫描日期**:2026-07-18
**扫描范围**:全项目(g:/xxx/xxx)
**技术栈**:后端 NestJS + Prisma + PostgreSQL;前端 React + Vite + Zustand
**扫描文件数**:234 个
**审查耗时**:约 12 分钟

---

## 风险等级汇总

| 等级 | 数量 | 说明 |
|------|------|------|
| 🔴 高危 | 2 | 直接可利用,需立即修复 |
| 🟡 中危 | 5 | 需特定条件触发,建议尽快修复 |
| 🟢 低危 | 3 | 纵深防御问题,择机修复 |
| ℹ️ 建议 | 1 | 最佳实践建议,非漏洞 |

---

## 详细发现

### 🔴 高危 #1:SQL 注入 — 用户搜索接口

- **位置**:`src/api/search.ts:42`
- **类别**:`sql_injection`
- **置信度**:0.95
- **风险说明**:用户输入的 `keyword` 参数直接拼接进 SQL 查询,未参数化
- **Exploit 场景**:
  攻击者构造 `?keyword=&#x27;; DROP TABLE users; --` 可删除整张用户表;
  或 `?keyword=&#x27; UNION SELECT password FROM users --` 可导出所有密码哈希
- **问题代码**:
  \```ts
  // ❌ 危险:直接拼接
  const sql = `SELECT * FROM products WHERE name LIKE &#x27;%${keyword}%&#x27;`;
  const rows = await db.query(sql);
  \```
- **修复建议**:
  \```ts
  // ✅ 安全:参数化查询(遵循项目已有 Prisma 模式)
  const rows = await db.product.findMany({
    where: { name: { contains: keyword, mode: &#x27;insensitive&#x27; } }
  });
  \```
- **修复优先级**:P0(立即)

---

### 🔴 高危 #2:库存超卖竞态 — 下单接口

- **位置**:`src/api/order.ts:88-105`
- **类别**:`race_condition`
- **置信度**:0.90
- **风险说明**:检查库存与扣减库存非原子操作,高并发下会超卖
- **Exploit 场景**:
  攻击者并发发起 100 个下单请求,由于&quot;查库存→扣库存&quot;非原子,
  全部请求都通过库存检查,最终扣减 100 件但库存只有 10 件,造成超卖 90 件
- **问题代码**:
  \```ts
  // ❌ 危险:先查后扣,非原子
  const stock = await db.product.findUnique({ where: { id } });
  if (stock.count &lt; orderQty) throw new Error(&#x27;库存不足&#x27;);
  await db.product.update({
    where: { id },
    data: { count: { decrement: orderQty } }
  });
  \```
- **修复建议**:
  \```ts
  // ✅ 安全:原子条件更新 + 行锁
  const result = await db.product.updateMany({
    where: { id, count: { gte: orderQty } },  // 条件扣减,原子
    data: { count: { decrement: orderQty } }
  });
  if (result.count === 0) throw new Error(&#x27;库存不足&#x27;);
  \```
- **修复优先级**:P0(立即)

---

### 🟡 中危 #3:API 无 Rate Limiting — 登录接口

...(以此类推)

---

## 修复优先级建议

| 优先级 | 数量 | 处理时机 |
|--------|------|---------|
| P0 立即 | 2 | 阻断发布,今天修 |
| P1 本周 | 5 | 下个迭代前修完 |
| P2 本月 | 3 | 排入待办 |
| P3 建议 | 1 | 择机优化 |

---

## 已剔除的疑似风险(假阳性)

| 位置 | 类别 | 剔除原因 |
|------|------|---------|
| `tests/utils.test.ts:15` | hardcoded_secret | 单元测试文件不报 |
| `config/env.ts:8` | env_var_injection | 环境变量可信 |
| `frontend/src/App.tsx:30` | xss_missing_sanitize | React 默认转义,未用 dangerouslySetInnerHTML |

输出要求

要求 说明
分级 必须按 🔴/🟡/🟢/ℹ️ 分级排序
代码示例 每条发现必须含「问题代码」+「修复建议」正反对比
修复建议 遵循项目已有技术栈和模式,不引入新依赖(除非必要)
Exploit 场景 必须有具体可复现的攻击路径,不是"理论上有风险"
置信度 每条发现标注 0-1.0 分数,<0.7 不报告
假阳性透明 在报告末尾列出剔除的疑似风险及原因(便于复核)
优先级 给出 P0-P3 修复优先级建议

工作量校准

项目规模 审查深度 跳过什么
单文件 / 小修复 1-2 分钟,只查改动相关类别 跳过项目侦察
单模块 / 单接口 5-10 分钟,查相关类别全 checklist 跳过无关领域
全项目审查 15-30 分钟,三阶段完整流程 无

与官方 security-review 的协同

  • 本 skill 不替代 Anthropic 官方 /security-review 命令
  • 官方擅长:注入、认证、加密、RCE、数据泄露(变更差异扫描)
  • 本 skill 擅长:资源滥用、并发竞态、限流、上传滥用(全项目深度扫描)
  • 推荐组合使用:
    1. 日常 PR 用官方 /security-review(快、准、变更聚焦)
    2. 定期(每月/发版前)用本 skill 做全项目安全体检

跨平台兼容性

此 skill 设计为跨 AI 平台兼容(Trae、Claude Code、WorkBuddy 等):

  • 不依赖平台特定功能,所有操作通过通用工具完成(Grep/Glob/Read/Task)
  • 标准化 Markdown + YAML frontmatter
  • 各平台自动适配对应工具

记住:这个 skill 的目标是发现真实可被利用的风险,不是堆理论最佳实践。宁缺毋滥。

常见问题

5 问
答案由本站依据条目字段整理
skills-security-risk-scanner怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_f8012dd9/skills-security-risk-scanner。安装方式为未标注。装完刷新技能列表或重开客户端。

skills-security-risk-scanner支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

skills-security-risk-scanner权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

skills-security-risk-scanner收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

skills-security-risk-scanner用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。