andrej-karpathy-skills与代码安全:减少漏洞的方法

张开发
2026/4/9 23:34:12 15 分钟阅读

分享文章

andrej-karpathy-skills与代码安全:减少漏洞的方法
andrej-karpathy-skills与代码安全减少漏洞的方法【免费下载链接】andrej-karpathy-skills项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skillsandrej-karpathy-skills是一套基于Andrej Karpathy观察和经验总结的代码行为指南旨在通过规范开发流程和编码习惯来减少LLM在编写代码时常见的错误和漏洞。本文将详细介绍如何利用andrej-karpathy-skills的四大核心原则来提升代码安全性降低漏洞出现的可能性。1. 思考先行明确假设以避免安全隐患在编写代码之前充分思考和明确假设是避免安全漏洞的第一道防线。LLM常常会在未明确需求的情况下做出假设这可能导致安全问题。明确假设的重要性andrej-karpathy-skills强调在编码前要明确所有假设特别是涉及用户数据和权限的部分。例如当用户请求添加用户数据导出功能时LLM可能会默认导出所有用户数据包括敏感信息这就可能导致数据泄露漏洞。正确的做法是像skills/karpathy-guidelines/SKILL.md中建议的那样先列出所有假设并寻求澄清导出范围是所有用户还是特定用户组数据格式需要包含哪些字段是否有敏感信息需要排除访问权限谁有权执行导出操作通过明确这些假设可以避免因默认行为导致的安全漏洞。2. 简洁优先最小化代码以降低漏洞风险过度复杂的代码是漏洞的温床。andrej-karpathy-skills的简洁优先原则要求只编写解决当前问题所必需的代码避免不必要的功能和抽象。避免过度工程化LLM常常会过度设计解决方案引入不必要的复杂性。例如当需要一个简单的折扣计算功能时LLM可能会实现一个包含多种折扣策略的完整框架如EXAMPLES.md中展示的错误示例# 过度复杂的实现 class DiscountStrategy(ABC): abstractmethod def calculate(self, amount: float) - float: pass # 多种策略类...这种过度设计不仅增加了代码量还引入了更多潜在的安全漏洞。正确的做法是实现一个简单直接的函数def calculate_discount(amount: float, percent: float) - float: Calculate discount amount. percent should be 0-100. return amount * (percent / 100)简洁的代码更容易审计和维护从而减少安全漏洞的可能性。3. 精准修改最小化变更以降低风险在修改现有代码时andrej-karpathy-skills倡导精准修改原则即只修改与当前任务直接相关的代码避免附带的改进和重构。避免无关联修改LLM在修复bug时常常会进行超出必要范围的修改包括代码格式化、添加注释或重构不相关的功能。如EXAMPLES.md中的例子所示在修复电子邮件验证bug时LLM可能会同时修改用户名验证逻辑引入新的安全问题。正确的做法是只修改直接导致bug的代码行def validate_user(user_data): # Check email format - if not user_data.get(email): email user_data.get(email, ) if not email or not email.strip(): raise ValueError(Email required) # Basic email validation - if not in user_data[email]: if not in email: raise ValueError(Invalid email)这种精准的修改方式减少了意外引入新漏洞的风险。4. 目标驱动定义可验证的安全目标andrej-karpathy-skills的目标驱动原则强调将任务转化为可验证的目标特别是在处理安全相关功能时。安全功能的验证策略在实现安全功能时如身份验证或速率限制应该先定义明确的成功标准和验证方法。例如当修复密码更改后会话仍有效的安全漏洞时正确的做法是编写测试用例更改密码后验证旧会话失效实现会话失效功能验证测试通过检查边缘情况多个活动会话、并发更改等如README.md中所述这种方法将修复认证系统这样模糊的任务转化为一系列可验证的步骤确保安全功能真正按预期工作。总结andrej-karpathy-skills如何提升代码安全andrej-karpathy-skills通过四大原则帮助开发者减少代码漏洞思考先行明确假设避免不安全的默认行为简洁优先最小化代码减少潜在漏洞点精准修改限制变更范围降低引入新漏洞的风险目标驱动定义可验证的安全目标确保安全功能有效通过遵循这些原则开发者可以显著提高代码质量减少安全漏洞构建更可靠的软件系统。要开始使用andrej-karpathy-skills可以通过Claude Code插件安装或直接在项目中添加CLAUDE.md文件。记住良好的代码是能够简单解决当前问题的代码而不是过早考虑未来可能需求的复杂代码。这种理念不仅能提高开发效率还能从根本上减少安全漏洞的产生。【免费下载链接】andrej-karpathy-skills项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章