陇剑杯日志分析赛题复盘:从数据清洗到攻击链还原的完整方法论

1. 日志分析赛题的底层逻辑与整体设计思路

第一次接触“陇剑杯”这种级别的赛事题目时,很多人会下意识地把它当成一道普通的CTF杂项题来处理,觉得无非就是翻翻日志、找找关键字。但真正上手之后你会发现,日志分析类赛题考察的从来不是单一工具的使用熟练度,而是在大量噪声中快速定位异常行为的系统性思维。这道题给出的素材通常是一组服务器日志文件,可能包含Web访问日志、系统认证日志、数据库日志等多种类型,要求参赛者从中还原出攻击者的行为链条,并提取出关键证据。

我在复盘这类题目时,习惯先把整个分析流程拆成三个层次来理解。第一个层次是数据清洗与归一化,也就是把不同格式的日志统一成可检索、可对比的结构化数据;第二个层次是行为建模与异常检测,通过统计分析和模式匹配找出偏离正常基线的行为;第三个层次是攻击链还原与证据固定,把零散的异常点串联成完整的攻击叙事,并精确提取出题目要求的答案。

为什么要把这三个层次分得这么清楚?因为在实际比赛中,时间是最稀缺的资源。如果你一上来就漫无目的地grep关键字,很容易在海量日志中迷失方向。而有了分层思路之后,你可以先花几分钟做数据概览,再针对性地深入某个时间段或某个IP的日志,效率会高很多。这个思路不仅适用于比赛,在日常的安全运营工作中同样有效——SOC分析师每天面对的就是类似的日志海洋,没有方法论支撑根本干不下去。

这道题的核心考点,我个人总结下来主要集中在几个方面:Web日志中的SQL注入与文件包含特征识别、系统日志中的暴力破解与权限提升痕迹、时间线关联分析,以及编码与混淆的还原。这些考点并不是孤立存在的,它们往往通过一条完整的攻击链串联在一起。比如攻击者可能先通过Web漏洞上传WebShell,然后利用WebShell执行系统命令,接着尝试提权并清理日志。你需要做的,就是从各个日志文件中找到对应的证据片段,拼出完整的攻击路径。

注意:日志分析题最忌讳的就是“跳跃式阅读”。很多关键线索藏在看似正常的日志条目中,比如一个返回码为200但响应体异常大的请求,或者一个在凌晨三点出现的合法用户登录记录。耐心和细致是这类题目的第一生产力。

2. 核心细节解析与实操要点

2.1 Web访问日志的关键字段与异常模式

Web访问日志是这类赛题中出现频率最高的素材,常见的格式包括Apache的Common Log Format和Nginx的默认日志格式。一条典型的日志条目长这样:

192.168.1.100 - - [15/Sep/2021:03:22:17 +0800] "GET /admin/login.php HTTP/1.1" 200 4523 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"

这里面每个字段都有分析价值。源IP用于识别攻击来源,时间戳用于构建时间线,请求方法和URL用于判断攻击类型,状态码用于确认攻击是否成功,响应体大小用于辅助判断返回内容,User-Agent用于识别扫描器或自动化工具。

我在分析时通常会先做几个统计:每个IP的请求总数、每个URL的访问次数、状态码分布、响应体大小的异常值。这些统计能快速帮你圈定可疑范围。比如某个IP在短时间内发起了大量404请求,那大概率是目录扫描;某个URL的响应体大小突然从几百字节跳到几万字节,可能意味着数据泄露或WebShell输出。

对于SQL注入的识别,重点关注URL中是否出现单引号、双引号、union select、sleep()、benchmark()等特征字符串。但要注意,攻击者往往会进行URL编码或大小写混合来绕过检测,所以你的检索模式必须覆盖这些变体。我一般会先用正则表达式做一轮粗筛,再对命中结果逐条人工确认。

# 快速筛选包含SQL注入特征的请求 grep -iE "(union.*select|select.*from|sleep\(|benchmark\(|information_schema)" access.log # 筛选URL编码后的注入尝试 grep -iE "(%27|%22|%20union|%20select)" access.log

文件包含漏洞的识别则要关注路径穿越特征,比如../、..%2f、/etc/passwd、php://input等。这类攻击的日志条目往往请求路径很长,包含多层目录跳转。

2.2 系统认证日志的暴力破解与提权痕迹

Linux系统的认证日志通常位于/var/log/auth.log或/var/log/secure,Windows系统则对应安全事件日志。这类日志的分析重点在于登录失败与成功的模式。

暴力破解的典型特征是:同一源IP在短时间内产生大量“Failed password”记录,随后可能出现一条“Accepted password”记录。如果看到了这个模式,基本可以确认攻击者成功爆破了一个账户。你需要进一步确认被爆破成功的账户名、登录时间、以及登录后执行了哪些操作。

# 统计失败登录次数最多的源IP grep "Failed password" auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -20 # 查找成功登录的记录 grep "Accepted password" auth.log

提权行为的痕迹则更加隐蔽。常见的提权方式包括利用SUID程序、sudo配置错误、内核漏洞等。在日志中,你需要关注sudo命令的执行记录、su切换用户的记录,以及useradd、usermod等账户管理命令的调用。有些攻击者会创建隐藏账户或修改现有账户的权限,这些操作都会在认证日志或系统日志中留下痕迹。

实操心得:在分析认证日志时,一定要注意时区问题。很多赛题会故意混合不同时区的日志,或者使用UTC时间戳。如果你忽略了时区转换,时间线就会完全错乱,导致无法正确关联不同日志源的事件。

2.3 时间线关联与多源日志融合

单一日志源能提供的信息是有限的,真正的攻击链还原需要把多个日志源按照时间线对齐。比如Web日志显示攻击者在10:05:30上传了WebShell,系统日志显示10:05:45有一个新进程启动,数据库日志显示10:06:00有一条异常查询——这三个事件在时间上是连续的,逻辑上也是因果关联的。

做时间线关联时,我建议先用Excel或Python的pandas库把所有日志统一成包含“时间戳、来源、事件描述、原始行”四列的结构化数据,然后按时间排序。这样你可以像看故事一样浏览整个攻击过程。

import pandas as pd # 假设已经解析了三个日志源 web_logs = pd.read_csv('web_parsed.csv') auth_logs = pd.read_csv('auth_parsed.csv') db_logs = pd.read_csv('db_parsed.csv') # 统一列名后合并 all_logs = pd.concat([web_logs, auth_logs, db_logs], ignore_index=True) all_logs['timestamp'] = pd.to_datetime(all_logs['timestamp']) all_logs = all_logs.sort_values('timestamp') # 输出攻击时间段内的所有事件 attack_window = all_logs[(all_logs['timestamp'] >= '2021-09-15 10:00:00') & (all_logs['timestamp'] <= '2021-09-15 10:30:00')] print(attack_window.to_string())

这种融合分析的价值在于,它能帮你发现单一日志源中容易被忽略的关联性。比如Web日志中一个看似正常的文件上传请求,结合系统日志中该文件被执行的记录,就能确认这是一个WebShell上传攻击。

2.4 编码混淆的识别与还原

攻击者为了规避检测,经常会对恶意载荷进行编码。常见的编码方式包括URL编码、Base64编码、十六进制编码、Unicode编码等。在日志中,这些编码后的字符串往往看起来像一堆乱码,但解码后就能看到明显的攻击意图。

URL编码的识别相对简单,%27对应单引号,%20对应空格,%3C对应小于号。你可以用Python的urllib.parse.unquote()函数快速解码。Base64编码的特征是字符串长度通常是4的倍数,且只包含A-Z、a-z、0-9、+、/、=这些字符。十六进制编码则是连续的0-9和a-f组合。

import urllib.parse import base64 # URL解码 encoded_url = "SELECT%20*%20FROM%20users%20WHERE%20id%3D1" decoded = urllib.parse.unquote(encoded_url) print(decoded) # 输出: SELECT * FROM users WHERE id=1 # Base64解码(需要处理填充) encoded_b64 = "Y21kLmV4ZSAvYyB3aG9hbWk=" try: decoded_b64 = base64.b64decode(encoded_b64).decode('utf-8') print(decoded_b64) # 输出: cmd.exe /c whoami except Exception as e: print(f"解码失败: {e}")

在实际分析中,你可能会遇到多重编码的情况,比如先Base64再URL编码。这时候需要耐心地逐层剥离,直到看到明文为止。我通常会写一个小脚本,自动尝试常见的解码组合,提高效率。

3. 实操过程与核心环节实现

3.1 环境准备与工具选型

工欲善其事,必先利其器。日志分析不需要特别复杂的工具链,但有几样东西是必备的。文本编辑器我推荐VS Code或Sublime Text,它们对大文件的支持比较好,而且支持正则表达式搜索。命令行工具方面,Linux下的grep、awk、sed、sort、uniq是核心武器,Windows下可以用PowerShell的Select-String和Group-Object。脚本语言首选Python,pandas和re库能覆盖绝大多数分析需求。可视化工具可以用Excel的透视表,或者Python的matplotlib做简单的时序图。

为什么强调工具选型?因为我在比赛中见过太多人用记事本打开几百MB的日志文件,结果直接卡死。选对工具能帮你节省大量时间,把精力集中在分析本身而不是等待软件响应上。

提示:如果日志文件超过1GB,建议先用split命令按时间或大小切分,再逐块分析。不要试图一次性加载整个文件到内存中。

3.2 数据概览与初步筛查

拿到日志文件后,第一步永远是做数据概览。你需要知道:日志覆盖的时间范围是什么?有多少条记录?涉及多少个不同的源IP?有哪些不同的URL路径?状态码分布如何?

# 查看日志时间范围 head -1 access.log tail -1 access.log # 统计总行数 wc -l access.log # 统计不同源IP数量 awk '{print $1}' access.log | sort -u | wc -l # 统计状态码分布 awk '{print $9}' access.log | sort | uniq -c | sort -rn # 统计访问量最大的URL awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -20

这些统计能帮你快速建立对数据的整体认知。比如如果发现某个IP的请求量远超其他IP,那它很可能就是攻击源。如果某个URL的访问量异常高,那它可能是被扫描的重点目标。

3.3 攻击链还原的完整流程

假设我们通过初步筛查发现了一个可疑IP10.0.0.55,接下来需要围绕这个IP展开深入分析。首先提取该IP的所有请求记录,按时间排序,观察其行为模式。

grep "^10.0.0.55" access.log | sort -k4 > suspect_ip.log

浏览这些记录时,我通常会关注几个关键节点:第一次出现的异常请求、状态码从404变为200的转折点、请求方法从GET变为POST的变化、User-Agent的切换。这些节点往往标志着攻击的不同阶段。

比如,你可能会看到这样的序列:前20条请求都是对常见目录的扫描(返回404),第21条请求是/admin/login.php(返回200),第22条是POST请求提交登录表单,第23条开始出现对/uploads/shell.php的访问。这就清晰地勾勒出了“扫描-发现入口-登录-上传WebShell-访问WebShell”的攻击链。

接下来,你需要用这个时间线去关联其他日志源。在认证日志中查找同一时间段内是否有异常登录,在系统日志中查找是否有可疑进程启动,在数据库日志中查找是否有异常查询。每找到一个关联点,攻击链就更加完整。

3.4 关键证据的提取与验证

题目通常会要求你提取具体的答案,比如“攻击者上传的WebShell文件名是什么”、“攻击者成功登录的用户名是什么”、“攻击者执行的最后一条命令是什么”。这些答案必须精确无误,不能有丝毫偏差。

提取证据时,我习惯用“双重验证”的方法:先在日志中找到候选答案,然后用另一种方式交叉验证。比如你从Web日志中看到攻击者访问了/uploads/shell.php,那么你应该去系统日志或文件系统日志中确认这个文件确实被创建了。如果两个日志源都指向同一个结论,那答案的可靠性就很高。

# 在Web日志中查找文件上传请求 grep -iE "(POST.*upload|multipart/form-data)" access.log # 在系统日志中查找文件创建事件 grep -iE "(shell\.php|upload)" syslog

注意事项:有些赛题会故意设置“蜜罐”日志,即看似可疑但实际上是无害的扫描记录。你需要区分“扫描行为”和“成功攻击”。扫描可能产生大量404,但只有返回200且伴随后续利用行为的请求才是真正的攻击。

4. 常见问题与排查技巧实录

4.1 日志时间戳混乱怎么办

这是日志分析中最常见的问题之一。不同日志源可能使用不同的时间格式,有的用ISO 8601,有的用Unix时间戳,有的用自定义格式。更麻烦的是时区不一致,Web服务器可能用UTC,系统日志可能用本地时间。

我的处理方法是:先把所有时间戳统一转换为Unix时间戳(秒级或毫秒级),然后再转换回统一的可读格式。Python的datetime和pytz库能很好地处理时区转换。

from datetime import datetime import pytz # 假设日志时间是UTC utc_time = datetime.strptime("2021-09-15 03:22:17", "%Y-%m-%d %H:%M:%S") utc_time = pytz.utc.localize(utc_time) # 转换为东八区时间 local_time = utc_time.astimezone(pytz.timezone("Asia/Shanghai")) print(local_time.strftime("%Y-%m-%d %H:%M:%S"))

如果日志中没有明确标注时区,你可以通过交叉比对不同日志源来推断。比如Web日志中某个请求的时间是10:00:00,系统日志中对应的进程启动时间是02:00:00,那两者相差8小时,很可能一个是本地时间一个是UTC。

4.2 日志被截断或轮转如何处理

有些赛题会提供多个日志文件,比如access.log、access.log.1、access.log.2.gz,这是日志轮转的结果。你需要按时间顺序把它们拼接起来,才能看到完整的记录。

# 解压并合并轮转日志 zcat access.log.2.gz > combined.log cat access.log.1 >> combined.log cat access.log >> combined.log # 按时间排序 sort -k4 combined.log > combined_sorted.log

如果日志被截断(比如只保留了最后1000行),你需要根据现有信息做合理推断。比如攻击者的IP在截断点之前就已经出现,那你可以假设攻击在更早的时间就开始了。

4.3 常见问题速查表

问题现象可能原因排查方法
日志中大量404请求目录扫描或漏洞探测统计源IP和请求路径,确认是否为自动化工具
同一IP短时间内多次登录失败暴力破解检查是否有后续成功登录记录
URL中包含长字符串或编码字符SQL注入或命令注入解码后检查是否包含攻击特征
响应体大小异常增大数据泄露或WebShell输出对比正常请求的响应体大小
日志时间戳不连续日志轮转或时区问题检查是否有多个日志文件,统一时区
出现未知用户或进程权限提升或后门植入关联认证日志和系统日志

4.4 独家避坑技巧

技巧一:不要忽略“正常”请求。很多攻击者会把自己的恶意请求伪装成正常流量,比如使用合法的User-Agent、控制请求频率、在正常参数中插入恶意载荷。你需要关注请求的上下文,而不是孤立地看单条记录。

技巧二:善用“减法”。当你面对海量日志无从下手时,可以先排除已知的正常流量。比如排除内部IP的访问、排除常见的静态资源请求、排除已知的监控工具请求。剩下的就是需要重点关注的异常流量。

技巧三:建立自己的“特征库”。在多次比赛中,你会发现某些攻击工具或攻击者习惯使用固定的特征。比如某个扫描器的User-Agent、某个WebShell的默认密码、某个提权脚本的特定命令。把这些特征记录下来,下次遇到类似题目时就能快速识别。

技巧四:不要迷信自动化工具。虽然有一些日志分析工具可以自动识别攻击,但它们往往会产生大量误报。在比赛中,人工确认仍然是不可或缺的环节。自动化工具适合做初筛,最终判断还是要靠你的经验。

技巧五:注意日志的“沉默”。有时候,攻击者会故意删除或篡改日志来掩盖痕迹。如果你发现某个时间段的日志缺失,或者某个IP的记录突然中断,这本身就是一种异常信号。你需要结合其他日志源来还原被删除的部分。

4.5 从比赛到实战的思维迁移

这道题虽然是一道比赛题,但它考察的技能在日常安全运营中同样重要。在实际工作中,你面对的日志量可能是比赛题目的几十倍甚至几百倍,但分析思路是一样的:先概览、再聚焦、后关联。区别在于,实战中你还需要考虑日志的采集、存储、检索效率等问题,以及如何把分析结果转化为可执行的安全策略。

我个人在实际操作中的体会是,日志分析的核心竞争力不在于你掌握了多少工具,而在于你对正常行为基线的理解程度。只有清楚地知道“正常”是什么样子,你才能快速地识别出“异常”。这个基线需要你在日常工作中不断积累和更新,而不是临时抱佛脚。

最后再分享一个小技巧:在分析日志时,养成随手记录的习惯。把你发现的每一个可疑点、每一个时间节点、每一个关联关系都记下来。这些零散的笔记最终会帮你拼出完整的攻击图景。不要依赖记忆,因为日志分析往往需要你在多个线索之间反复切换,记忆很容易出错。

相关新闻

Python实现企业微信机器人消息推送:从Webhook到群消息全攻略

Python实现企业微信机器人消息推送:从Webhook到群消息全攻略

简介&#xff1a;面向需要快速打通企业微信消息通道的 Python 开发者和运维人员&#xff0c;这份小型代码示例包以企业微信机器人为核心&#xff0c;用极轻量的方式解决文本、Markdown 与图文消息的自动推送问题&#xff0c;可覆盖内部通知、告警提醒、运营报表等常见场景。压缩…

2026/10/20 22:52:37 阅读更多 →
Java内存修改程序源码解析:进程读写与指针链偏移实战

Java内存修改程序源码解析:进程读写与指针链偏移实战

简介&#xff1a;这是一份面向Java外挂开发入门者的内存修改程序源码资源&#xff0c;功能思路类似Cheat Engine&#xff0c;适合想了解进程内存读写、数据搜索与修改原理的开发者研究交流。资源包共86个文件&#xff0c;包含32个java源码、46个class编译文件、3个jar依赖库以及…

2026/10/20 22:52:37 阅读更多 →
Windows Server 2003域控靶机搭建:从AD初始化到域渗透攻击复现

Windows Server 2003域控靶机搭建:从AD初始化到域渗透攻击复现

在本地虚拟化环境里复现一台Windows Server 2003域控制器&#xff0c;是理解Windows域认证机制、老式协议危害和横向移动手法的最直接路径。这篇文章不讲空话&#xff0c;直接记录我动手搭建靶机的完整过程&#xff1a;从基础系统安装到Active Directory初始化&#xff0c;从账…

2026/10/20 22:52:37 阅读更多 →

最新新闻

开源日报热门项目实操:终端AI助手、剪贴板同步与自托管监控

开源日报热门项目实操:终端AI助手、剪贴板同步与自托管监控

1. 先说说这一期的热门全景怎么观察我做开源项目日报已经有一段时间了。每天早上第一件事&#xff0c;不是打开各种资讯站&#xff0c;而是直接去代码托管平台的榜单上看一圈&#xff0c;再结合社区讨论、release动态、issue反馈&#xff0c;综合判断这一天到底哪些项目值得被写…

2026/10/21 0:52:38 阅读更多 →
有限元面试53题:从刚度矩阵到工程实战的复习指南

有限元面试53题:从刚度矩阵到工程实战的复习指南

一提到“有限元面试”&#xff0c;很多人第一反应就是背公式、刷题。但等真正坐到面试桌对面&#xff0c;面试官问的往往不是“你有多少年经验”&#xff0c;而是“你算过的东西&#xff0c;你真的懂吗”。这份复习指南的核心&#xff0c;就是围绕53道有限元&#xff08;FEA&am…

2026/10/21 0:52:38 阅读更多 →
游戏支付平台源码:轻量级支付中台搭建与避坑指南

游戏支付平台源码:轻量级支付中台搭建与避坑指南

简介&#xff1a;这是一套面向游戏运营与支付系统开发者的完整技术方案源码包&#xff0c;涵盖游戏支付平台、充值平台、第三方支付对接及游戏网关支付接口四大核心模块&#xff0c;适用于中小型游戏公司快速搭建合规、可扩展的支付中台。资源共2000个文件&#xff0c;主体为Ja…

2026/10/21 0:52:38 阅读更多 →
8类AI文献综述工具全解析:从检索到评述的流水线指南

8类AI文献综述工具全解析:从检索到评述的流水线指南

写文献综述最让人崩溃的不是“写”&#xff0c;而是“综述”这两个字背后的整套流程——找文献、筛文献、读文献、分类、归纳、梳理脉络、找研究空白、建框架、动笔写。我当年写第一篇综述熬了三个通宵&#xff0c;最后被导师一句“只有罗列&#xff0c;没有评述”打回重来&…

2026/10/21 0:51:37 阅读更多 →
Redisson缓存报错missing @class?序列化配置与排查修复全指南

Redisson缓存报错missing @class?序列化配置与排查修复全指南

如果你在项目里用 Redisson 做分布式缓存&#xff0c;get()读取数据时突然抛出missing type id property class&#xff0c;说明你写入缓存的数据格式和读取时使用的解析规则已经对不上了。这个报错我前阵子刚踩过&#xff0c;第一反应以为是get()方法用错了&#xff0c;后来才…

2026/10/21 0:51:37 阅读更多 →
MySQL事务底层原理:undo/redo日志、MVCC与锁机制全解析

MySQL事务底层原理:undo/redo日志、MVCC与锁机制全解析

1. 事务到底在解决什么问题很多刚接触数据库的朋友会觉得事务这东西有点虚——平时写个增删改查&#xff0c;加不加事务好像都能跑&#xff0c;业务也没出过什么大乱子。但只要你经历过一次线上对账不平、库存扣成负数、或者转账转了一半系统崩了&#xff0c;你就会明白事务不是…

2026/10/21 0:51:37 阅读更多 →

日新闻

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

统一内存+量化:锐龙AI Max PRO 400如何本地跑320B大模型

这段时间硬件圈和AI圈都在传一个事&#xff1a;AMD锐龙AI Max PRO 400系列把最高192GB统一内存搬进了PC形态的产品里&#xff0c;按宣传口径&#xff0c;本地跑320B参数的大家伙不再是纸面概念。我第一反应倒不是“内存真大”&#xff0c;而是这话背后的含金量——它把过去只能…

2026/10/21 0:00:11 阅读更多 →
AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

AI助手深度使用体验:对话质量、长文本处理与指令遵循如何留住用户

1. 从“封号重开”这个行为说起&#xff1a;用户到底在追求什么“封号重开”这四个字&#xff0c;放在任何产品语境里都带着一股决绝的味道。一个账号从零开始积累使用记录、调教偏好、沉淀工作流&#xff0c;背后是大量的时间和精力成本。正常情况下&#xff0c;没有人愿意主动…

2026/10/21 0:00:11 阅读更多 →
ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

ROS中YOLOv3工程落地:通信同步、坐标变换与性能调优

1. 为什么在ROS里硬刚YOLOv3不是“炫技”&#xff0c;而是工程落地的必经之路我第一次在某高校机器人实验室看到那台搭载Jetson TX2的移动底盘原地打转、反复识别错垃圾桶时&#xff0c;就意识到&#xff1a;单纯跑通darknet_ros demo和真正让YOLOv3在ROS里“干活”&#xff0c…

2026/10/21 0:00:11 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →