3作者: takuya_h大约 2 个月前原帖
我想在我的Mac上设计代理流程,并将一个小型的二进制文件发送到Jetson/RPi。大型语言模型(LLMs)在设备上运行(不使用云端)。如果你尝试过这个,最先遇到的限制是什么?欢迎推荐你喜欢的工具或相关的文章。
9作者: pzullo大约 2 个月前原帖
嗨,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>- 我将一个代理连接到我在 IKEA 窗帘上黑客攻击的 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>我们最近的下载量超过了 100,000 次,许多组织,包括 NASA,都在使用我们的工具! <p>我们很想听听你们的想法,最重要的是我们如何改进它!我们乐意回答任何问题,并期待你们的反馈。
11作者: jjjutla大约 2 个月前原帖
大家好,我是JJ,Gecko Security的联合创始人([https://www.gecko.security](https://www.gecko.security))。我们正在构建一种新型的静态分析工具,利用大型语言模型(LLMs)来发现当前扫描器遗漏的复杂业务逻辑和多步骤漏洞。我们已经在Ollama、Gradio和Ragflow等项目中发现了30多个CVE(公共漏洞和暴露)记录([https://www.gecko.security/research](https://www.gecko.security/research))。您可以在任何开源软件(OSS)代码库上亲自试用([https://app.gecko.security](https://app.gecko.security))。 任何使用过静态应用程序安全测试(SAST)工具的人都知道,它们存在高假阳性率的问题,同时也会漏掉像身份验证绕过或权限提升等整个类别的漏洞。这一限制源于其核心架构。SAST工具的设计是将代码解析为简单的模型,如抽象语法树(AST)或调用图,这在动态类型语言或微服务边界中很快失去上下文,并且仅限于解析基本的调用链。在检测漏洞时,它们依赖于正则表达式或YAML规则进行模式匹配,这对于基本的技术类漏洞(如XSS、SQL注入)可能有效,但对于不符合已知模式的逻辑缺陷,以及需要长序列依赖操作才能达到可利用状态的漏洞则显得不足。 我和我的联合创始人在国家情报和军事网络部队的职业生涯中看到了这些限制,我们在其中构建了自动化工具来保护关键基础设施。我们意识到,具有正确架构的LLMs可以最终解决这些问题。 漏洞是有上下文的。可利用性完全依赖于每个应用程序的安全模型。我们意识到,准确的检测需要理解什么是应该被保护的,以及破坏它的原因。这意味着将威胁建模直接嵌入我们的分析中,而不是将其视为事后考虑。 为了实现这一目标,我们首先必须解决代码解析问题。我们的解决方案是构建一个自定义的、编译器精确的索引器,灵感来自GitHub的堆栈图方法,以精确导航代码,类似于集成开发环境(IDE)。我们基于LSIF方法([https://lsif.dev/](https://lsif.dev/)),但用紧凑的protobuf模式替代冗长的JSON,以二进制格式序列化符号定义和引用。我们使用特定语言的工具来解析和类型检查代码,生成一系列Protobuf消息,记录符号的位置、定义和引用信息。通过使用Protobuf的高效性和强类型特性,我们可以生成更小的索引,同时保留检测复杂调用链所需的编译器精确语义信息。 这就是为什么大多数使用AST解析的“SAST + LLM”工具失败的原因——它们向LLMs提供了来自传统解析器的不完整或不正确的代码信息,使得在缺乏上下文的情况下很难准确推理安全问题。 通过我们的索引器提供准确的代码结构,我们使用LLM进行威胁建模,分析开发者意图、数据和信任边界以及暴露的端点,以生成潜在攻击场景。这正是LLMs倾向于产生幻觉的特性成为突破性功能的地方。 对于每个生成的潜在攻击路径,我们进行系统搜索,查询索引器以收集所有必要的上下文,并重建从源到汇的完整调用链。为了验证漏洞,我们使用蒙特卡洛树自我优化(MCTSr)算法和“胜利函数”来确定假设攻击成功的可能性。一旦发现的结果超过设定的实用性阈值,就确认其为真正的阳性。 通过这种方法,我们发现了像CVE-2025-51479这样的漏洞,该漏洞出现在ONYX(一个开源企业搜索平台)中,策展人可以修改任何组,而不仅仅是他们被分配的组。用户组API有一个用户参数应该检查权限,但从未使用它。Gecko推断开发者意图限制策展人的访问,因为用户界面和类似的API函数都正确验证了该权限。这确立了“策展人具有有限范围”作为一个安全不变式,而这个特定API违反了这一点。传统SAST无法检测到这一点。任何标记未使用用户参数的规则都会淹没在假阳性中,因为许多函数合法地保留未使用的参数。更重要的是,检测这一点需要知道哪些函数处理授权,理解ONYX的策展人权限模型,并识别多个文件中的验证模式——这是SAST根本无法做到的上下文推理。 我们有几家企业客户正在使用Gecko,因为它解决了他们无法用传统SAST工具处理的问题。他们在相同代码库上看到假阳性减少了50%,并发现了以前只在手动渗透测试中出现的漏洞。 深入探讨假阳性,没有任何静态分析工具能够实现完美的准确性,无论是人工智能还是其他方法。我们在两个关键点上减少假阳性。首先,我们的索引器消除了任何程序解析错误,这些错误会导致传统AST工具易受影响的错误调用链。其次,我们通过提出具体的、上下文相关的问题来避免不必要的LLM幻觉和推理错误,而不是开放式问题。LLM知道哪些安全不变式需要保持,并可以根据上下文做出确定性的评估。当我们标记某些内容时,人工审核也很迅速,因为我们提供了完整的源到汇的数据流分析,附带概念验证代码和基于置信度评分的输出结果。 我们非常希望得到社区的反馈、未来方向的想法或在这一领域的经验。我会在评论区回复大家!