Software Security Skill(Project CodeGuard)是一个面向 AI 编程代理的软件安全技能,旨在帮助代理生成安全代码并预防常见漏洞。它基于 Project CodeGuard,一个开源、模型无关的安全框架,将默认安全实践嵌入 AI 编码工作流。
用途
该技能用于在 AI 编码过程中提供全面的安全指导。当编写任何语言的新代码、审查或修改现有代码、实现安全敏感功能(如认证、加密、数据处理)、处理用户输入、数据库、API 或外部服务、配置云基础设施、CI/CD 管道或容器,以及处理敏感数据、凭据或加密操作时,应激活此技能。
主要能力
技能提供三类安全规则:
-
始终应用规则:每次代码操作都必须检查的规则,包括:
- codeguard-1-hardcoded-credentials.md:绝不硬编码秘密、密码、API 密钥或令牌
- codeguard-1-crypto-algorithms.md:仅使用现代、安全的加密算法
- codeguard-1-digital-certificates.md:安全地验证和管理数字证书
-
基于标签的规则:当识别到特定安全上下文时,应用所有匹配标签的规则。例如:
- authentication:应用 codeguard-0-authentication-mfa.md、codeguard-0-session-management-and-cookies.md
- data-security:应用 codeguard-0-additional-cryptography.md、codeguard-0-data-storage.md
- infrastructure:应用 codeguard-0-cloud-orchestration-kubernetes.md、codeguard-0-data-storage.md、codeguard-0-devops-ci-cd-containers.md、codeguard-0-iac-security.md
- privacy:应用 codeguard-0-logging.md、codeguard-0-privacy-data-protection.md
- secrets:应用 codeguard-0-additional-cryptography.md、codeguard-1-digital-certificates.md、codeguard-1-hardcoded-credentials.md
- web:应用 codeguard-0-api-web-services.md、codeguard-0-authentication-mfa.md、codeguard-0-client-side-web-security.md、codeguard-0-input-validation-injection.md、codeguard-0-session-management-and-cookies.md
-
语言特定规则:根据正在实现功能的编程语言,从 /rules 目录应用相应规则。支持的语言包括:apex、c、cpp、d、docker、go、hcl、html、java、javascript、kotlin、matlab、perl、php、powershell、python、ruby、rust、shell、sql、swift、typescript、vlang、xml、yaml。每种语言对应一组规则文件,例如:
- python:codeguard-0-additional-cryptography.md、codeguard-0-api-web-services.md、codeguard-0-authentication-mfa.md、codeguard-0-authorization-access-control.md、codeguard-0-file-handling-and-uploads.md、codeguard-0-framework-and-languages.md、codeguard-0-input-validation-injection.md、codeguard-0-mcp-security.md、codeguard-0-session-management-and-cookies.md、codeguard-0-xml-and-serialization.md
- javascript:codeguard-0-additional-cryptography.md、codeguard-0-api-web-services.md、codeguard-0-authentication-mfa.md、codeguard-0-authorization-access-control.md、codeguard-0-client-side-web-security.md、codeguard-0-cloud-orchestration-kubernetes.md、codeguard-0-data-storage.md、codeguard-0-devops-ci-cd-containers.md、codeguard-0-file-handling-and-uploads.md、codeguard-0-framework-and-languages.md、codeguard-0-iac-security.md、codeguard-0-input-validation-injection.md、codeguard-0-logging.md、codeguard-0-mcp-security.md、codeguard-0-mobile-apps.md、codeguard-0-privacy-data-protection.md、codeguard-0-session-management-and-cookies.md、codeguard-0-supply-chain-security.md
- java:codeguard-0-additional-cryptography.md、codeguard-0-api-web-services.md、codeguard-0-authentication-mfa.md、codeguard-0-authorization-access-control.md、codeguard-0-file-handling-and-uploads.md、codeguard-0-framework-and-languages.md、codeguard-0-input-validation-injection.md、codeguard-0-mcp-security.md、codeguard-0-mobile-apps.md、codeguard-0-session-management-and-cookies.md、codeguard-0-xml-and-serialization.md (其他语言规则列表详见官方文档)
此外,技能鼓励主动安全实践:使用参数化查询访问数据库、验证和清理所有用户输入、应用最小权限原则、使用现代加密算法和库、实施纵深防御策略。
使用方式
技能提供使用工作流:
-
初始安全检查:在编写任何代码之前,检查是否会处理凭据(应用 codeguard-1-hardcoded-credentials),确定适用的安全标签(加载所有匹配标签的规则),识别使用的语言(确定适用的语言特定规则)。
-
代码生成:在编写代码时,应用相关 Project CodeGuard 规则中的默认安全模式,添加解释选择的安全相关注释。
-
安全审查:编写代码后,对照每个规则中的实施检查清单进行审查,验证没有硬编码凭据或秘密,验证所有适用规则均已成功遵循,解释应用了哪些安全规则,突出已实施的安全功能。
安全规则位于 rules/ 目录中。
适用场景
该技能适用于 AI 编程代理在各类软件开发任务中提升代码安全性,包括但不限于:新代码编写、代码审查与修改、安全敏感功能实现、用户输入处理、数据库与 API 交互、云基础设施与 CI/CD 配置、敏感数据与凭据管理。
限制
该技能的具体安装命令、收费模式、价格、平台支持情况、实际效果等事实暂未提供。技能基于 Project CodeGuard 框架,其规则文件需从 rules/ 目录获取,具体集成方式可能因 AI 编码代理环境而异。