Decepticon:基于AI的自主红队平台架构与实战解析

news2026/5/17 13:55:39
1. 项目概述Decepticon一个为专业红队而生的自主黑客智能体在网络安全领域尤其是红队测试中我们常常面临一个困境攻击面在指数级增长而人的精力和时间却是线性的。传统的渗透测试工具链虽然强大但高度依赖操作员的经验、临场判断和大量重复性劳动。从信息收集、漏洞利用到横向移动和权限维持每一步都需要手动执行、分析结果并决策下一步。这个过程不仅耗时而且容易因疲劳导致疏漏。与此同时AI领域的发展催生了一批“AI黑客”工具它们往往演示起来很酷——比如让大语言模型运行一个nmap扫描——但实际落地到真实的、受规则约束的红队行动中时就显得力不从心要么是玩具要么在合规性上存在巨大风险。Decepticon的出现正是为了弥合这道鸿沟。它不是一个简单的“AI调用扫描脚本”的工具而是一个为专业红队测试设计的自主操作平台。它的核心目标不是降低黑客的门槛而是将红队专家从繁琐、重复的战术执行中解放出来让他们能更专注于战略制定、规则审定和那些需要人类直觉与创造力的高级威胁模拟。简单来说Decepticon试图回答一个问题如果一个经验丰富的红队成员拥有无限的耐心、不会犯错的操作记忆、并能以机器速度执行战术他会怎么做这个项目就是将这个设想工程化的产物。2. 核心理念与设计哲学超越漏洞扫描的自主红队2.1 红队测试与渗透测试的本质区别在深入技术细节前必须厘清一个关键概念Decepticon定位为“自主红队平台”而非“自动化渗透测试工具”。这两者有本质区别。渗透测试Penetration Testing通常以发现和报告漏洞为目标过程相对线性遵循预定义的测试用例清单。而红队测试Red Team Testing的目标是模拟特定威胁行为者的完整攻击链以评估组织的整体检测与响应能力。它更关注“故事”的完整性攻击者如何突破边界、建立立足点、提升权限、横向移动、达成最终目标如窃取核心数据以及在整个过程中是否被蓝队发现。Decepticon的设计完全遵循红队测试的范式。它不满足于生成一份漏洞报告而是追求执行一个完整的、有上下文的“攻击行动”。这意味着它需要理解并遵守一系列专业红队行动才有的约束和文档例如行动规则Rules of Engagement, RoE明确规定了测试的范围、允许的时间窗口、禁止攻击的系统或服务、使用的源IP范围等。这是合法性的基石Decepticon的每一个自主决策都必须在此框架内进行。行动概念Concept of Operations, ConOps定义了本次模拟的威胁行为者画像例如是出于经济动机的犯罪团伙还是国家背景的APT组织以及其典型的战术、技术和程序TTPs。这决定了Decepticon会优先尝试哪些攻击路径。行动方案Operations Plan, OPPLAN具体的攻击计划将宏观目标分解为可执行的阶段性任务Objectives并映射到MITRE ATTCK框架的技术编号。2.2 “进攻即疫苗”的防御进化观Decepticon项目背后有一个更宏大的愿景我称之为“进攻即疫苗”Offense as a Vaccine。当前大多数“进攻性AI”项目止步于“展示攻击能力”这就像制造了一种病毒然后就此打住。而Decepticon的终极目标是成为防御体系进化的催化剂。其逻辑链条是这样的首先构建一个世界级的自主进攻智能体Step 1。然后利用这个智能体对目标环境发起持续、多样化的模拟攻击产生海量的、真实的攻击数据流Step 2。最后也是最重要的将这些攻击数据反馈给防御方蓝队用于打磨检测规则、优化响应流程、验证安全控制的有效性从而驱动防御体系不断进化Step 3。这就像接种疫苗将经过处理的“病原体”模拟攻击注入系统刺激其产生“抗体”更强的防御能力。因此Decepticon的价值不仅在于它“能攻”更在于它通过持续不断的“攻”来锻造更坚固的“防”。3. 核心架构解析隔离、交互与状态管理3.1 双网络隔离架构安全是红队工具的命脉。一个红队工具如果自身不安全导致操作员凭证泄露或攻击流量溯源到管理平台将是灾难性的。Decepticon在架构层面通过严格的网络隔离解决了这个问题。整个系统运行在两个完全独立的Docker网络中管理网络decepticon-net承载所有“大脑”部件。包括LLM网关LiteLLM代理、智能体API服务器、数据库用于存储任务状态和结果、以及Web界面如果有的话。这个网络不直接接触目标环境。操作网络sandbox-net一个硬化的Kali Linux沙箱环境。所有对目标的扫描、漏洞利用、后渗透等命令都在这个沙箱中执行。沙箱内预装了完整的红队工具链如nmap、Sliver C2客户端、sqlmap、Impacket套件等。两个网络之间没有直接的网络连通性。智能体运行在管理网络对沙箱的控制是通过Docker守护进程套接字Docker Socket实现的。智能体向编排器发送指令编排器通过Docker API在沙箱容器内创建新的执行会话使用docker exec并捕获其输出。这意味着即使沙箱被攻陷攻击者也无法通过网络跳板攻击到后端的LLM或数据库。实操心得这种基于Docker Socket的控制方式相比传统的SSH或Agent提供了更好的隔离性和控制粒度。但在生产部署时务必确保Docker守护进程本身的安全因为对Docker Socket的访问等同于主机root权限。建议在专用的红队服务器上运行Decepticon并严格限制对该服务器的访问。3.2 基于LangGraph的多智能体协作Decepticon没有采用单一的、全能的“超级智能体”模型而是设计了五个各司其职的专家智能体它们在一个由LangGraph驱动的有状态工作流中协作Soundwave负责战前访谈与规划。它像项目经理一样与操作员交互生成完整的Engagement Package包含RoE, ConOps, OPPLAN。DecepticonOrchestrator总指挥。它读取OPPLAN决定当前应该执行哪个目标Objective并根据目标类型和当前上下文调用相应的专家智能体。Recon侦察专家。负责信息收集、端口扫描、服务识别、目录枚举等。Exploit漏洞利用专家。负责分析侦察结果寻找并利用漏洞获取初始访问权限。Post-Exploit后渗透专家。负责在获得立足点后的所有操作包括权限提升、凭证窃取、横向移动、持久化等。每个智能体在接到任务时都会在一个全新的、干净的上下文窗口中启动。这是为了避免在长对话中常见的“上下文污染”或“记忆退化”问题。智能体完成任务后其产生的“发现”Findings会被持久化到文件系统或数据库中而不是留在智能体的记忆里。然后该智能体实例被销毁。下一个任务到来时Orchestrator会重新实例化一个干净的智能体并将必要的上下文如RoE、之前的发现作为提示词的一部分注入。这种设计保证了每个决策都基于最新、最相关的信息且不会因历史对话的噪音而降低推理质量。3.3 交互式会话的挑战与解决方案这是Decepticon与大多数AI安全工具拉开差距的关键一点。真正的红队工具如Metasploit的msfconsole、Sliver C2的sliver-client、或者WinRM/Psexec会话都是交互式的。它们提供一个持续的提示符等待操作员输入一系列命令并可能根据上一条命令的输出动态调整下一条命令。大多数AI智能体通过简单的subprocess.run()来执行命令这适用于单次执行并退出的命令如nmap -sV 192.168.1.1但完全无法处理交互式工具。Decepticon通过tmux会话和智能的提示符检测机制解决了这个问题。其工作流程如下当智能体需要运行一个可能产生交互式会话的命令例如启动sliver-client时它会在沙箱容器内创建一个新的tmux会话。命令在该tmux会话中执行。一个后台进程持续监控tmux会话的输出使用正则表达式检测常见的交互式提示符如sliver msf6 exploit(handler) PS C:\Users\Victim。一旦检测到提示符系统会认为上一条命令执行完毕等待用户此处是AI智能体输入。此时智能体生成的下一句命令会被发送到该tmux会话。这个过程可以持续进行模拟人类操作员与工具的交互。系统还能处理控制信号如CtrlC中断、CtrlZ挂起和会话超时。注意事项提示符检测的准确性至关重要。如果正则表达式匹配不精确可能导致智能体在工具还未准备好时就发送下一条命令造成混乱。Decepticon的代码库中包含了对多种常见红队工具提示符的预定义模式但在集成新工具时需要仔细测试和调整。4. 实战部署与核心功能演练4.1 环境准备与一键安装Decepticon极力简化了部署流程核心依赖只有Docker和Docker Compose V2。这保证了环境的一致性避免了“在我的机器上能运行”的经典问题。安装只需一行命令curl -fsSL https://decepticon.red/install | bash这条命令会下载安装脚本自动拉取所需的Docker镜像并设置命令行工具。安装完成后需要进行关键的一步配置设置AI模型的API密钥。decepticon config执行后会进入一个交互式配置界面。你需要提供至少一个LLM供应商的API密钥例如Anthropic的Claude或OpenAI的GPT。Decepticon通过LiteLLM支持多模型路由你可以配置多个备用密钥和模型。4.2 运行演示体验完整攻击链对于新手最快了解Decepticon能力的方式是运行其内置演示。decepticon demo这个演示脚本会自动化完成以下工作启动目标在隔离网络中启动一个Metasploitable 2虚拟机一个故意包含多种漏洞的Linux靶机。加载预置任务载入一个为演示预构建的Engagement Package其中包含了RoE、ConOps和OPPLAN。执行完整攻击链侦察Recon智能体对靶机进行端口扫描发现开放的21端口FTP运行着存在漏洞的vsftpd 2.3.4。初始访问Exploit智能体利用vsftpd的后门漏洞获得一个反向Shell。命令与控制Post-Exploit智能体在靶机上部署Sliver C2的植入物implant建立稳定的C2通道。后渗透通过Sliver会话在靶机上进行凭证窃取例如转储/etc/shadow并尝试进行内网侦察如果靶机有多网卡。实时观察所有步骤都会在CLI界面中实时流式输出你可以看到每个智能体的“思考过程”推理链、它打算执行的命令、以及命令的实际输出。这个演示完美展示了Decepticon如何将多个离散的步骤扫描、利用、部署C2、横向移动串联成一个连贯的、自主执行的攻击故事。4.3 创建自定义任务真实场景中你需要针对特定目标创建自己的任务。流程如下启动Decepticon在终端运行decepticon。这会启动所有后台服务并打开交互式CLI。规划阶段CLI启动后Soundwave智能体会主动与你对话引导你完成Engagement Planning。它会询问一系列问题例如任务名称和描述目标IP或域名范围必须严格遵守RoE中的授权范围模拟的威胁行为者是谁例如金融犯罪团伙、APT29有哪些禁止项例如不得对生产数据库执行DROP操作不得在业务高峰时段扫描最终目标是什么例如获取域控权限窃取指定文件生成文档基于你的回答Soundwave会自动生成RoE、ConOps、Deconfliction Plan和OPPLAN的Markdown文件保存在项目目录中。你可以随时审阅和修改这些文件。执行阶段确认文档无误后将控制权交给OrchestratorDecepticon。它会读取OPPLAN开始自主执行任务。你可以在CLI中实时监控进度看到每个目标的完成状态PENDING, IN_PROGRESS, COMPLETED, BLOCKED。4.4 C2集成与后渗透自动化Decepticon深度集成了Sliver C2框架这是其区别于很多学术性AI安全项目的另一个亮点。Sliver是一个功能强大的、Go语言编写的跨平台C2框架支持多种通信协议HTTP/S, DNS, MTLS和丰富的后渗透模块。在Decepticon中Sliver的团队服务器Team Server运行在操作网络sandbox-net中。沙箱内的Kali系统预配置了sliver-client并自动连接到此服务器。当Exploit或Post-Exploit智能体获得一个初始立足点Shell后它们会执行以下操作生成植入物根据目标系统架构Windows/Linux, x64/x86智能体会指示Sliver服务器生成相应的植入物。投递与执行利用已有的Shell会话将植入物文件上传到目标并执行。这可能需要借助curl、wget、PowerShell下载或简单的文件复制。会话管理植入物成功回调后会在Sliver控制台建立一个新会话。此后所有后续操作文件操作、进程管理、凭证转储、横向移动都通过这个Sliver会话来执行这比不稳定的反向Shell可靠得多。自动化模块执行智能体可以调用Sliver的内置模块例如hashdump转储Windows哈希、make-token创建令牌、portfwd端口转发等将这些操作无缝编织进其自主决策流程中。5. 技能系统与MITRE ATTCK映射5.1 模块化技能库Decepticon的智能体并非凭空想象攻击手段它们的行为由一个模块化的“技能库”驱动。每个技能都是一个自包含的文档通常是一个Markdown文件描述了在特定情境下应采取的行动。技能文件的结构包含两部分Frontmatter元数据以YAML格式写在文件开头定义了技能的属性如技能ID、名称、描述、适用的攻击阶段Recon, Initial Access, Execution等、以及对应的MITRE ATTCK技术ID。正文内容详细描述了该技能的执行步骤、常用命令、参数解释以及预期结果。这部分内容只有在智能体决定使用该技能时才会通过read_file()函数动态加载到其上下文中这是一种节约上下文长度的优化策略。例如一个针对“SMB匿名共享枚举”的技能可能如下id: smb_anonymous_enum name: Enumerate SMB Shares (Anonymous) phase: Recon mitre: - T1135 - T1087.002 description: Attempt to list SMB shares on a target using anonymous/null session.正文部分则会详细说明如何使用smbclient或crackmapexec进行枚举。5.2 深度ATTCK集成MITRE ATTCK框架是网络安全行业的通用语言。Decepticon将ATTCK的集成做到了骨子里而非事后添加的标签。目标映射OPPLAN中的每一个具体目标Objective都会关联一个或多个ATTCK技术ID。例如目标“获取初始访问权限”可能关联T1190利用面向公众的应用程序。技能映射每个技能在元数据中声明其对应的ATTCK技术。当智能体使用该技能时这个关联会被记录。行为者画像映射ConOps中定义的威胁行为者其ttps字段直接使用ATTCK技术ID列表来描述其惯用技战术。报告生成任务结束后生成的活动报告会天然地按照ATTCK矩阵进行归类清晰地展示了攻击链在技术层面的覆盖情况极大方便了与蓝队沟通和报告撰写。这种深度集成确保了Decepticon的模拟攻击不仅是有效的而且是符合行业标准、可审计、可追溯的。6. 多模型路由与成本优化策略大语言模型的API调用是持续运行Decepticon的主要成本。不同的任务对模型能力的需求不同制定复杂计划需要最强的推理能力如Claude 3 Opus而执行一个简单的端口扫描命令则可以用更轻量、更便宜的模型如Claude 3 Haiku。Decepticon通过LiteLLM代理和预定义的模型配置档Profile来实现智能路由和成本优化配置档编排器 (Orchestrator)利用专家 (Exploit)侦察专家 (Recon)适用场景eco (经济)Claude 3 OpusClaude 3 SonnetClaude 3 Haiku生产环境日常使用最佳性价比max (最大)Claude 3 OpusClaude 3 OpusClaude 3 Sonnet针对高价值、高难度目标追求最高成功率test (测试)Claude 3 HaikuClaude 3 HaikuClaude 3 Haiku开发、调试或持续集成成本最低其工作流程是当智能体需要调用LLM时请求会发送给LiteLLM网关。网关根据当前激活的配置档和智能体类型将请求路由到指定的模型。此外网关还实现了自动故障转移机制。如果首选模型因配额不足或服务中断而失败请求会自动降级路由到备用模型例如从Opus降级到GPT-4。这一切对智能体是透明的保证了任务的连续性。实操心得在长期使用中eco配置档是平衡效果与成本的最佳选择。让Orchestrator使用最强的Opus模型来做出关键路径决策让Sonnet处理复杂的漏洞利用逻辑而让Hauki处理大量相对简单的侦察命令。这样可以将单次任务的成本降低30%-50%而不明显影响成功率。7. 常见问题与故障排查实录在实际部署和运行Decepticon的过程中你可能会遇到一些典型问题。以下是我在多次测试中积累的排查经验。7.1 模型API调用失败现象智能体停止响应CLI日志显示“API Error”或“Rate Limit Exceeded”。排查步骤检查配置运行decepticon config确认API密钥填写正确且没有多余的空格或换行。检查额度登录你的OpenAI或Anthropic账户控制台确认API额度或余额是否充足。检查网络确保运行Decepticon的服务器可以正常访问外部LLM API例如能curl通https://api.anthropic.com。查看详细日志Decepticon的Docker Compose日志通常能提供更详细的错误信息。运行docker compose logs litellm来查看LiteLLM网关的日志。切换配置档尝试在decepticon config中切换到test配置档使用Haiku以排除是否是特定模型的问题。7.2 沙箱内命令执行超时或无响应现象任务卡在“Executing command…”状态长时间没有进展。排查步骤检查目标连通性首先确认目标主机是否存活并且从沙箱容器内是否可以ping通或访问到目标端口。可以进入沙箱容器手动测试docker compose exec sandbox bash然后在容器内尝试nc -zv target_ip port。检查tmux会话智能体的交互式命令在tmux中运行。可以列出沙箱内的tmux会话docker compose exec sandbox tmux list-sessions。如果发现会话状态异常Attached但无输出可以尝试附着上去查看docker compose exec sandbox tmux attach -t session_name。检查提示符检测某些非标准或自定义的工具提示符可能未被正确识别。你需要检查该技能文件的描述或手动在沙箱中运行该命令观察其准确的提示符格式并考虑向项目贡献新的提示符检测规则。资源限制检查宿主机和Docker容器的CPU/内存使用情况。复杂的漏洞利用或大型扫描可能消耗大量资源导致进程卡死。7.3 Sliver C2会话建立失败现象Exploit阶段成功获得了Shell但尝试部署Sliver植入物时失败无法建立C2会话。排查步骤确认Sliver服务器状态运行docker compose logs c2-sliver查看Sliver团队服务器的日志确认其已正常启动并在监听。检查网络策略确保目标主机靶机能够访问到Sliver服务器所在的IP和端口。由于它们同在sandbox-net中理论上应能互通。检查靶机防火墙是否出站。检查植入物生成在Sliver控制台可通过docker compose exec c2-sliver ./sliver-server进入使用implants命令查看生成的植入物列表确认生成成功且架构匹配。检查投递与执行查看智能体在靶机Shell中执行的具体命令。有时因为权限问题上传文件或执行文件会失败。可能需要智能体先进行提权操作。7.4 智能体陷入循环或做出错误决策现象智能体反复执行同一个操作或选择了一个明显无效的攻击路径。排查步骤审查RoE和OPPLAN智能体的行动严格受RoE约束。检查是否RoE中的限制过于严格导致智能体没有其他可行的路径。同时检查OPPLAN中的目标定义是否清晰、无歧义。检查上下文回忆一下每个智能体实例都是全新的。如果它做出错误决策很可能是提供给它的“上下文”即提示词中的历史发现和当前状态不准确或不充分。查看该任务轮次的完整日志分析智能体接收到的提示词。模型温度参数过高的“温度”temperature设置可能导致模型输出随机性太大。在decepticon config中可以尝试调低相关模型的温度参数例如从0.7调到0.3使其输出更确定、更可预测。技能库不足如果当前场景非常特殊而技能库中没有匹配的技能智能体可能会尝试用不合适的通用技能去套用导致失败。这时需要你作为操作员进行人工干预或者事后为该场景贡献一个新的技能文档。8. 开发与贡献指南Decepticon是一个开源项目其演进依赖于社区贡献。如果你是一名安全研究员或开发者想要为其添砖加瓦以下是参与路径。8.1 开发环境搭建项目使用make命令来管理开发流程非常便捷。git clone https://github.com/PurpleAILAB/Decepticon.git cd Decepticon make dev # 构建镜像并以开发模式启动支持代码热重载在另一个终端中运行make cli即可打开交互式CLI进行测试。make dev命令利用了Docker Compose的watch功能当你修改本地源代码时改动会自动同步到容器内无需手动重建镜像极大提升了开发效率。8.2 主要贡献方向扩充技能库这是最直接、也最宝贵的贡献。将你的红队经验转化为结构化的技能文档。参考skills/目录下的现有文件格式确保包含清晰的元数据MITRE ID、攻击阶段和详细的、可操作的步骤说明。集成新工具如果你擅长某个未被集成的红队工具例如Cobalt Strike, Covenant, Mythic等可以为其编写适配层。这包括确保该工具能安装在Kali沙箱中、编写对应的Dockerfile修改、以及最重要的为其交互式提示符编写检测逻辑。改进智能体提示词智能体的核心能力很大程度上受其系统提示词System Prompt影响。如果你有提示工程的经验可以尝试优化agents/目录下各个智能体的提示词使其决策更精准、更符合红队思维。修复Bug与改进UI提交Issue报告你遇到的问题或者直接修复代码中的Bug。CLI界面基于Ink的体验优化也是很好的贡献点。8.3 测试与代码规范在提交Pull Request前请确保你的代码通过基础检查。make test # 在容器内运行pytest测试套件 make lint # 在本地运行代码格式化和类型检查需要先运行 uv sync --dev 安装开发依赖项目遵循基本的Python代码规范如Black, isort。清晰的提交信息Commit Message和关联的Issue编号会让你的PR更容易被合并。从我个人的使用和测试经验来看Decepticon代表了AI在实战安全领域一个非常务实且前景广阔的方向。它没有沉迷于生成炫酷的漏洞利用代码这目前仍超出LLM的可靠能力而是将AI定位为“战术执行自动化引擎”和“决策辅助大脑”将人类专家从重复劳动中解放出来去处理更高级别的策略问题。它的双网络架构、基于tmux的交互式会话处理、以及对红队专业流程RoE, OPPLAN的尊重都显示出这是一个由深度行业认知驱动的项目而非简单的技术拼凑。当然它仍处于活跃开发阶段在处理极其复杂、需要大量上下文推理的漏洞链时可能会遇到挑战但这正是社区贡献和模型本身进化所能解决的问题。对于任何严肃的红队团队而言将Decepticon纳入工具链进行探索和定制无疑是提前布局未来工作模式的一步好棋。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2611010.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…