WooYun Legacy:八万个真实漏洞,能教会AI什么

有人把乌云网2010到2016年间收录的88636个真实漏洞案例,整理成了一个Claude Code的技能包。装上之后,AI就能像资深安全专家一样思考问题。

这个数字值得细品。将近九万个漏洞,意味着九万次真实的攻防对抗,九万个血淋淋的教训。

知识库的规模相当可观,86MB的数据量,大约200万行内容,覆盖15种漏洞类型。从分布来看,SQL注入占了27%,命令执行19%,XSS跨站脚本11%,未授权访问和弱口令各占8%。

这组数据本身就是一份珍贵的行业切片。它告诉我们,在那个年代,最常见的安全问题是什么,攻击者最喜欢从哪里下手。

有句话说得好,历史不会重复,但会押韵。今天的安全问题换了马甲,底层逻辑往往还是那些老问题。

这个项目真正有价值的地方在于,它把散落的经验变成了可复用的知识。过去,一个安全工程师要成长,得靠师傅带,靠自己踩坑,靠在实战中慢慢积累。现在,这些经验可以被结构化、被传承、被AI学习。

当然,项目方也特别强调,这些知识仅供安全研究、教育培训和授权测试使用。技术本身是中性的,关键看握在谁手里,用在什么地方。

项目最后写了一句话,致敬乌云和那个时代的白帽子们。

确实值得致敬。那是中国互联网安全的黄金年代,一群理想主义者用自己的方式守护着网络世界。他们留下的不只是漏洞报告,更是一种精神遗产。

现在,这份遗产有了新的载体。
让AI从“聪明实习生”变成“500美元时薪顾问”的秘密 | 帖子

你有没有这样的经历:让AI扮演专家,结果得到的回答泛泛而谈,像极了刚入职的实习生在敷衍你?

问题出在哪?一位提示词研究者做了个有意思的实验。他在Claude、GPT-4和Gemini上测试了47种不同的角色设定,发现了一个惊人的差距:模糊的角色设定只能达到60%的输出质量,而精确的角色设定能飙升到94%。

这34个百分点的差距,藏着什么门道?

先看看大多数人怎么写提示词的:“请扮演一位营销专家,帮我策划一个活动。”

这句话的问题在于,AI完全不知道你要的是哪种专家。是做B端还是C端?数字营销还是传统营销?服务初创公司还是大企业?靠数据驱动还是创意优先?

信息模糊进去,答案自然模糊出来。

那什么才是有效的角色设定?这位研究者总结出五个核心要素:

第一,明确角色和资历层级。别说“扮演一个开发者”,要说“扮演一位专注分布式系统8年的高级后端工程师”。资历层级会改变决策模式,一个初级工程师和一个技术总监,思考问题的方式完全不同。

第二,给出行业和领域背景。同样是产品经理,做消费品的想的是病毒式增长,做企业服务的想的是合规和安全。不同的土壤,长出不同的果实。

第三,指定使用的方法论。“帮我分析数据”太空泛,“用JTBD框架做用户研究,用多变量测试验证,呈现95%置信度的统计结果”才是专家的思维方式。没有框架,分析就是随机漫步;有了框架,洞察才有章法。

第四,设定约束条件。这是最容易被忽略却最关键的一环。加上“预算5万美元,周期6周,团队只有3个初级开发者,优先交付而非完美”这样的限制,AI才会给出现实世界里真正能落地的方案。没有约束的建议,往往是正确的废话。

第五,规定输出格式。专家不仅思考方式不同,表达方式也有讲究。别说“给我你的分析”,要说“提供一份两页的高管简报,包含现状评估、三个战略选项及其利弊、推荐路径和成功指标”。格式本身就是专业度的信号。

这五个要素组合起来,就是一个完整的角色模板:你是一位在某行业有多少年经验的某职位,专长是什么,使用什么方法论,面临什么约束,需要交付什么格式的成果。

研究者还发现一个提升准确率的妙招:加一句“如果信息不足以给出完整答案,请先提出澄清问题”。这一句话让准确率从78%跳到了96%。道理很简单,真正的专家会追问,只有半吊子才假装什么都懂。

最后分享三个常见的坑:角色太模糊,“专家”两个字等于什么都没说;角色太多,让AI同时扮演开发者、营销人和设计师,结果哪个都不像;约束自相矛盾,“你是个创业者但预算无限”,这种设定会让AI的输出脱离现实。

一个清晰的角色,胜过一群模糊的专家。

建议你花点时间,针对自己常用的场景,建立一个角色库。每个角色花15分钟配置好,以后直接复制粘贴微调即可。这个小投入,能让你和AI的对话质量发生质变。
那些让你惊叹的AI Agent,99%都是假的 | 帖子

最近Google放出了一份64页的内部技术手册,直接戳破了AI Agent领域最大的泡沫。

当整个科技圈都在吹捧“自主AI员工”的时候,真相是:你上周看到的那个创业公司演示的Agent,本质上就是几个API调用加上漂亮的提示词。这根本不是Agent,只是昂贵的ChatGPT外壳。

Google提出了一个新概念叫“AgentOps”,类似于机器学习领域的MLOps,但专门针对Agent。包括评估框架、监控面板、CI/CD流水线、基础设施配置。和“拼几个提示词就上线”完全是两个世界。

真正的Agent需要通过四层评估检验:

第一层是组件检查,看它是否每次都能调用正确的API。第二层是逻辑检查,看你能否追溯它的推理过程。第三层是质量检查,看输出结果是否真的有效。第四层是安全检查,看它能否被越狱攻击。

现实是,大多数Agent连第一层都过不了。

安全问题更值得警惕。当你给Agent数据库访问权限时,你实际上是把整个公司的钥匙交给了它。提示词注入、数据泄露、静默失败,这些风险被大多数团队当作事后才考虑的问题。

演示和生产环境的差距是巨大的。演示在沙盒里运行,输入完美可控。生产环境面对的是边缘情况、愤怒的用户、凌晨三点宕机的系统。

那个在圈内传开的47000美元失控循环事故就是血淋淋的教训。Token爆炸、静默递归、零监控,这就是没有监控就部署的代价。

演示优化的是惊艳效果,生产优化的是可靠性。这两者之间隔着一条鸿沟。

Google押注的是基础设施,而不是噱头。当创业公司还在烧钱做Agent玩具的时候,Google正在铺设所有人最终都需要的轨道。

如果你在构建Agent时没有评估框架、没有监控、没有可靠性设计模式,那你构建的就不是Agent。

Agent经济不会真正到来,直到我们停止把这件事当作提示词工程来对待。最先想明白这一点的公司,将主导下一个十年。
以前发过这东西,又好像没发过 | 殆知阁

这个网站的作者好像不更新了(?),地址有时候会换或者打不开
一个自动下载媒体素材的skill:智能媒体下载器 | #工具

根据你的描述自动搜索和下载图片、视频片段,支持视频自动剪辑。配合其他skill可以实现自动生成视频等功能。
从零构建一个微型vLLM:深入探究大语言模型推理优化 | github

这篇文章用“从零做一个迷你 vLLM”的方式,解释高性能大模型推理引擎在工程上到底优化了什么。作者实现了一个教学向的最小版本 nano-vllm,把 vLLM 常见的关键技术拆开讲清楚,并给出模块化代码结构,方便读者对照理解。
Anthropic黑客马拉松冠军开源了他的全套Claude Code配置 | 开源地址

Claude Code发布快一年了,很多人还在摸索怎么用好它。最近Affaan开源了一个非常实用的配置合集,他是Anthropic黑客马拉松的冠军得主,用Claude Code从零构建了zenith.chat这个产品。

这套配置是他10个多月密集使用的结晶,包含了生产级别的agents、skills、hooks、commands和MCP配置。

先说几个有价值的部分:

关于Token优化,很多人不知道同时启用太多MCP会严重压缩上下文窗口。200k的窗口可能直接缩水到70k。他给的建议是配置二三十个MCP,但每个项目只启用不超过10个,保持工具数量在80以下。

关于Memory Persistence,这是一个非常聪明的设计。通过hooks在session开始时自动加载上下文,结束时自动保存状态。这解决了Claude Code会话之间记忆断裂的问题。

他设计了一套完整的Agents体系,每个都有明确的职责边界:planner负责规划,architect负责架构决策,code-reviewer做质量审查,还有专门的安全审查、构建错误修复、端到端测试等等。这种分工让Claude Code的输出更加专业和可控。

Skills部分覆盖了前后端开发的主要模式,包括React和Next.js的最佳实践、API设计、数据库和缓存模式、TDD工作流等。还有一个continuous-learning的skill,可以从session中自动提取模式形成可复用的知识。

Hooks的设计也很巧妙。比如有一个hook会在你编辑代码时自动检测console.log并发出警告。这种小细节能帮助养成更好的编码习惯。

安装方式很灵活,可以作为plugin一键安装,也可以手动复制需要的组件。他还贴心地把所有脚本用Node.js重写了,全面支持Windows、macOS和Linux。

最后他强调了一点:这些配置是他个人工作流的产物。建议从你认同的部分开始,根据自己的技术栈调整,删掉不需要的,加入自己的模式。
2026届应届生系统设计路线图:8周从零到面试就绪 | 文章

系统设计正在成为区分工程师和程序员的分水岭。对于即将踏入职场的应届生来说,这已经不再是可选项,而是必修课。

首先说清楚什么是系统设计。简单理解,写代码是给一个小程序写指令,而系统设计是规划如何让数百万用户流畅、可靠、快速地使用你的应用,即便某个部分出了故障也能正常运转。它像给一栋大楼画蓝图,你需要决定系统需要哪些组件、这些组件如何连接和通信、如何应对海量用户和服务器崩溃等现实挑战。

为什么应届生必须学这个?Google、Amazon这类产品公司在校招时已经开始考察系统设计,他们想看到你能进行全局思考,而不仅仅是写出局部代码。就连TCS、Infosys这类服务型公司,现在也会问一些基础的低层设计或简单的扩展性问题。好消息是,应届生面对的题目通常比较简单,比如设计短链接服务、停车场系统、限流器、电梯或基础的社交媒体动态,不会让你设计整个Netflix后端。面试官关注的是你的逻辑思维能力、做权衡的能力以及清晰表达想法的能力。

系统设计分两大类。高层设计关注宏观架构,描述主要组件如何连接;低层设计关注细节实现,包括类、方法和设计模式。以WhatsApp为例,高层设计考虑用户发消息到API服务器再到消息队列最后送达朋友手机的完整链路,低层设计则考虑如何设计Chat类以及它的发送和接收方法。

掌握正确的思维方式至关重要。系统设计没有标准答案,面试官真正在意的是你的推理过程和权衡取舍。每次设计都应该遵循这个流程:澄清需求、估算规模、画出高层架构、深入细节、讨论权衡。画图是成功的一半,建议使用Draw.io或Excalidraw这类免费工具。

接下来是8周学习计划。第一周掌握基础概念和面试方法论,理解功能性需求与非功能性需求的区别,搞懂CAP定理,银行系统偏向一致性,社交媒体偏向可用性。第二周学习扩展性和网络基础,包括水平扩展与垂直扩展、负载均衡、CDN等。第三周深入数据库存储,理解SQL和NoSQL各自的适用场景、ACID与BASE的区别、分片和复制策略。第四周攻克缓存和消息队列,掌握不同缓存策略以及Kafka、RabbitMQ的基本用法。第五周学习API设计和微服务架构,了解REST、gRPC、GraphQL的差异,关注AI和大语言模型API集成这类新趋势。第六周专注低层设计,牢记SOLID原则,练习停车场、电梯、图书馆等经典题目。第七周学习高可用模式和监控,包括熔断器、重试机制以及Kubernetes基础。第八周进入实战演练,练习URL短链接、限流器、社交媒体时间线等经典问题,配合模拟面试。

几个实用建议。每天投入4到6小时,自己动手画架构图,录制自己讲解设计的过程控制在45分钟内,在GitHub上实现3到5个设计方案形成作品集,争取完成8到10次模拟面试。亚马逊面试偏重低层设计,Google偏重高层设计基础,校招外的社招高峰期通常在2月到5月。

学习资源方面,Gaurav Sen的YouTube播放列表非常适合入门,GitHub上的system-design-primer项目涵盖了所有核心概念,GeeksforGeeks和roadmap.sh提供了清晰的知识图谱。

系统设计的核心不在于背诵标准答案,而在于理解权衡并像工程师一样思考问题。
Claude写代码很强,但有个致命短板 | 帖子

Claude在编程方面确实非常出色,跟普通大模型相比简直是降维打击。但有一个问题值得所有使用者注意:它是“近视眼”。

因为它从来看不到完整的代码全貌,只能通过grep搜索找到相关代码片段。一旦grep返回了跟bug描述相似的代码片段,它往往就不再深入探索了,直接在不相关的地方“修复”问题,或者基于这些碎片化的信息来回答问题。

随着代码库不断膨胀,这个问题会越来越严重。如果使用者自己不了解代码结构,Claude就会不断重复造轮子,在应用的不同位置为相同功能创建重复实现。

有个真实案例很能说明问题:有人让Claude给一个按钮添加键盘快捷键,结果它复制了整个处理逻辑而不是调用已有的按钮处理函数。后来修改功能时,按钮和快捷键的行为就出现了不一致。

社区里已经有不少人在探索解决方案:

第一种是让Claude先绘制代码架构地图,包括主要子系统、职责划分、共享服务、容易重复的区域等,然后要求它每次操作前都参考这张地图并持续更新。

第二种是用CLAUDE.md文件预先定义项目结构、关键模式、哪些东西不能重复实现。

第三种是建立完整的文档体系,用Mermaid图表展示整个应用的连接关系,在每个主要模块下都放置readme文件,再配合文档更新工具来维护。

还有开发者分享了自己的做法:定期安排“停下来清理”的时间,专门检查文档、更新文档、合并重复代码。

有人提出了一个更根本的观察:这不仅仅是上下文窗口的问题,模型本身就被训练成“找到相关内容就停止搜索”的行为模式。

这个讨论揭示了一个重要认知:AI写代码很强,但绝不意味着人可以完全放手。架构思维和全局视野仍然需要人来把控。代码库越大,使用者对整体结构的理解就越关键。

说到底,当前最有效的方法还是建立一套外部记忆系统,让模型在每个重要步骤都能参考和更新,弥补它在长期记忆上的不足。
如何真正读懂一篇研究论文 | 帖子

研究论文不是教科书,它们是面向专家的压缩论证。如果你像读博客一样去读论文,几乎必然会误解其中的内容。

首先要搞清楚一篇论文究竟在做什么。大多数论文无非是以下四类之一:更精确地定义问题、提出新方法、分析现有方案的失败或局限、对已有方法做增量改进。真正具有革命性的论文少之又少。如果你总期待看到颠覆性突破,反而会错过论文真正的贡献。

读论文的正确姿势是打乱顺序读。线性阅读效率太低。建议按这个顺序:摘要看论点和范围,图表看实际变化,结论看作者认为什么重要,引言看背景和框架,方法部分放到最后。这样做是为了在接触细节之前先搭建好心智框架。

尽早识别核心贡献。问自己一个问题:相比前人的工作,这篇论文改变了什么?可能是一个新假设、一个新目标、一种简化方案,或者一个更好的权衡取舍。如果你没法用一句话说清楚这个变化,就继续读,直到能说清楚为止。

要把假设和结果分开看。大多数论文之所以有效,是因为它们建立在特定假设之上。仔细寻找数据条件、简化处理、约束条件和理想化模型,然后问自己:这东西离开实验室还能用吗?这一步能避免盲目照搬。

把公式当作契约来读。公式定义了研究与现实之间的约定。对于每个关键公式,搞清楚每个项代表什么、忽略了什么、如果这个项出错会导致什么问题。不需要推导每一步,但要推导那条关键路径。

带着怀疑的眼光读实验部分。图表很有说服力,但细节才重要。检查基线设置、选择的指标、超参数配置和失败案例。没有展示失败案例本身就是一个信号。

把论文纳入你的知识图谱。一篇论文应该能连接到你已经知道的东西上。明确地把它和之前的方法、已知的局限性、其他表述方式、其他领域关联起来。孤立的理解会很快遗忘。

在合适的时候果断停止阅读。不是每篇论文都需要完全理解。当你已经理解了核心想法、知道它的位置、知道它什么时候会失效,就可以停下来了。深度理解可以等到真正需要的时候再来。

把阅读转化为输出。单纯的阅读是被动的。做以下任意一件事:用简单的话重新表述想法、画出算法草图、实现一个简化版本、向别人解释一遍。输出会揭示你到底理解了多少。

最后一条原则:不要问自己“我理解这篇论文了吗”,而是问“我能解释它为什么有效、什么时候会失败、我会不会用它吗”。

能回答这个问题,才算真正读懂了。
先睡了,太困了
Everything Claude Code:一个由 Anthropic 黑客松获奖者创建的 Claude Code 配置全集,经过 10 多个月的高强度日常使用,专为构建真实产品而优化,包含生产级可用的智能体(agents)、技能(skills)、钩子(hooks)、命令、规则和 MCP 配置。
Technovelgy,一个考据网站

记录了超过2000个科幻创意和发明创造以及超过4300种科幻作品系列的基本资料,将不同类型科幻概念的作品按字母和时间分类汇总,也就是说大家可以用它来查询某一个科幻概念最早出现在什么作品里,有些还挺让人意外的。
零成本本地运行Claude Code:一份完整的隐私编程助手搭建指南
最近开发者圈子里流传着一个有趣的玩法:用本地开源模型驱动Claude Code,实现完全离线、零API费用的AI编程助手。| 帖子

先说清楚一点:这套方案用的是Claude Code的工具链和交互框架,底层跑的是本地开源模型,并非Anthropic的Claude模型本身。但这恰恰是它的价值所在,你获得了一个能读写文件、执行终端命令、理解项目上下文的本地AI代理,数据完全不出本机。

整个搭建过程分四步:

第一步,安装Ollama作为本地模型引擎。Ollama负责托管AI模型并支持工具调用,安装后在后台静默运行。模型选择上,高配机器可以拉qwen3-coder:30b,普通配置用qwen2.5-coder:7b或gemma:2b也能跑。终端执行ollama run加模型名即可下载。

第二步,安装Claude Code本体。Mac和Linux用curl命令,Windows用irm命令,一行搞定。安装完用claude --version验证。如果之前登录过Anthropic账号,需要先登出。

第三步是关键,把Claude指向本地。默认情况下Claude会连Anthropic服务器,需要手动重定向。设置三个环境变量:ANTHROPIC_BASE_URL指向localhost:11434,ANTHROPIC_AUTH_TOKEN随便填个值比如ollama,再加上CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1关闭遥测。

第四步,进入任意项目目录,用claude --model加模型名启动,就能开始干活了。

评论区有些争议值得关注。有人质疑本地模型不支持工具调用,作者明确回应:支持。也有人反馈配置后无法创建文件,作者建议确保上下文长度超过32k,并尝试不同模型。还有人指出qwen3-coder:30b相比顶级闭源模型仍有差距,gemma:2b作为代理几乎不可用,而且要跑得流畅需要不错的硬件。

这套方案的真正意义在于提供了一种可能性:当你需要处理敏感代码、受限于网络环境、或者单纯想省钱时,本地AI代理是个可行选项。它不会取代云端大模型的能力上限,但在特定场景下足够实用。

至于什么时候能本地跑Opus 4.5?正如作者调侃的,得先问问Anthropic什么时候开源。
Google Research 最新研究揭示了一个简单到令人意外的技巧:在不启用推理模式时,把你的提示词原封不动重复一遍,大模型的表现就能显著提升。| Paper

这背后的原理其实很直观。大语言模型本质上是因果语言模型,每个 token 只能“看到”它前面的内容。这意味着当你问“先给背景,再提问题”和“先提问题,再给背景”时,模型的理解深度是不同的。重复提示词相当于让每个 token 都有机会“看到”完整的上下文,弥补了单向注意力的先天缺陷。

研究团队在 Gemini、GPT、Claude、Deepseek 等七个主流模型上进行了测试,覆盖 ARC、GSM8K、MMLU-Pro 等多个基准。结果相当惊人:70 组测试中,提示词重复赢了 47 次,输了 0 次。

更妙的是,这个方法几乎没有代价。重复发生在可并行化的预填充阶段,生成的 token 数量和延迟都不会增加。输出格式也完全不变,可以直接无缝替换现有系统。

一个有趣的观察是:那些经过强化学习训练的推理模型,往往会自发学会在思考过程中重复用户的问题。提示词重复技术本质上是把这个“好习惯”前置到了输入阶段,用更高效的方式实现了类似效果。

研究还测试了几个变体。比如重复三次,在某些任务上效果更好。而单纯用句号填充到相同长度则毫无作用,证明提升确实来自语义重复本身。

当启用“逐步思考”等推理模式时,提示词重复的效果变得中性到略正面。这也符合预期,因为推理过程本身就包含了对问题的复述。

这项研究给我们的启示是:有时候最简单的方法反而最有效。在追求复杂提示工程技巧之前,不妨先试试这个零成本的小技巧。对于那些对延迟敏感、不适合开启推理模式的场景,提示词重复可能是一个值得尝试的默认策略。

论文还列出了十几个未来研究方向,包括只重复部分提示词、用小模型重排序、探索多轮对话场景等。这个看似简单的发现,或许能打开一扇理解 Transformer 注意力机制的新窗口。
Back to Top