8作者: stelcodes10 个月前
我创建并开源了一个 Astro 开发者博客模板,其中包含一个交互式主题切换器,集成了 Shiki 代码高亮器提供的全部 60 个主题。更改主题会影响整个网站,包括代码示例和 Giscus 评论。 受到原始 Markdown 美学的启发,我想创建一个像 <a href="https://github.com/panr/hugo-theme-terminal">https://github.com/panr/hugo-theme-terminal</a> 这样的精美博客,但通过现代化的重新设计和 Astro 令人难以置信的功能进行增强。<p>功能:<p><pre><code> - 简单的配置文件 - 多种主题模式(单选、亮色/暗色/自动、选择) - Giscus 评论 - RSS 订阅 - SEO 最佳实践 + 社交卡片生成 - Markdown 扩展(目录、警示框、阅读时间等)</code></pre>
3作者: takuya_h10 个月前
我想在我的 Mac 上设计 agent 流程,并将其打包成一个小的二进制文件,部署到 Jetson/树莓派上。大语言模型在设备端运行(不依赖云端)。如果你尝试过这样做,首先遇到的限制是什么?欢迎分享你喜欢的工具或相关文章。
9作者: pzullo10 个月前
大家好,我是Pietro和Luigi,我们是mcp-use(<a href="https://github.com/mcp-use/mcp-use">https://github.com/mcp-use/mcp-use</a>)的作者。<p>当第一批MCP服务器问世时,我们对这项技术感到非常兴奋,但当我们想亲自动手时,却发现MCP只能通过Claude Desktop或Cursor使用。作为工程师,我们不喜欢这样。MCP看起来像是你想要用来自己构建产品和应用程序的东西,而不是隐藏在闭源应用程序后面的东西。<p>所以我们尝试了SDK,但对开发体验相当不满意(双重异步循环,大量样板代码)。我们决定编写mcp-use来让我们的生活更轻松。<p>mcp-use让你只需6行代码就能将任何LLM连接到任何MCP服务器。我们提供了官方MCP SDK的高级抽象,让你的生活更轻松,并支持该协议的所有功能。<p>演示视频在这里:<a href="https://www.youtube.com/watch?v=nL_B6LZAsp4" rel="nofollow">https://www.youtube.com/watch?v=nL_B6LZAsp4</a>。<p>我们提供的关键抽象被称为MCPClient和MCPAgent。<p>MCPClient接受一组服务器配置,自动检测传输类型,并创建一个后台任务,处理来自/到服务器的流。<p>MCPAgent是MCPClient、LLM和自定义系统提示的组合。它通过将工具、资源和提示转换为模型无关的工具来使用MCP客户端,这些工具可以被LLM调用。<p>该库还包含一些很酷的实用程序:<p>- 安全的沙盒执行MCP服务器(我们知道该协议在安全性方面并不出色)<p>- 元工具,允许代理搜索可用的服务器和工具(以避免上下文泛滥)并动态连接到它需要的服务器(你可以用它创建全能代理)。<p>我们用它做了一些很酷的事情:<p>- 编写了一个可以使用浏览器并创建/读取线性工单的代理,这些工单会根据互联网上的最新信息进行更新<p>- 编写了一个可以访问我们公司指标的代理,以自动创建每周报告。<p>- 我将一个代理连接到我黑客入侵了MCP的宜家窗帘上,以根据房间照明情况的图像来调整房间的照明。<p>- 重新创建了一个开源的类似Claude的代码CLI,具有完整的MCP功能,但带有自定义模型和BYOK(<a href="https://github.com/mcp-use/mcp-use-cli">https://github.com/mcp-use/mcp-use-cli</a>)。<p>我们最近的下载量超过了10万次,并且被许多组织使用,包括NASA!<p>我们很乐意听取你对它的看法,最重要的是我们如何改进它!我们很乐意回答任何问题,并期待你的评论。
11作者: jjjutla10 个月前
大家好,我是 Gecko Security 的联合创始人 JJ (<a href="https://www.gecko.security">https://www.gecko.security</a>)。我们正在构建一种新型的静态分析工具,它使用 LLM 来发现当前扫描器遗漏的复杂业务逻辑和多步骤漏洞。我们已经用它在 Ollama、Gradio 和 Ragflow 等项目中发现了 30 多个 CVE (<a href="https://www.gecko.security/research">https://www.gecko.security/research</a>)。你可以在任何 OSS 仓库上亲自试用它 (<a href="https://app.gecko.security">https://app.gecko.security</a>)。 任何使用过 SAST(静态应用程序安全测试)工具的人都知道,它们存在高误报率的问题,同时还会遗漏 AuthN/Z 绕过或权限提升等整个类别的漏洞。这种局限性是其核心架构造成的。SAST 工具的设计初衷是将代码解析成一个简化的模型,例如 AST 或调用图,这在动态类型语言或跨微服务边界时会迅速失去上下文,并且仅限于解析基本的调用链。在检测漏洞时,它们依赖于使用正则表达式或 YAML 规则进行模式匹配,这对于 XSS、SQLi 等基本技术类漏洞可能有效,但对于不符合已知模式且需要长序列相关操作才能达到可利用状态的逻辑缺陷来说,则不够充分。 我的联合创始人和我在国家情报部门和军队网络部队的职业生涯中都看到了这些局限性,我们构建了自动化工具来防御关键基础设施。我们意识到,LLM 只要有正确的架构,最终就能解决这些问题。 漏洞是上下文相关的。可利用性完全取决于每个应用程序的安全模型。我们意识到,准确的检测需要理解应该保护什么以及破坏它的重要性。这意味着将威胁建模直接嵌入到我们的分析中,而不是将其视为事后考虑。 为了实现这一点,我们首先必须解决代码解析问题。我们的解决方案是构建一个自定义的、编译器精确的索引器,其灵感来自于 GitHub 的堆栈图方法,以便像 IDE 一样精确地导航代码。我们基于 LSIF 方法 (<a href="https://lsif.dev/" rel="nofollow">https://lsif.dev/</a>),但用紧凑的 protobuf 模式替换了冗长的 JSON,以二进制格式序列化符号定义和引用。我们使用特定于语言的工具来解析和类型检查代码,发出 protobuf 消息序列,记录符号的位置、定义和引用信息。通过使用 Protobuf 的效率和强类型,我们可以生成更小的索引,同时保留检测复杂调用链所需的编译器精确的语义信息。 这就是为什么大多数使用 AST 解析的“SAST + LLM”工具会失败的原因——它们从传统解析器向 LLM 提供了不完整或不正确的代码信息,这使得很难准确地推断安全问题,因为缺少上下文。 通过我们的索引器提供准确的代码结构,我们使用 LLM 通过分析开发人员意图、数据和信任边界以及暴露的端点来生成潜在的攻击场景。这就是 LLM 倾向于产生幻觉的地方,它变成了一个突破性的功能。 对于生成的每个潜在攻击路径,我们都会执行系统搜索,查询索引器以收集所有必要的上下文并重建从源到汇的完整调用链。为了验证漏洞,我们使用蒙特卡罗树自精炼 (MCTSr) 算法和一个“获胜函数”来确定假设攻击可能成功的可能性。一旦发现的结果高于设定的实用阈值,就会被确认为真正的阳性。 使用这种方法,我们发现了 ONYX(一个 OSS 企业搜索平台)中的漏洞,例如 CVE-2025-51479,其中管理员可以修改任何组,而不仅仅是他们分配的组。用户组 API 有一个用户参数,应该检查权限,但从未被使用。Gecko 推断开发人员打算限制管理员访问权限,因为 UI 和类似的 API 函数正确地验证了此权限。这确立了“管理员权限范围有限”作为一个安全不变式,而这个特定的 API 违反了它。传统的 SAST 无法检测到这一点。任何标记未使用用户参数的规则都会让你淹没在误报中,因为许多函数会合法地保留未使用的参数。更重要的是,检测到这一点需要知道哪些函数处理授权,理解 ONYX 的管理员权限模型,并识别跨多个文件的验证模式——这是 SAST 根本无法做到的上下文推理。 我们有几家企业客户在使用 Gecko,因为它解决了他们无法使用传统 SAST 工具解决的问题。他们在相同的代码库上看到的误报减少了 50%,并且发现了以前只在手动渗透测试中出现的漏洞。 深入研究误报,没有静态分析工具能够实现完美的准确性,无论是 AI 还是其他。我们在两个关键点减少了误报。首先,我们的索引器消除了任何会创建不正确调用链的编程解析错误,而传统 AST 工具容易受到这种错误的影响。其次,我们通过提出具体的、上下文相关的问题,而不是开放式的问题,来避免不必要的 LLM 幻觉和推理错误。LLM 知道哪些安全不变式需要保持,并且可以根据上下文进行确定性评估。当我们标记某些内容时,手动审查很快,因为我们提供了完整的源到汇数据流分析,并附有概念验证代码,并根据置信度得分输出结果。 我们很乐意收到社区的任何反馈、未来方向的建议或在此领域的经验。我会在评论区回复!