mcpField
1
124-java-secure-coding

124-java-secure-coding

github.com/jabrena安全456467 次安装1 天前更新
代码仓库

关于 124-java-secure-coding

面向 Java 项目的安全编码技能,指导审查和加固常见漏洞。提供分领域的正反代码示例,并要求修改前编译、修改后完整验证。

主要功能

  1. 01输入验证与注入防护
  2. 02密码学与密钥管理
  3. 03安全异常处理与输出编码
  4. 04反序列化防护
  5. 05编译后修改并完整验证

适用场景

  1. 01审查 Java 输入验证和注入风险
  2. 02改进服务中的异常处理
  3. 03加固密码、密钥和反序列化处理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jabrena/plinth --skill 124-java-secure-coding

安装后在 Claude Code 中输入/124-java-secure-coding确认已加载。

附带文件references/124-java-secure-coding.md

详细介绍

Java 安全编码指南

识别并应用 Java 安全编码实践,以减少漏洞、保护敏感数据,并强化应用行为,抵御常见攻击手段。

本技能涵盖哪些内容?

  • 输入验证:类型、长度、格式和范围检查
  • 通过 PreparedStatement 和参数化 API 防御 SQL/OS/LDAP 注入
  • 尽量缩小攻击面:遵循最小权限原则,移除未使用的功能
  • 强加密:使用 BCrypt/Argon2 处理密码,使用 AES-GCM 加密,使用数字签名;避免使用已弃用的密码算法(MD5、SHA-1、DES)
  • 安全的异常处理:在内部记录诊断详情,仅向客户端显示通用消息
  • 密钥管理:从环境变量或密钥管理器中加载凭据——绝不硬编码
  • 安全反序列化:严格使用允许列表,优先使用显式 DTO,而非 Java 原生序列化
  • 对输出进行编码,防止渲染内容中的 XSS

范围: 参考文档按示例(良好/不良代码模式)组织,涵盖各个核心领域。根据适用示例应用建议。

约束

应用任何安全编码更改之前,请确保项目可以编译。如果编译失败,请立即停止——解决问题之前不要继续。完成改进后,运行完整验证。

  • 强制要求:应用任何更改之前,运行 ./mvnw compile 或 mvn compile
  • 安全要求:如果编译失败,请立即停止——项目恢复到有效状态之前不要继续
  • 验证:应用改进后,运行 ./mvnw clean verify 或 mvn clean verify
  • 应用前:阅读参考文档,了解每种安全编码模式的详细正反示例、约束和防护措施

何时使用此技能

  • 审查 Java 代码的安全编码情况
  • 查找 Java 代码中的输入验证风险
  • 审查 Java 代码中的注入漏洞
  • 改进 Java 服务的安全错误处理
  • 强化 Java 代码,抵御常见安全缺陷

工作流

  1. 在进行安全编码更改之前编译项目

运行 ./mvnw compile 或 mvn compile;如果编译失败,请立即停止。

  1. 阅读安全编码参考文档并评估风险

阅读 references/124-java-secure-coding.md,识别适用的漏洞和加固机会。

  1. 应用安全编码改进

针对输入验证、加密、密钥、反序列化和输出编码,实施选定的防护措施。

  1. 通过完整构建进行验证

应用改进后,运行 ./mvnw clean verify 或 mvn clean verify。

参考资料

详细指南、示例和约束请参阅 references/124-java-secure-coding.md。

评论

支持 Markdown