File contents JSEF Skills Specification
🛠️ Skill 1: generate_vuln_case (生成新漏洞案例)
描述 :创建一个完整的漏洞教学模块,包含不安全代码、安全代码和利用方式。
触发词 :/new-case [漏洞类型] [业务场景]
执行步骤 :
设计场景 :构思一个符合业务逻辑的场景(例如:基于 Cookie 的越权查看订单)。
编写不安全代码 (Vulnerable Controller/Service) :
展示错误的编码习惯(如拼接 SQL、信任前端输入)。
添加详细注释:// [VULN] 漏洞点:直接使用了用户输入的ID。
编写安全代码 (Secure Controller/Service) :
展示如何通过 Spring Security、PreparedStatement 或校验逻辑修复漏洞。
对比差异点。
生成 Payload :提供 curl 命令或 HTTP 请求包用于复现。
⚡ Skill 2: optimize_springboot (优化现有代码)
描述 :按照 Spring Boot 3.x 和 Java 17+ 标准重构代码。
触发词 :/optimize [文件名/代码段]
执行逻辑 :
依赖检查 :检查是否使用了过时的注解或依赖(如替换 RestTemplate 为 WebClient,或优化 Lombok 使用)。
语法升级 :应用 Java 17+ 新特性(Records, Switch Expressions, Text Blocks)。
结构优化 :确保 Controller-Service-Repository 分层清晰,异常处理全局化 (@ControllerAdvice)。
📝 Skill 3: write_security_docs (编写教学文档)
描述 :为特定漏洞案例生成 Markdown 格式的教学文档。
触发词 :/doc [漏洞名称]
输出模板 :
漏洞原理 :简述漏洞成因。
攻击场景 :攻击者如何利用该漏洞。
核心代码对比 :
❌ 错误写法(高亮关键行)
✅ 正确写法(高亮修复行)
复现步骤 :Step-by-step 指南。
实战作业 :留给学生的思考题。
🧪 Skill 4: generate_test_case (生成安全测试用例)
描述 :使用 JUnit 5 和 MockMvc 编写单元测试,验证漏洞的存在与修复。
触发词 :/test [Controller名称]
执行逻辑 :
编写 shouldSucceedWithMaliciousPayload() 测试用例以验证漏洞存在(预期攻击成功)。
编写 shouldFailWithMaliciousPayload() 测试用例以验证安全代码(预期攻击被拦截)。
1 --- 2 name: jsef 3 description: JSEF Skills Specification 4 --- 5 # JSEF Skills Specification 6 7 ## 🛠️ Skill 1: generate_vuln_case (生成新漏洞案例) 8 **描述**:创建一个完整的漏洞教学模块,包含不安全代码、安全代码和利用方式。 9 **触发词**:`/new-case [漏洞类型] [业务场景]` 10 **执行步骤**: 11 1. **设计场景**:构思一个符合业务逻辑的场景(例如:基于 Cookie 的越权查看订单)。 12 2. **编写不安全代码 (Vulnerable Controller/Service)**: 13 - 展示错误的编码习惯(如拼接 SQL、信任前端输入)。 14 - 添加详细注释:`// [VULN] 漏洞点:直接使用了用户输入的ID`。 15 3. **编写安全代码 (Secure Controller/Service)**: 16 - 展示如何通过 Spring Security、PreparedStatement 或校验逻辑修复漏洞。 17 - 对比差异点。 18 4. **生成 Payload**:提供 `curl` 命令或 HTTP 请求包用于复现。 19 20 ## ⚡ Skill 2: optimize_springboot (优化现有代码) 21 **描述**:按照 Spring Boot 3.x 和 Java 17+ 标准重构代码。 22 **触发词**:`/optimize [文件名/代码段]` 23 **执行逻辑**: 24 1. **依赖检查**:检查是否使用了过时的注解或依赖(如替换 `RestTemplate` 为 `WebClient`,或优化 Lombok 使用)。 25 2. **语法升级**:应用 Java 17+ 新特性(Records, Switch Expressions, Text Blocks)。 26 3. **结构优化**:确保 Controller-Service-Repository 分层清晰,异常处理全局化 (`@ControllerAdvice`)。 27 28 ## 📝 Skill 3: write_security_docs (编写教学文档) 29 **描述**:为特定漏洞案例生成 Markdown 格式的教学文档。 30 **触发词**:`/doc [漏洞名称]` 31 **输出模板**: 32 - **漏洞原理**:简述漏洞成因。 33 - **攻击场景**:攻击者如何利用该漏洞。 34 - **核心代码对比**: 35 - ❌ 错误写法(高亮关键行) 36 - ✅ 正确写法(高亮修复行) 37 - **复现步骤**:Step-by-step 指南。 38 - **实战作业**:留给学生的思考题。 39 40 ## 🧪 Skill 4: generate_test_case (生成安全测试用例) 41 **描述**:使用 JUnit 5 和 MockMvc 编写单元测试,验证漏洞的存在与修复。 42 **触发词**:`/test [Controller名称]` 43 **执行逻辑**: 44 1. 编写 `shouldSucceedWithMaliciousPayload()` 测试用例以验证漏洞存在(预期攻击成功)。 45 2. 编写 `shouldFailWithMaliciousPayload()` 测试用例以验证安全代码(预期攻击被拦截)。
xiaomingx/mimofan/tree/main/benchmark/jsef commit bba06b487e
Frequently asked questions How do I install the Jsef skill? Run npx skillmds@latest add xiaomingx/jsef in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Jsef skill do? JSEF Skills Specification It is listed under Coding & Dev Tools on SkillMD.
Is Jsef safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Jsef? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Jsef free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Jsef? xiaomingx (@xiaomingx) published this skill. Their other Agent Skills are listed on their SkillMD profile.