Vibe Coding 合并冲突:AI 辅助对账而不丢双方语义
删除冲突标记只解决文本冲突,无法证明两边新增的权限、错误处理和测试仍然成立。本文让 AI 比较 base、ours、theirs 与各自意图,再由人类验收组合语义。
Vibe Coding、Cursor、Claude Code、Codex、Copilot
本专题收录 AI 编程 方向的文章和社区讨论,重点关注真实工程场景、工具选择、实践路径和风险边界。
页面会持续更新,适合作为学习路线、选型参考和技术复盘入口。
删除冲突标记只解决文本冲突,无法证明两边新增的权限、错误处理和测试仍然成立。本文让 AI 比较 base、ours、theirs 与各自意图,再由人类验收组合语义。
星数、下载量和最近发布都只是线索,不能证明一个版本安全可维护。本文建立精确包身份、维护活动、安全响应、兼容性与项目接管能力档案,并保留未知项。
仓库徽章、package.json 的 license 和有效签名都不能单独回答实际装了什么。本文对账 tarball、源码 revision、许可证文件、传递闭包、provenance 与 SBOM,并保留人工结论。
一个包在首次 import 前就可能通过 install、postinstall、prepare 或构建插件执行代码。本文从精确 tarball 枚举脚本与二进制,在无秘密、限网络环境试装,再按 allowlist 放行。
AI 遇到日期、校验或重试问题时很容易先安装一个包。本文从能力缺口、现有实现、最小探针、依赖闭包和长期责任建立准入证据,允许结论是不用依赖。
删除一行 import 和运行卸载命令不代表已经离开依赖。本文盘点运行、构建、类型、生成物、配置与数据耦合,用行为合同替换实现,再从干净环境证明包、残留和隐式下载归零。
上传文件、导入 URL 和读取路径最终都会让服务处理攻击者选择的资源。本文用统一资源状态机约束字节、位置、解析与归属,再分别验证文件、归档、路径、DNS 和重定向边界。
安全清单无法回答本次改动会让谁跨过哪条边界。本文把用户流程转成数据流、资产、攻击面和滥用用例,再将缓解措施绑定到代码、负向测试与剩余风险。
把 API Key 放进环境变量只解决了一个存放点。本文区分秘密与业务敏感数据,追踪它们经过构建、运行、日志、测试和 AI 上下文的路径,并用 canary、轮换与删除测试验收。
“已做输入校验”无法同时防住三种不同解释器。本文分别固定 SQL 参数/标识符、HTML 输出上下文与进程参数边界,再用结构化 canary 和安全变异证明输入始终只是数据。
一个 owner 成功读取自己的项目,不能证明其他人读不到。本文构造主体、动作、资源、租户与状态矩阵,并同时断言响应、数据、副作用、缓存和日志没有发生越权。
把整个仓库和一段“偶尔报错”交给 AI,只会换来假设洪水。本文用故障指纹、环境冻结和逐步删减构造最小复现,并规定何时不能继续简化。