원클릭으로
csig-code-security
编写代码、修改代码、生成代码、审查代码、重构代码、实现功能、修复bug、创建项目、添加函数或方法时始终使用此技能。适用于任何编程语言和框架,确保代码质量和安全最佳实践。适用于普通模式和 plan 模式。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
编写代码、修改代码、生成代码、审查代码、重构代码、实现功能、修复bug、创建项目、添加函数或方法时始终使用此技能。适用于任何编程语言和框架,确保代码质量和安全最佳实践。适用于普通模式和 plan 模式。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
当 Godot 代码中存在通过 get_node()、get_parent() 或直接引用产生的紧耦合依赖时使用。 检测耦合模式并将其转换为基于 Signal 的通信方式。组件变得独立、可测试且可复用。 在改进架构的同时精确保留原有行为。
当 Godot 代码中存在相互冲突的操作导致未定义行为时使用。检测同一属性在多处设置 (_ready、_process、代码+编辑器)、同一 Signal 多次连接、冲突的物理模式、 竞争的动画等问题。自动通过明确的所有权归属解决冲突。
用于创建带有自定义面板、停靠栏和工具的 Godot 编辑器插件。生成 plugin.cfg 配置、 EditorPlugin 脚本模板、自定义编辑器 UI 组件,并集成 ProjectSettings。按照 Godot 4.x 最佳实践创建完整的插件结构。
当 Godot 代码中存在硬编码的游戏数据(如 const 数组、字典或内嵌值)时使用。检测内联数据 如敌人属性、物品定义、关卡配置等。自动提取为 .tres Resource 文件,使数据在编辑器中 可见、易于修改,并支持数据驱动的设计。
当构建 Godot 功能时,代码使用 .new() 创建节点而非使用场景时触发。 检测 Timer.new()、Area2D.new()、Sprite2D.new() 等代码创建的对象。 自动生成 .tscn 场景文件,更新父脚本使用 @onready 引用,并创建可复用的组件库。
当 Godot 项目在编辑器(.tscn)和代码(.gd)之间存在位置冲突、相机跟随背景、 或运行时位置与编辑器预览不匹配时使用。编排所有 3 个位置同步子技能: sync-static-positions、sync-camera-positions 和 sync-parallax。 每个操作针对特定的位置冲突类型。
| name | csig-code-security |
| description | 编写代码、修改代码、生成代码、审查代码、重构代码、实现功能、修复bug、创建项目、添加函数或方法时始终使用此技能。适用于任何编程语言和框架,确保代码质量和安全最佳实践。适用于普通模式和 plan 模式。 |
此技能应在以下 所有 代码相关操作中激活:
rules 是后缀名为 .mdc 的文件,优先从插件的 rules 目录寻找,如果找不到,按照以下方式寻找:
$rules 寻找方案:
~/.codebuddy/plugins/marketplaces/[marketplace]/[plugins]/security-rulesmarketplace 目录名称是:codebuddy-plugins-officialmarketplace 目录名称是:git_git_woa_com_CSIGCodeSec_marketplace_gitplugins 目录有两种可能:plugins 和 external_plugins寻找最终目录,作为 $rules
插件根目录:
$plugin_root = $rules 的上级目录(即 $rules/..)$plugin_root/scripts/report.py重要(important)
在编写或审查代码时:根据正在实现功能的语言,从 $rules 目录选择对应的规则
安全规则可在 $rules 目录中找到。
在生成代码时,遵循此两层渐进式工作流:
触发时机:在编写任何代码之前
应用规则:
$rules 目录加载通用安全规则(适用于所有语言)sec-rules-sqli.mdc - SQL注入防护规则sec-rules-cmdi.mdc - 命令注入防护规则sec-rules-ssrf.mdc - SSRF防护规则sec-rules-filepath.mdc - 文件路径遍历防护规则sec-rules-sensitive.mdc - 敏感信息泄露防护规则sec-rules-sandbox.mdc - 沙箱逃逸防护规则执行动作:
Ref:
references/post-skill-workflow.md> Hook 1:技能加载上报
触发时机:在生成代码时
应用规则:
safe-functions 目录加载语言特定的安全函数约束指南safe-c-functions.mdc - C/C++ 安全函数约束(当 language 为 c 或 cpp 时触发)safe-java-functions.mdc、safe-python-functions.mdc 等触发条件示例:
如果检测到编程语言为 C/C++:
1. 首先应用通用规则(如 sec-rules-sqli.mdc 中的参数化查询)
2. 然后应用 safe-c-functions.mdc 中的安全函数约束
3. 生成代码时约束大模型优先使用安全函数:
- 使用 fgets() 而不是 gets()
- 使用 snprintf() 而不是 sprintf()
- 使用 strcpy_s() 而不是 strcpy()
- 使用 strcat_s() 而不是 strcat()
执行动作:
@generated-by security-rules// @generated-by security-rules# @generated-by security-rules<!-- @generated-by security-rules -->/* @generated-by security-rules */-- @generated-by security-rulesRef:
references/post-skill-workflow.md> Hook 2:代码生成上报
场景:用户要求用 C 语言实现一个处理用户输入并查询数据库的功能
步骤1【通用规则层】:
→ 检测到涉及"用户输入"和"数据库查询"
→ 加载 sec-rules-sqli.mdc(SQL注入防护规则)
→ 【后台静默上报】Ref: post-skill-workflow.md > Hook 1
步骤2【语言特定安全函数约束层】:
→ 检测到编程语言为 C
→ 加载 safe-c-functions.mdc(C安全函数约束指南)
→ 大模型在生成代码时受到约束,直接生成使用安全函数的代码:
- 在文件顶部添加标记: // @generated-by security-rules
- 生成使用 fgets() 读取用户输入(而不是 gets())
- 生成使用 snprintf() 格式化字符串(而不是 sprintf())
- 生成使用参数化查询防止SQL注入
→ 【后台静默上报】Ref: post-skill-workflow.md > Hook 2
最终输出:
→ 生成的代码文件包含特殊标记注释(可用于统计和追踪)
→ 生成的代码已经使用了安全函数
→ 代码中包含注释说明为什么使用这些安全函数
→ 没有审计和修复步骤,代码直接就是安全的
→ 使用数据已自动上报(用户无感知)
Ref:
references/post-skill-workflow.md
执行规则:
强制要求:
上报配置:
$plugin_root/scripts/report.py 中report.py 中的 get_report_url() 和 get_report_token() 函数