您现在的位置是:电脑教程 >>正文
我们如何构建了一个LangGraph代理以确定GitOps漏洞的优先级?
电脑教程29人已围观
简介译者 | 布加迪审校 | 重楼一款基于LangGraph的开源工具可帮助你确定在特定的Kubernetes环境中最需要优先解决的漏洞。在当今复杂的Kubernetes环境中,管理漏洞并确定优先级很快会 ...

译者 | 布加迪
审校 | 重楼
一款基于LangGraph的构建个开源工具可帮助你确定在特定的Kubernetes环境中最需要优先解决的漏洞。
在当今复杂的代理的优Kubernetes环境中,管理漏洞并确定优先级很快会变得令人不堪重负。确定由于数十甚至数百个容器跨多个服务运行,漏洞你如何决定先处理哪些漏洞?先级
这时候AI可以助一臂之力 。我在本文中将介绍我们使用LangGraph和LangChain构建基于AI的构建个漏洞优先级排序器HAIstings方面的经验,并使用Stacklok开发的代理的优开源AI网关CodeGate增强安全性 。
漏洞太多,服务器租用确定时间太少
如果你曾经针对Kubernetes集群运行过Trivy之类的漏洞漏洞扫描程序 ,对此就会深有体会:出现在数十个映像中的先级成百上千个常见漏洞和暴露(CVE),而解决漏洞的构建个时间和资源有限。应该先处理哪些漏洞?代理的优
传统方法依赖严重性分数(即严重 、高、确定中、漏洞低),先级但这种分数并未考虑到你的特定基础设施环境 。比如说,内部非关键服务中的高漏洞可能不如一个面向互联网的香港云服务器组件中的中等漏洞来得紧迫。
我们想看看是否可以使用AI来帮助解决这个优先级确定问题。受阿加莎小说中的Hercule Poirot侦探的助手Arthur Hastings的启发 ,我们构建了HAIstings来帮助基础设施团队根据以下因素确定漏洞的优先级 :
严重性(严重/高/中/低) 。基础设施上下文(来自 GitOps存储库)。用户提供的有关组件关键性的见解。通过对话不断加深理解 。使用LangGraph和LangChain构建HAIstings
基于LangChain而建的免费模板LangGraph提供了一个出色的框架,用于创建具有记忆的对话式AI代理 。下面是我们构建HAIstings的方式 :
1. 核心组件HAIstings的主要组件包括如下 :
k8sreport :连接到Kubernetes,从trivy-operator收集漏洞报告 。repo_ingest :提取基础设施存储库文件以提供上下文。vector_db :使用向量嵌入来存储和检索相关文件。memory:维护跨会话的对话历史记录。2. 对话流HAIstings使用LangGraph状态机,流程如下:
复制graph_builder = StateGraph(State) # Nodes graph_builder.add_node("retrieve", retrieve) # Get vulnerability data graph_builder.add_node("generate_initial", generate_initial) # Create initial report graph_builder.add_node("extra_userinput", extra_userinput) # Get more context # Edges graph_builder.add_edge(START, "retrieve") graph_builder.add_edge("retrieve", "generate_initial") graph_builder.add_edge("generate_initial", "extra_userinput") graph_builder.add_conditional_edges("extra_userinput", needs_more_info, ["extra_userinput", END])1.2.3.4.5.6.7.8.9.10.11.这会创建一个循环 ,其中HAIstings负责:
检索漏洞数据 。源码下载生成初始报告 。要求提供更多上下文。根据新信息完善评估 。3. 相关上下文的RAG挑战之一在于从可能庞大的GitOps存储库中高效地检索相关文件。为此 ,我们采用了一种检索增强生成(RAG)方法:
复制def retrieve_relevant_files(repo_url: str, query: str, k: int = 5) -> List[Dict]: """Retrieve relevant files from the vector database based on a query.""" vector_db = VectorDatabase() documents = vector_db.similarity_search(query, k=k) results = [] for doc in documents: results.append({ "path": doc.metadata["path"], "content": doc.page_content, "is_kubernetes": doc.metadata.get("is_kubernetes", False), }) return results1.2.3.4.5.6.7.8.9.10.11.12.13.14.这确保上下文中仅包含每个易受攻击组件最相关的文件,从而使提示大小易于控制 。
安全考量
使用LLM和基础设施数据时,安全至关重要。我们在分析的漏洞报告和基础设施文件可能含有敏感信息 ,比如 :
配置详细信息。身份验证机制。云计算基础设施文件中可能泄露的凭据。这时候 ,开源项目CodeGate显得必不可少。CodeGate充当HAIstings和LLM提供程序之间的保护层,提供了关键保护。
1. 机密信息编辑CodeGate会自动识别并编辑提示中的机密信息 ,比如API密钥 、token和凭据,然后它们才会到达大语言模型(LLM)提供程序 。这可以防止敏感数据意外泄露给第三方云服务。
比如说,如果你的Kubernetes清单或GitOps存储库含有:
复制apiVersion: v1 kind: Secret metadata: name: database-credentials type: Opaque data: username: YWRtaW4= # "admin" in base64 password: c3VwZXJzZWNyZXQ= # "supersecret" in base641.2.3.4.5.6.7.8.CodeGate在这些值到达LLM之前从提示中删除这些值 ,建站模板然后它在响应中无缝地取消编辑 。
你可能会说:“等一下 。我们依靠ExternalSecretsOperator之类的机制来保护Kubernetes机密 ,所以我们很安全……是不是 ?”
你可能正在试用集群,并将token存储在本地存储库或当前工作目录中的文件中 。代理可能有点过于雄心勃勃,意外将其添加到你的上下文中,就像我们在代码编辑器中经常看到的那样。这时候CodeGate就会介入,在敏感信息被无意共享之前对其进行编辑 。
2. PII编辑除了机密外 ,CodeGate还可以检测和编辑可能存在于你基础设施文件或部署清单中的个人身份信息(PII) 。
3. 受控模型访问CodeGate含有模型多路复用功能,可帮助确保基础设施漏洞信息仅发送给拥有适当安全措施的经过批准的受信任模型 。
模型多路复用允许你创建规则,将特定文件类型、项目或代码模式传送到不同AI模型。比如说,你可能希望基础设施代码由私有的本地托管模型处理,而一般的应用程序代码则由基于云的模型处理。
模型多路复用支持 :
数据敏感度控制:将敏感代码(比如基础设施 、安全或身份验证模块)传送到具有更严格隐私保证的模型 。合规要求 :确保某些类型的代码永远不会离开环境,以满足监管部门的要求。成本优化:仅对关键代码部分使用成本昂贵的高性能模型 。性能调整:将代码复杂性与最合适的模型功能相匹配。以下是使用基础设施存储库的示例模型多路复用策略 :规则:*.tf 、*.yaml或*-infra.*可以多路复用到本地托管的Ollama模型 。好处:Terraform文件和基础设施YAML永远不会离开你的环境,从而防止机密 、IP地址或基础设施设计可能被泄露 。
4. 可追溯的历史记录CodeGate维护与AI模型的所有交互的中央记录 ,创建所有漏洞评估和建议的审计跟踪记录。
使用CodeGate配置HAIstings
配置HAIstings以便与CodeGate配合使用非常简单。更新HAIstings中的LangChain配置:
复制# HAIstings configuration for using CodeGate self.llm = init_chat_model( # Using CodeGates Muxing feature model="gpt-4o", # This will be routed appropriately by CodeGate model_provider="openai", # API key not needed as its handled by CodeGate api_key="fake-api-key", # CodeGate Muxing API URL base_url="http://127.0.0.1:8989/v1/mux", )1.2.3.4.5.6.7.8.9.10.结果
鉴于HAIstings和CodeGate协同工作,生成的系统可提供智能 、上下文感知的漏洞优先级确定机制,同时保持严格的安全控制。
来自HAIstings的示例报告可能就像这样:
复制# HAIstings Security Report ## Introduction Good day! Arthur Hastings at your service. Ive meticulously examined the vulnerability reports from your Kubernetes infrastructure and prepared a prioritized assessment of the security concerns that require your immediate attention. ## Summary After careful analysis, Ive identified several critical vulnerabilities that demand prompt remediation: 1. **example-service (internet-facing service)** - Critical vulnerabilities: 3 - High vulnerabilities: 7 - Most concerning: CVE-2023-1234 (Remote code execution) This service is particularly concerning due to its internet-facing nature, as mentioned in your notes. I recommend addressing these vulnerabilities with the utmost urgency. 2. **Flux (GitOps controller)** - Critical vulnerabilities: 2 - High vulnerabilities: 5 - Most concerning: CVE-2023-5678 (Git request processing vulnerability) As youve noted, Flux is critical to your infrastructure, and this Git request processing vulnerability aligns with your specific concerns. ## Conclusion I say, these vulnerabilities require prompt attention, particularly the ones affecting your internet-facing services and deployment controllers. I recommend addressing the critical vulnerabilities in example-service and Flux as your top priorities.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.性能考量
LLM交互本身很慢 ,你不应该依赖它们来获取实时的关键警报。代理LLM流量会增加一些延迟。这是可以预料到的,因为这番操作需要耗费大量的计算资源。话虽如此,我们认为这么做带来的安全好处却是值得的。你只需多花几秒钟的处理时间,就能获得针对你特定基础设施需求的大为改进的漏洞优先级确定机制。
为基础设施确保安全的AI
使用LangGraph和LangChain构建HAIstings表明了AI如何帮助解决现代基础设施中的漏洞优先级确定问题。结合使用CodeGate确保了这种AI帮助不会以牺牲安全为代价 。你可以获得智能的上下文感知指导 ,而不降低安全标准 ,让你的团队可以专注于修复最重要的漏洞。
随着基础设施变得越来越复杂,漏洞越来越多,HAIstings等工具代表了基础设施安全管理的未来,在保持最严格安全标准的同时提供智能的上下文感知指导。
你可以使用我们GitHub存储库中的代码:https://github.com/StacklokLabs/HAIstings ,试用 HAIstings。
原文标题 :How We Built a LangGraph Agent To Prioritize GitOps Vulns,作者 :Juan Antonio "Ozz" Osorio和Radoslav Dimitrov
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/html/826c499169.html
相关文章
苹果 macOS 平台发现加密劫持恶意软件,通过盗版 Final Cut Pro 应用进行分发
电脑教程2 月 24 日消息,Jamf Threat Labs报告称在 macOS 平台发现了一种新的加密劫持恶意软件,通过盗版的 Final Cut Pro 进行分发。该团队例行监控期间,收到了有关于 XM ...
【电脑教程】
阅读更多Google 再提高 Chrome 漏洞赏金数额,最高可达25万美元
电脑教程近日,谷歌公司宣布通过其漏洞奖励计划报告的Google Chrome单一漏洞的最高奖励金额已超过25万美元。从8月28日起,谷歌将根据研究人员报告的漏洞质量来对内存损坏漏洞加以区分。奖励金额将从展示C ...
【电脑教程】
阅读更多人工智能将缩小网络安全技能差距
电脑教程随着我们开始超越GenAI所能实现的范围,大量切实的机会正在涌现,有助于解决困扰网络安全的一系列长期问题,尤其是技能短缺和不安全的人类行为。今年的热门预测范围显然不在于技术,因为人为因素继续受到更多关 ...
【电脑教程】
阅读更多
热门文章
最新文章
友情链接
- 2024年度威胁报告:网络安全设备成黑客首选突破口
- 2025年最佳MDR(托管检测和响应)解决方案
- 苹果、特斯拉均受影响,新型漏洞迫使GPU无限循环,直至系统崩溃
- 图解+案例,理解和实战 OAuth2 认证授权
- Apache Roller 曝出高危漏洞(CVSS 10.0):密码修改后会话仍持续有效
- 九个存在九年的 npm 软件包遭劫持 通过混淆脚本窃取 API 密钥
- 朝鲜威胁组织 ScarCruft 利用 KoSpy 恶意软件监控安卓用户
- 深信服秋季新品重磅发布:安全GPT4.0数据安全大模型与分布式存储EDS新版本520,助力数字化更简单、更安全
- 全球VPN设备遭遇大规模暴力破解攻击,280万IP地址参与其中
- 二维码钓鱼攻击的兴起:诈骗者如何利用二维码及如何防范 企业服务器香港物理机亿华云云服务器网站建设源码库b2b信息平台