tunahanaliozturk/secure-dotnet-skills

GitHub: tunahanaliozturk/secure-dotnet-skills

一套面向 AI 编程助手的 .NET / Azure 生产级开发技能集,为智能体提供涵盖安全、架构、性能、并发与可观测性的深度代码审查规则。

Stars: 1 | Forks: 0

# Azure 上的安全 .NET 技能 — Aegis 十二项判断技能,让编程智能体在**生产级、Azure 上的安全 .NET**开发工作中保持敏锐。这不是肤浅的清单,也不是死板的脚本——每项技能都引导智能体通过一个具体的、ASP.NET Core / Azure 专属的审查视角,涵盖安全性、设计、性能、并发性和可观测性,并点名具体的类型、特性、API 和配置项,确保每个发现都附带精确且可操作的修复方案。 ## 为什么需要 大多数“安全清单”仅仅停留在“验证输入”和“使用强加密”。它们是与语言无关的、表面层次的,根本无法磨炼智能体对 .NET 生态系统的判断力——例如 `IPasswordHasher` 与 `MD5` 的取舍、`FromSqlInterpolated` 与 `FromSqlRaw` 的区别、`DefaultAzureCredential` 与已提交的 `ClientSecret` 的对比。这些技能填补了这一空白:每一项都针对 .NET / Azure 的特殊性进行了审查,并提供了一个实践示例,展示了“之前”(真实的问题模式)和“之后”(精确的修复方案)。 ## 技能 ### 安全与机密 | 技能 | 适用场景… | |-------|-----------| | [dotnet-security-review](skills/dotnet-security-review/SKILL.md) | 审查 .NET / ASP.NET Core 服务、Pull Request 或 diff 中的安全问题——授权漏洞、注入、不安全的加密、机密泄露、不安全的反序列化——在合并或部署之前进行。 | | [threat-model-endpoint](skills/threat-model-endpoint/SKILL.md) | 对 ASP.NET Core 应用中的 API endpoint、功能或数据流进行威胁建模——在构建或发布之前枚举 STRIDE 威胁和具体的缓解措施。 | | [secrets-config-audit](skills/secrets-config-audit/SKILL.md) | 审计 .NET 应用的机密处理和配置安全性——硬编码的机密、源代码或 appsettings 中的机密、Azure Key Vault 的配置以及 managed-identity 的使用。 | | [azure-hardening-review](skills/azure-hardening-review/SKILL.md) | 审查 Azure 基础设施(Bicep、Terraform、ARM 或 App Service / Container Apps 配置)的加固情况——最小权限身份、网络暴露、Key Vault、加密和 TLS。 | | [auth-flow-review](skills/auth-flow-review/SKILL.md) | 审查 ASP.NET Core 应用中的身份验证和授权——JWT / OIDC / Entra ID 配置、token 验证以及 scope/role 强制执行。 | | [dependency-supplychain-check](skills/dependency-supplychain-check/SKILL.md) | 审查 .NET 项目的 NuGet 依赖项是否存在已知漏洞、废弃包、供应链卫生和版本固定规范——在合并依赖项更改之前或在定期的安全审计期间进行。 | ### 设计 | 技能 | 适用场景… | |-------|-----------| | [design-dotnet-feature](skills/design-dotnet-feature/SKILL.md) | 在 .NET 应用中设计新的后端功能——在编写代码之前塑造边界、分层(Clean Architecture / CQRS)、验证和错误处理。 | | [solid-review](skills/solid-review/SKILL.md) | 审查 C# / .NET 代码是否符合 SOLID 设计原则——单一职责、开闭原则、里氏替换、接口隔离、依赖反转——以发现耦合问题和具体的重构机会。 | ### 性能与并发 | 技能 | 适用场景… | |-------|-----------| | [dotnet-performance-review](skills/dotnet-performance-review/SKILL.md) | 审查 .NET 代码的性能——内存分配和 GC 压力、async/IO 误用、热点路径中的 LINQ、重复枚举、字符串处理、缓存和序列化。 | | [async-concurrency-review](skills/async-concurrency-review/SKILL.md) | 审查异步和并发的 .NET 代码——async/await 的正确性、死锁、cancellation 的传播以及共享状态的线程安全。 | | [ef-core-review](skills/ef-core-review/SKILL.md) | 审查 Entity Framework Core 的使用——针对性能(N+1、tracking、projections)、正确性(事务、并发)和安全性(原生 SQL 注入、数据库迁移)。 | ### 可观测性 | 技能 | 适用场景… | |-------|-----------| | [observability-review](skills/observability-review/SKILL.md) | 审查 .NET 应用中的日志、tracing 和 metrics——结构化日志、OpenTelemetry、correlation,以及避免在 telemetry 中泄露 PII / 机密。 | ## 安装 ### Claude Code ``` /plugin marketplace add tunahanaliozturk/secure-dotnet-skills /plugin install secure-dotnet-skills@secure-dotnet-skills ``` ### Codex Clone 该 repo,并将你需要的技能文件夹复制到 Codex 的 skills 目录中: ``` git clone https://github.com/tunahanaliozturk/secure-dotnet-skills.git cp -r secure-dotnet-skills/skills/dotnet-security-review ~/.codex/skills/ # 为你想要的每个 skill 重复此操作 ``` ### Cursor Clone 该 repo,并将 `SKILL.md` 文件作为项目规则导入。在 Cursor 中,打开 **Settings → Rules for AI** 并粘贴 `skills//SKILL.md` 的内容——或者在项目根目录中使用 `.cursor/rules/` 目录来配置特定项目的规则: ``` git clone https://github.com/tunahanaliozturk/secure-dotnet-skills.git mkdir -p .cursor/rules cp secure-dotnet-skills/skills/dotnet-security-review/SKILL.md .cursor/rules/dotnet-security-review.md # 为你想要的每个 skill 重复此操作 ``` ### Gemini CLI Clone 该 repo,并将你需要的技能文件夹复制到 Gemini 的 skills 目录中: ``` git clone https://github.com/tunahanaliozturk/secure-dotnet-skills.git cp -r secure-dotnet-skills/skills/dotnet-security-review ~/.gemini/skills/ # 为你想要的每个 skill 重复此操作 ``` `SKILL.md` 文件是开放标准的源文件:它们是带有 YAML frontmatter `description`(触发条件)和结构化主体的纯 markdown。任何支持技能/规则注入的工具都可以直接使用它们。 ## 理念 - **保留判断力。** 每项技能引导的是如何思考,而不是得出什么结论。步骤是编号的流程,而不是死板的脚本。智能体在严重程度、上下文和权衡方面保留酌处权。 - **可组合。** 仅安装你的项目所需的内容。一个类库项目只需要 `dotnet-security-review` 和 `solid-review`;一个全新的 Azure 服务则能从全部十二项技能中受益。各项技能互不依赖。 - **深度优于广度。** 每次检查都会指出具体的 .NET 类型、特性或配置项。泛泛的建议是缺陷,而不是功能。 ## 严重程度约定 审查技能使用四级评级:**Critical** = 可利用的安全问题或数据丢失风险;**High** = 将导致故障的不正确或脆弱行为;**Medium** = 可维护性或性能风险;**Low** = 代码润色和纵深防御。 ## 贡献 每项技能必须保持 .NET / Azure 的特殊性和具体性——泛泛的建议是主要的失败模式。新技能和更改必须通过 `skill-reviewer` 智能体检查,并在 `examples//README.md` 下提供一个实践示例。范围限定为 ASP.NET Core / .NET / Azure;其他技术栈不在范围内。 ## 许可证 MIT — 查看 [LICENSE](LICENSE)。
标签:AI编程助手, Azure, TLS抓取, 代码审查, 多人体追踪, 开发规范, 用户代理, 软件安全