ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ECC 安全规则体系:common-security 规则的强制检查清单、密钥管理与安全响应协议

ECC 安全规则体系:common-security 规则的强制检查清单、密钥管理与安全响应协议 ECC 安全规则体系common-security 规则的强制检查清单、密钥管理与安全响应协议【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECCECCThe agent harness performance optimization system将安全约束工程化为一套可直接被 AI Agent 加载的规则文件其中 .cursor/rules/common-security.md 是通用安全规则的核心它以alwaysApply: true的形式在每次会话中强制生效定义了提交前必须通过的八项安全检查、密钥管理纪律和安全问题响应协议。读完本文你能掌握这条规则的完整内容、它在 ECC 规则体系中的位置与分发机制以及规则背后所引用的security-reviewerAgent、/security-scan命令和语言级安全扩展的具体实现。规则文件的定位与加载机制common-security.md位于 ECC 的 Cursor 规则目录 .cursor/rules/ 下。该目录的组织方式是common-*前缀的规则适用于所有技术栈agents、coding-style、development-workflow、git-workflow、hooks、patterns、performance、security、testing 九个通用维度每种语言再叠加一套专属规则如typescript-security.md、python-security.md、golang-security.md、kotlin-security.md、swift-security.md、php-security.md。文件的 frontmatter 声明了它的加载策略--- description: Security: mandatory checks, secret management, response protocol alwaysApply: true ---alwaysApply: true意味着这条规则不受路径匹配paths字段限制会在任何文件编辑会话中被无条件注入到 Agent 上下文。这与语言专属安全规则形成对照——例如 rules/typescript/security.md 的 frontmatter 使用paths: [**/*.ts, **/*.tsx, **/*.js, **/*.jsx]按需触发。通用安全规则与语言规则的分工即由此确立通用规则管任何时候都必须做什么语言规则管某类文件还应注意什么。同一份内容在 rules/common/security.md 中还有一份对应版本供非 Cursor 环境Claude Code、Codex 等 harness复用。从源码结构看.cursor/rules/与rules/是同一规则体系在不同 harness 下的两份投影。提交前强制安全检查清单Mandatory Security Checks规则正文的第一节是提交前必须逐项核对的八项清单。原文要求Before ANY commit任何提交之前确认以下每一项均满足No hardcoded secrets (API keys, passwords, tokens) —— 无硬编码密钥API 密钥、密码、令牌All user inputs validated —— 所有用户输入已校验SQL injection prevention (parameterized queries) —— 已防 SQL 注入使用参数化查询XSS prevention (sanitized HTML) —— 已防 XSSHTML 已清洗/转义CSRF protection enabled —— 已启用 CSRF 保护Authentication/authorization verified —— 认证/授权已验证Rate limiting on all endpoints —— 所有端点已配置限流Error messages dont leak sensitive data —— 错误信息不泄露敏感数据这份清单覆盖面恰好对应 Web 应用的最高频漏洞面注入、跨站脚本、跨站请求伪造、认证授权缺陷、端点滥用和信息泄露。它不是建议而是门槛——规则将其定位为提交的先决条件。为了理解每一项在 ECC 落地时被怎样具体化可以看其引用的security-reviewerAgent 中的代码模式判级表见 agents/security-reviewer.md。该表把清单条目映射到可直接 grep/审查的具体代码模式与严重级别代码模式严重级别修复方式Hardcoded secrets硬编码密钥CRITICAL使用process.envShell command with user input用户输入拼接 Shell 命令CRITICAL使用安全 API 或execFileString-concatenated SQL字符串拼接 SQLCRITICAL参数化查询innerHTML userInputHIGH使用textContent或 DOMPurifyfetch(userProvidedUrl)HIGH域名白名单Plaintext password comparison明文比对密码CRITICAL使用bcrypt.compare()No auth check on route路由无认证检查CRITICAL添加认证中间件Balance check without lock无锁余额检查CRITICAL事务中使用FOR UPDATENo rate limiting无限流HIGH添加express-rate-limitLogging passwords/secrets日志记录密码/密钥MEDIUM清洗日志输出这张表回答了通用清单中输入校验SQL 注入限流错误信息泄露等条目在代码层面的判定标准例如清单中Rate limiting on all endpoints落到实现层就是无express-rate-limit或同类中间件判为 HIGHError messages dont leak sensitive data对应日志中出现密码/密钥判为 MEDIUM。密钥管理纪律Secret Management规则第二节给出四条密钥管理铁律NEVER在源码中硬编码任何密钥ALWAYS使用环境变量或密钥管理器secret manager在启动时校验必需密钥是否存在对任何可能已暴露的密钥进行轮换rotation第四点容易被忽视但在安全响应实践中是关键闭环一旦密钥进入过版本历史或日志改代码并不等于止血必须作废并重新签发。这一纪律在 ECC 的语言规则层有可直接复制的落地范式。rules/typescript/security.md 给出的 TypeScript 正反示例// NEVER: Hardcoded secrets const apiKey sk-proj-xxxxx // ALWAYS: Environment variables const apiKey process.env.API_KEY if (!apiKey) { throw new Error(API_KEY not configured) }注意示例的后半段——启动时校验startup validation不是存在就用、不存在再说而是显式快速失败fail fast密钥缺失时立即抛出带配置名提示的错误避免带着未配置的密钥状态进入运行期。安全响应协议Security Response Protocol规则第三节定义了发现安全问题时的五步协议原文步骤为STOP immediately—— 立即停止当前工作Use security-reviewer agent—— 调用security-reviewerAgentFix CRITICAL issues before continuing—— 先修复 CRITICAL 级问题再继续Rotate any exposed secrets—— 轮换所有已暴露的密钥Review entire codebase for similar issues—— 全库排查同类问题协议的设计逻辑是止血优先、批量排查第 2 步把单点发现升级为系统化审查第 4 步处理已外泄凭证第 5 步防止修了一个洞、同类漏洞还藏在别处。security-reviewer Agent 的实际职责协议中的security-reviewer并非占位符而是仓库中一个完整的 Agent 定义文件 agents/security-reviewer.md。其 frontmatter 声明了工具集Read, Grep, Glob, Bash与触发时机Security vulnerability detection and remediation specialist. Use PROACTIVELY after writing code that handles user input, authentication, API endpoints, or sensitive data.它的能力面包括OWASP Top 10 逐项核查agents/security-reviewer.md注入查询是否参数化、ORM 是否安全使用、认证失效密码是否 bcrypt/argon2 哈希、JWT 是否校验、敏感数据暴露HTTPS 是否强制、密钥是否在环境变量、日志是否清洗、XXE、访问控制失效、错误配置默认凭据、生产环境调试模式、XSS、不安全反序列化、已知依赖漏洞npm audit是否干净、日志不足。分析命令agents/security-reviewer.mdnpm audit --audit-levelhigh与npx eslint . --plugin security作为初始扫描手段。误报边界agents/security-reviewer.md.env.example中的环境变量、测试文件中标记清晰的测试凭据、意图公开的 API key、用作校验和而非密码的 SHA256/MD5——Always verify context before flagging标记前必须核实上下文。紧急响应agents/security-reviewer.md发现 CRITICAL 漏洞时出具详细报告、立即通知项目负责人、提供安全代码示例、验证修复生效、若凭证外泄则轮换密钥。触发时机agents/security-reviewer.md新 API 端点、认证代码变更、用户输入处理、数据库查询变更、文件上传、支付代码、外部 API 集成、依赖升级时 ALWAYS 执行生产事故、依赖 CVE、用户安全报告、重大版本发布前 IMMEDIATELY 执行。/security-scan 命令规则的可执行延伸规则要求提交前逐项检查ECC 同时提供了把检查自动化的命令入口 commands/security-scan.md。该命令运行 AgentShield 扫描器覆盖 agent、hook、MCP、权限与密钥五个表面surface用法为/security-scan [path] [--format text|json|markdown|html] [--min-severity low|medium|high|critical] [--fix]其底层优先调用打包的确定性扫描引擎commands/security-scan.mdnpx ecc-agentshield scan --path ${TARGET_PATH:-.} --format text该命令的输出契约与响应协议第 3、4、5 步严丝合缝按严重级别与运行时置信度分组统计、给出 CRITICAL/HIGH 发现的精确文件路径与修复步骤、区分可安全自动修复与需人工判断的项修复后要求重跑扫描并报告修复前后分数对比。它还可以在 CI 中以强制门禁方式接入commands/security-scan.md 给出的 GitHub Actions 片段配合min-severity: medium与fail-on-findings: true实现提交前检查的机器化执行。规则的分发从 .cursor/rules 到其他 harnesscommon-security.md不只服务 Cursor。同步脚本 scripts/sync-ecc-to-codex.sh 在把 ECC 资产同步到本地 Codex CLI 环境时会把 .cursor/rules/ 下的九个common-*规则打包为一个规则包提示文件ecc-rules-pack-common.md其中明确列出common-security.md并要求Treat these as strict defaults for planning, implementation, review, and verification in this repo将其作为本仓库计划、实现、评审与验证的严格默认scripts/sync-ecc-to-codex.sh。同时该脚本还会生成一个ecc-tool-security-audit工具提示scripts/sync-ecc-to-codex.sh其审计步骤——依赖漏洞扫描、高信号密钥扫描OpenAI keys、GitHub tokens、AWS keys、私钥、风险代码模式扫描eval(、dangerouslySetInnerHTML、未清洗的innerHTML、SQL 字符串插值——正是通用安全清单的可执行版本。也就是说alwaysApply: true的通用安全规则在 ECC 生态中既是被 Agent 常驻阅读的规范也是被同步脚本分发给不同 harness 的策略基线还是被扫描工具周期性校验的验收标准。小结三层落地的通用安全规则把 common-security.md 放回 ECC 的规则体系中可以看到通用安全规则由三层机制共同保证执行规范层alwaysApply: true的八项提交前清单、四条密钥铁律、五步响应协议随每次会话注入 Agent 上下文执行层security-reviewerAgent 提供 OWASP Top 10 核查流程、代码模式判级表和误报边界/security-scan命令提供 AgentShield 确定性扫描与 CI 门禁分发层rules/common/security.md的同源副本与 scripts/sync-ecc-to-codex.sh 的规则包机制把同一套安全策略铺开到 Cursor、Claude Code、Codex 等多 harness 环境。这套结构对开发者工程实践的直接启示是把安全清单从文档里的建议变成Agent 会话的常驻约束 工具链的可验证门禁是低成本提高安全下限的可行路径。【免费下载链接】ECCThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.项目地址: https://gitcode.com/GitHub_Trending/ev/ECC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表