Verify Security logo

Verify Security

CommunityPopular
fengshao1227
verify-security

安全校验关卡。自动扫描代码安全漏洞,检测危险模式,确保安全决策有文档记录。当用户提到安全扫描、漏洞检测、安全审计、代码安全、OWASP、注入检测、敏感信息泄露时使用。在新建模块、安全相关变更、攻防任务、重构完成时自动触发。

Overview

Publisherfengshao1227
Repositoryccg-workflow
Skill nameverify-security
Stars
5.9K
Forks
446
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by fengshao1227 on GitHub. Read the source before you install it.

Installation

Install the Verify Security AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/fengshao1227/ccg-workflow.git /tmp/ccg-workflow
mkdir -p .claude/skills
cp -r /tmp/ccg-workflow/dsh-ccg/skills/verify-security .claude/skills/verify-security
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Verify Security in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Verify Security on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Verify Security is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

⚖ 校验关卡 · 安全校验

核心原则

安全即道基,破则劫败
安全决策必须可追溯
Critical/High 问题必须修复后才能交付

自动扫描

运行安全扫描脚本(跨平台):

bash
# 在 skill 目录下运行
node scripts/security_scanner.js <扫描路径>
node scripts/security_scanner.js <扫描路径> -v           # 详细模式
node scripts/security_scanner.js <扫描路径> --json       # JSON 输出
node scripts/security_scanner.js <扫描路径> --exclude vendor  # 排除目录

检测范围

自动检测的漏洞类型

类别检测项严重度
注入SQL 注入、命令注入、代码注入🔴 Critical
敏感信息硬编码密钥、AWS Key、私钥🔴 Critical
XSSinnerHTML、dangerouslySetInnerHTML🟠 High
反序列化pickle.loads、yaml.load🟠 High
路径遍历未验证的文件路径操作🟠 High
SSRF未验证的 URL 请求🟠 High
XXE不安全的 XML 解析🟠 High
弱加密MD5、SHA1 用于安全场景🟡 Medium
不安全随机random 模块用于安全场景🟡 Medium
调试代码console.log、print、debugger🔵 Low

文档层面检查

安全相关代码必须在 DESIGN.md 中记录:

  • 威胁模型 — 防御哪些攻击
  • 安全决策 — 为何选择此方案
  • 安全边界 — 信任边界在哪里
  • 已知风险 — 接受了哪些风险

危险模式速查

Python

python
# 🔴 危险 - 触犯道基
eval(), exec(), os.system()
subprocess(..., shell=True)
pickle.loads(), yaml.load()
cursor.execute(f"SELECT * FROM t WHERE id = {id}")

# ✅ 安全替代 - 道基稳固
ast.literal_eval()
subprocess([...], shell=False)
yaml.safe_load()
cursor.execute("SELECT * FROM t WHERE id = %s", (id,))

JavaScript

javascript
// 🔴 危险 - 触犯道基
eval(), innerHTML, document.write()
new Function(userInput)

// ✅ 安全替代 - 道基稳固
JSON.parse(), textContent
模板引擎自动转义

Go

go
// 🔴 危险 - 触犯道基
exec.Command("sh", "-c", userInput)
template.HTML(userInput)

// ✅ 安全替代 - 道基稳固
exec.Command("cmd", args...)
html/template 自动转义

校验流程

1. 运行 security_scanner.js 自动扫描
2. 分析扫描结果,按严重度排序
3. 检查安全决策是否有文档记录
4. 输出安全校验报告
5. Critical/High 问题必须修复后才能交付

自动触发时机

场景触发条件
新建模块模块创建完成时
安全相关变更涉及认证、授权、加密、输入处理
攻防任务红队/蓝队任务完成时
重构完成重构任务完成时
提交前代码提交前检查

校验报告格式

## 安全校验报告

✓ 通过 | ✗ 未通过

- 🔴 Critical: N
- 🟠 High: N
- 🟡 Medium: N
- 🔵 Low: N

### 发现问题

| 文件 | 行号 | 类型 | 严重度 | 描述 |
|------|------|------|--------|------|
| ... | ... | ... | ... | ... |

### 结论

可交付 / 需修复后交付

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Verify Security AI skill do?

安全校验关卡。自动扫描代码安全漏洞,检测危险模式,确保安全决策有文档记录。当用户提到安全扫描、漏洞检测、安全审计、代码安全、OWASP、注入检测、敏感信息泄露时使用。在新建模块、安全相关变更、攻防任务、重构完成时自动触发。

Why use Verify Security on TypingMind?

Because you install it once and use it with any model. Verify Security is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Verify Security in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/fengshao1227/ccg-workflow/tree/main/dsh-ccg/skills/verify-security. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Verify Security?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Verify Security?

As many as you like. As long as a model supports skills, you can use Verify Security with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Verify Security AI skill free?

Yes. It is published on GitHub by fengshao1227 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇