SuperAPI AI 工具集

secure-coding

安全与审计

查看项目

更新于 10-16 01:11

技能介绍

secure-coding 是一个安全编码技能,用于在编写、审查或重构代码时应用安全实践。其核心观点是:每个框架都有惯用的安全模式和特有的踩坑点,泛化的 OWASP 建议并不足够,需按框架给出针对性指引。

适用触发场景:在下列语言或框架中工作时启用该技能——Java Spring/Spring Boot、Python Django、Flask、FastAPI、Ruby on Rails、React(含 Next.js)、Vue(含 Nuxt)、Angular、Go(net/http、Gin、Echo、Fiber、Chi)、ASP.NET(Core、MVC、Web API、Razor、Blazor)、C(C99–C23,系统/嵌入式/内核邻近)、C++(C++17/20/23)、TypeScript(Node/Express/NestJS/Fastify/Deno/Bun 及共享前端)、C#(非 Web 场景:控制台、服务、桌面、库)、Terraform/OpenTofu(AWS、Azure、GCP IaC)。

工作流程:先识别范围内的语言/框架,可通过 package.json、tsconfig.json、pom.xml、build.gradle、requirements.txt、Pipfile、pyproject.toml、Gemfile、go.mod、.csproj、.sln、Makefile/CMakeLists.txt、.tf/.tfvars 或文件导入与扩展名判断;若涉及多种(如 React+TypeScript 前端配 Django 后端并经由 Terraform 部署),则加载各自相关参考文件。只加载相关参考,每个参考自成一体。把指引应用到具体改动,不要把整份清单倒进 PR,而是聚焦改动实际触及的类别。审查代码时,让改动行逐一经过参考文件的“审查清单”章节,并用 file:line 指出具体问题并给出修复建议。写新代码时优先采用参考中的安全模式片段,而非自行发明。

各参考覆盖内容:Web 框架参考(Spring、Django、Flask、FastAPI、Rails、React、Vue、Angular、Go、ASP.NET)围绕相同类别组织:注入(SQL、NoSQL、命令、LDAP、模板、头注入)、认证/授权(登录流程、会话/Cookie 配置、密码存储、角色检查、IDOR)、CSRF(何时适用、框架默认值、常见误关闭方式)、XSS/输出编码(自动转义默认值与安全/危险绕过)、CORS(限制性默认与常见错误配置)、密钥与配置、加密、文件上传与路径穿越、反序列化(安全解析器与危险格式如 Pickle、Marshal、BinaryFormatter、ObjectInputStream、YAML.load)、SSRF、安全响应头(CSP、HSTS、X-Frame-Options、Referrer-Policy)、日志与错误处理(该记什么、不该记什么,如 PII、密钥、令牌、堆栈暴露)、依赖(已知问题版本、公告库链接、升级路径)以及框架特有的踩坑点。语言参考聚焦跨框架问题:C/C++ 关注内存安全(缓冲区/堆溢出、UAF、双重释放)、整数溢出/下溢、格式化字符串、字符串/路径 API、TOCTOU、命令注入、加密库使用、编译器加固(-D_FORTIFY_SOURCE、栈保护、ASAN/UBSAN/fuzzing);TypeScript 关注类型安全仅编译期保证、信任边界的运行时校验(Zod/Valibot/class-validator)、严格 tsconfig.json、any 与 unknown、Node 特有话题(中间件、原型污染、eval/vm/Function(str)、供应链);C#(非 Web)关注进程启动参数处理、加密 API(RNG、哈希、AEAD)、序列化风险、XML 实体加固、密钥清除、HttpClient TLS、反射/CSharpScript 的 RCE 面、ReDoS;Terraform 关注 .tf/state 中的密钥、公开资源错误配置、IAM 通配符与信任策略 Condition、静态/传输中加密默认值、模块/提供者锁定、危险 provisioner、CI 中的策略即代码(tfsec、checkov、trivy config)。

参考使用方式:聚焦任务(如审查某个登录控制器)加载一个参考并搜索相关章节;宽泛审查(如审计 Spring Boot 服务)加载参考并走完底部的完整清单;多栈应用(如 React+FastAPI)加载两份,因为前端与后端的安全关注点很少完全重叠(CSRF、CORS、认证令牌存储都在两者交界处)。

审查输出风格:按“[严重程度] <类别> — <文件>:<行> / What:一句话描述问题 / Why it matters:具体影响 / Fix:最小代码改动或框架指南中的模式引用”组织;严重程度分为 Critical(RCE、认证绕过、大规模数据暴露)、High(权限提升、IDOR、存储型 XSS)、Medium(反射型 XSS、状态变更上的 CSRF、信息泄露)、Low(缺少纵深防御、加固缺口)。不要用通过的检查凑篇幅,只列出错误、缺失与应对措施。

未覆盖语言/框架的处理:若用户使用的语言或框架不在列表中(如 Rust、Kotlin、Phoenix、Laravel、NestJS、Pulumi、CloudFormation),则应用最接近的类比并明确告知用户这是外推,需自行验证框架特有行为。近似对应:Rust ≈ C/C++(针对 unsafe 块/FFI),否则默认内存安全,聚焦 unsafe、加密 crate 使用与 Web 框架特性;Kotlin(JVM)≈ java-spring.md,同样的加密与序列化陷阱;NestJS ≈ typescript.md 语言层 + angular.md 式 DI/装饰器模式;Phoenix(Elixir)≈ ruby-on-rails.md;Laravel(PHP)≈ ruby-on-rails.md;Pulumi/CloudFormation/Bicep ≈ terraform.md。

限制:资料未提供该技能的安装命令、收费方式、价格、平台支持范围或实际效果评测,这些信息暂未提供。