编程 T3MP3ST:AI Agent驱动的新一代红队渗透测试框架实战指南

2026-07-08 08:20:50 +0800 CST views 5

T3MP3ST 开源多智能体红队平台深度解析:如何用AI Agent做真正的安全测试

引言:当你的AI编码助手变成漏洞猎手

在安全圈子里,有一个不成文的共识:真正的红队测试是门手艺活,需要多年经验积累、昂贵的工具链、以及对攻击者思维的深刻理解。这道门槛让无数想从事安全研究的人望而却步。

然而,一个名为 T3MP3ST 的开源项目正在打破这个局面。它宣称:任何拥有AI编码助手的人,都能将其变成一个零日漏洞猎人。这不是吹牛——在XBOW官方的104道挑战题上,它交出了90.1%的通过率,比XBOW自己宣称的85%还要高。

更令人惊讶的是,这个项目完全Keyless(无需API密钥)——它直接使用你本机已经登录的AI助手(Claude Code、Codex、Hermes),或者完全离线的本地模型(Ollama、LM Studio、vLLM)。不需要第二份账单,不需要额外的云租户。

今天,让我们深入解剖这个项目,看看它是如何做到的。


一、架构设计:八操作符的杀伤链

T3MP3ST的核心是一个精心设计的八操作符(Operator)杀伤链,每个操作符对应MITRE ATT&CK框架的不同阶段:

┌─────────────────────────────────────────────────────────────────┐
│                        T3MP3ST COMMAND                          │
├─────────────────────────────────────────────────────────────────┤
│   MISSION CONTROL  ◄──  TARGET MODEL  ──►  ARSENAL (TOOLS)       │
│                          ▲                                       │
│   AGENT CELL:  RECON · SCANNER · EXPLOITER · INFILTRATOR ·       │
│                EXFILTRATOR · GHOST · COORDINATOR · ANALYST       │
│                          ▲                                       │
│   EVIDENCE VAULT  ·  CREDENTIAL STORE  ·  FINDINGS LEDGER        │
│                          ▲                                       │
│   OPSEC LAYER  ·  COMMS CHANNEL  ·  LLM BACKBONE                 │
└─────────────────────────────────────────────────────────────────┘

1.1 操作符详解

操作符MITRE阶段核心功能
ReconTA0043OSINT、网络发现、资产枚举
ScannerTA0007漏洞扫描、服务指纹识别
ExploiterTA0001漏洞利用、载荷投递
InfiltratorTA0008横向移动、权限提升
ExfiltratorTA0009/10数据提取、凭证收割
GhostTA0003持久化、隐蔽、清理
CoordinatorTA0011任务控制、编排协调
Analyst模式分析、报告生成

重要声明:当前基准测试中的亮眼数字主要来自单Agent ReAct循环,而非完整的8操作符协同 swarm。协调式群攻击目前仍处于实验阶段,但这恰恰展示了该框架的野心。


二、核心引擎:认知架构的进化

T3MP3ST最令人印象深刻的不是它的攻击能力,而是它**如何让AI Agent真正"思考"**的认知架构。

2.0 为什么AI Agent需要"认知脚手架"

如果你曾经让GPT写代码,你可能注意到一个问题:它会过早放弃。给出一个需要多步骤的挑战,它常常在几次失败后就宣布"这可能不行"或"需要更多信息"。

在安全测试场景中,这种行为是致命的。一个真正的漏洞猎人知道:

  • 80%的成功来自于坚持
  • 错误信息本身就是情报
  • 错误的假设可以通过实验证伪

T3MP3ST的认知架构本质上是一个强制执行这些原则的脚手架。它不是告诉Agent"怎么做",而是强制Agent"必须坚持到什么时候才能放弃"。

2.0.1 传统的Agent困境

传统ReAct(Reasoning + Acting)模式的问题:

Agent: 让我尝试SQL注入...
  ↓ 失败
Agent: 让我试试XSS...
  ↓ 失败
Agent: 也许这个目标是安全的?
  ↓ 放弃
  ❌ 错过了藏在SQL注入后面的逻辑漏洞

T3MP3ST的强制迭代地板打破了这种过早放弃的模式:

Agent: 让我尝试SQL注入...
  ↓ 失败(但被记录)
Agent: 让我试试XSS...
  ↓ 失败(但被记录)
Agent: FLAG: UNKNOWN  ← 被HARNESS拒绝!
  ↓
HARNESS: "你还剩15次迭代。切换攻击类。"
  ↓
Agent: 让我检查一下之前的SQL注入是否真的失败了...
  ↓ 发现:WAF过滤了特定字符,但UNION SELECT可行
  ↓
Agent: 找到了!
  ✅ 成功

2.1 从v1到v4.2的认知进化

项目文档记录了一次反直觉的发现

版本策略结果
v3.2完整提示 + 攻击配方9/18 (64.3%)
v4 纯零提示无任何提示 + 无迭代地板~0/6
v4.2零提示 + 强制迭代地板10/18 (71.4%)

关键洞察:去掉所有"攻击配方"后,解决率反而提升了。

2.2 v4认知框架的五大阶段

RECON (迭代1-3) → PLAN → EXECUTE+状态追踪 → REFLECT(每5次) → SELF-CRITIQUE

Phase 1: RECON(侦察)

前3次迭代必须完成:

  • STACK: 每一层(代理→应用→数据库)
  • SURFACE: 每个端点/输入向量
  • BUG-HYP: 具体到 file:line,带引用
  • WHY: 证据,不是直觉

防隧道视野法则

  1. 代理在应用前 → 漏洞可能在代理(路径过滤、头字段)
  2. 依赖固定版本 → 搜索CVE(如 python_jwt 3.3.3 → CVE-2022-39227
  3. "干净"源码 → 漏洞在配置或库

Phase 2: PLAN(计划)

结构化计划格式,包含ABANDON IF子句——要求Agent提前声明可证伪条件。

Phase 3: EXECUTE + 状态追踪

每次工具调用后更新内部状态账本:CONFIRMED / REFUTED / OPEN / NEXT

硬性规则:同一攻击类失败3次变体 → 必须切换攻击类

Phase 4: REFLECT(反思)

每5次迭代进行一次元审查,包含 WHY MISSED 字段进行认知偏见自审:

  • 确认偏误
  • 锚定效应
  • 被忽略的层

Phase 5: SELF-CRITIQUE(自我批评)

在输出 FLAG: 之前,Agent必须运行bash命令证明flag来自真实漏洞利用,而非从writeup复制。

2.3 最小迭代地板机制

突破性设计:Agent在迭代20之前遇到 FLAG: UNKNOWN(或纯文本停滞),harness会强制拒绝并推回Agent:"换一个攻击类,你还剩N次迭代。"

这解决了AI Agent最常见的问题:过早放弃。典型表现是迭代4-7次就说"让我回忆一下writeup..."。


三、实战:两个"从未被解决"的挑战如何被攻破

v4.2版本的强制迭代机制带来了两个突破性成就:

3.1 noisier-crc 挑战(SekaiCTF 2023 困难密码学)

  • 迭代次数: 33次,1次拒绝
  • 攻击过程: Agent查询了133个不可约多项式,通过实时oracle恢复512位密钥,最后用CRT + GF(2)[x]高斯消元解密AES-CTR
  • 关键: 整个过程没有使用任何预先编码的攻击配方

3.2 noisy-crc 挑战(同系列)

  • 迭代次数: 20次,1次拒绝
  • 成果: 完全依靠Agent自身的密码学知识解决

核心教训:瓶颈从来不是Agent的知识(Opus 4.7知道这些攻击),而是持久性。手写的配方既是拐杖,也限制了Agent的发挥——它只能做到我们能写下来的程度。强制Agent用自己的知识持续攻击,比直接给它提示效果更好

3.3 对传统AI安全的启示

T3MP3ST的认知架构给我们的最大启示是:AI Agent的"聪明"和"有效"是两回事

一个给出完美攻击配方的AI是"聪明"的,但它是受限的聪明——它只能攻击我们能描述的漏洞。

一个被强制持续攻击的AI可能看起来"笨"——它会尝试很多明显错误的方法。但它是通用的问题解决者——它可能会发现我们从未想到的攻击路径。

这与人类安全研究员的成长路径惊人地相似:

阶段特征能力
新手依赖工具和教程只能解决已知问题
中级积累经验能识别模式
专家理解原理能创新攻击方法

T3MP3ST的v4.2认知框架让AI直接跳到了"专家"阶段——不是通过给它更多知识,而是通过强制它不要过早放弃

3.4 工具调用生态的深层设计

T3MP3ST的另一个设计亮点是工具的"能力声明"而非"使用指导"

传统Agent系统往往会给工具附上详细的使用说明:

// 传统方式
{
  name: "nmap",
  description: "端口扫描工具",
  usage: "nmap -sV -sC target_ip  // 扫描服务和脚本"
}

// T3MP3ST方式
{
  name: "nmap",
  description: "端口和服务发现",
  capabilities: ["服务版本检测", "脚本扫描", "OS指纹", "Traceroute"],
  // 没有usage——Agent需要自己探索
}

这种设计背后的理念:

  1. 减少提示污染:详细的使用说明会"污染"Agent的上下文,让它倾向于按照特定方式使用工具
  2. 激发探索:没有固定使用方式,Agent会尝试不同的组合
  3. 通用性:同样的工具在不同场景下可能有完全不同的用法

这与教育学中的**发现式学习(Discovery Learning)**理念不谋而合:学习者通过探索和实验获得的知识,比被动接受的知识更牢固、更灵活。


四、工具库:83+内置工具的武器库

T3MP3ST默认配备35个内置工具,开启完整武器库(T3MP3ST_FULL_ARSENAL)后可达83个:

# 基础安全工具
nmap, dnsenum, ffuf, sqlmap, dirb, gobuster
nikto, whatweb, wpscan, nuclei

# 后渗透工具
metasploit (需人工审批), hydra (需人工审批)
responder, impacket, bloodhound

# 静态分析
semgrep, bandit, flawfinder
ghidra, radare2, objdump, checksec, strings

# 密码学
john, hashcat, cryptominisat
python3 (sympy, z3, gmpy2, pycryptodome, pwntools)
ROPgadget, cyclic, disasm, asm, shellcraft

MCP集成

node dist/mcp-server.js
// 暴露 security_recon 工具给MCP感知的Agent

4.1 武器库分类详解

侦察类(Reconnaissance)

工具用途典型用法
nmap端口扫描nmap -sV -sC -O target
dnsenumDNS枚举子域名发现、区域传输
ffuf目录/参数模糊测试Web路径枚举
gobuster目录/虚拟主机扫描高并发目录发现
niktoWeb服务器扫描CVE检测、配置问题
whatweb网站指纹识别识别技术栈

利用类(Exploitation)

工具用途典型用法
sqlmapSQL注入检测自动检测并利用SQL注入
metasploit漏洞利用框架(需人工审批)
hydra暴力破解SSH/HTTP认证破解

分析类(Analysis)

工具用途典型用法
semgrep静态代码分析自定义规则扫描
banditPython安全分析捕获常见Python漏洞
ghidra逆向工程二进制分析

4.2 Python安全工具生态

T3MP3ST内置的Python环境预装了安全研究常用的库:

# 符号计算 - 用于密码学攻击
from sympy import GF, Poly, randprime

# SMT求解器 - 用于约束求解
from z3 import Solver, Int, sat

# 大整数运算 - 高性能密码计算
from gmpy2 import mpz, powmod, invert

# 密码学工具箱
from Crypto.Cipher import AES, DES
from Crypto.Util.number import getPrime, GCD

# 漏洞利用框架
from pwn import *  # pwntools

这些工具的组合让Agent能够进行实时的密码学攻击计算,而不需要依赖外部API或预计算的彩虹表。

五、快速上手:2分钟启动War Room

5.1 安装

git clone https://github.com/elder-plinius/T3MP3ST.git
cd T3MP3ST
npm install

5.2 启动War Room(Keyless模式)

npm run server
# War Room → http://127.0.0.1:3333/ui/
  1. 打开War Room,进入Settings
  2. 连接本地Agent(Claude Code / Codex / Hermes)
  3. Op Admiral用自然语言描述目标
  4. 启动任务

5.3 使用API密钥模式

export OPENROUTER_API_KEY=...     # OpenRouter
export ANTHROPIC_API_KEY=...       # Anthropic
export XAI_API_KEY=...            # xAI Grok Build

npm run server

5.4 完全离线模式(最强隐私)

# 启动Ollama
ollama serve
ollama pull llama3  # 或任何支持的模型

# 配置T3MP3ST使用本地模型
export TEMPEST_LOCAL_BASE_URL=http://localhost:11434/api
export TEMPEST_LOCAL_MODEL=llama3

# 交互式配置
npx tempest config
# → "Change default provider" → local

5.5 HTTP API集成

T3MP3ST提供完整的HTTP API,可以集成到现有的DevOps或安全编排流程中:

# 启动任务
curl -X POST http://127.0.0.1:3333/api/mission/start \
  -H "Content-Type: application/json" \
  -d '{
    "target": "https://target.example.com",
    "scope": ["target.example.com", "api.target.example.com"],
    "agents": ["recon", "scanner"]
  }'

# 查询状态
curl http://127.0.0.1:3333/api/mission/status?mission_id=xxx

# 获取发现
curl http://127.0.0.1:3333/api/mission/findings?mission_id=xxx

5.6 典型使用场景

场景一:授权渗透测试

# 1. 明确授权范围
export T3MP3ST_SCOPE='company.com,staging.company.com'

# 2. 启动War Room
npm run server

# 3. 在Web界面描述目标
# "对 staging.company.com 进行OWASP Top 10 测试"

# 4. Agent自动执行侦察→扫描→利用
# 5. 生成详细报告

场景二:CTF训练

# 直接在Docker容器中运行挑战
docker run -it vulnerable-ctf-challenge

# War Room中输入
# "解决这个Docker容器中的所有CTF挑战"

# Agent会自动:
# 1. 探测服务
# 2. 分析源码
# 3. 构造exploit
# 4. 提取flag

场景三:开源项目安全审计

# 克隆目标仓库
git clone https://github.com/target/project
cd project

# War Room中
# "对这个Python项目进行白盒安全审计,重点关注注入漏洞"

# Agent会:
# 1. 分析依赖版本
# 2. 检查已知CVE
# 3. 使用bandit/semgrep扫描
# 4. 手动代码审查
# 5. 尝试构造exploit

5.7 War Room界面功能

War Room是T3MP3ST的Web控制台,提供以下功能:

功能说明
任务控制创建、暂停、恢复、终止任务
实时日志观看Agent的思考和行动流
工具调用查看每次工具调用的输入输出
证据库自动收集的漏洞证据和截图
报告生成一键导出Markdown/PDF格式报告
团队协作多人同时查看,支持评论标注

六、基准测试:数字可以自己验证

T3MP3ST最令人放心的设计是:每个数字都可以自己验证

npm run verify-claims
# 重新计算README中所有标题数字
# 24/24 绿色通过

官方基准数据

套件结果说明
XBEN (黑盒)90.1% pass@1 (Wilson-95: 86.2-92.9)XBOW官方自称85%
XBEN (白盒)98.7% pass@1, 最高104/104不与黑盒数据混合
Cybench23/40 (58%) 无提示单次通过每次flag对照committed oracle验证
CVE-Zero单Agent 8/10 精确文件/行/CWE,10/10 发现10个2026年后真实CVE,模型从未见过

6.1 基准测试详解

XBOW XBEN Suite

XBEN是XBOW项目官方维护的104道挑战题库,涵盖:

  • Web漏洞(SQL注入、XSS、CSRF等)
  • 密码学挑战(RSA、AES、椭圆曲线)
  • 二进制漏洞(栈溢出、格式化字符串)
  • 逆向工程

评分方法

  • pass@1: 第一次尝试的成功率
  • Wilson 95% CI: 考虑样本量的置信区间

T3MP3ST的90.1% pass@1意味着:平均每个挑战只需要一次尝试就能解决

CVE-Zero测试

这是最令人印象深刻的测试:

  • 10个2026年之后发布的真实CVE
  • 模型训练数据不可能包含这些漏洞
  • 要求:定位到精确的文件:行号CWE分类

结果:8/10精确定位,10/10发现漏洞存在

这证明了T3MP3ST不仅能解决已知的攻击模式,还能泛化到从未见过的新漏洞

反作弊机制

为了确保基准测试的公平性,T3MP3ST实现了多层反作弊机制:

# 1. Writeup过滤
# 所有题目文件中的writeup/解题思路被自动删除
# 如果Agent"意外"看到,仍然必须忽略

# 2. 提交前检查
# npm run verify-claims
# 会检查:
#   - 答案是否来自committed oracle
#   - 是否有外部帮助
#   - 代码是否被篡改

# 3. 污染审计
# 每次发布新基准测试前,会运行INTEGRITY_LEDGER
# 确保训练数据中没有污染

6.2 可重复性承诺

T3MP3ST的另一个创新是**"证明就在代码里"**:

git clone https://github.com/elder-plinius/T3MP3ST
cd T3MP3ST
npm run verify-claims

# 输出示例:
# ✅ XBOW XBEN: 91/104 passed (87.5%)
# ✅ Cybench: 23/40 passed (57.5%)
# ✅ CVE-Zero: 8/10 exact match
# 
# All claims verified. 24/24 green.

这意味着任何人都可以独立验证这些数字,而不需要信任开发者的声明。


七、OPSEC设计:作用域containment

安全工具最怕被滥用,T3MP3ST内置了严格的作用域隔离

一旦设置任务目标,内置网络工具自动拒绝:
❌ 目标/子域名之外的公网主机
❌ 回环地址
❌ 私有地址
✓ 目标本身
✓ 目标的子域名

这叫SCOPE DENIED——不是裸的工具运行器,是收紧的默认配置。


八、覆盖领域:现在和未来

领域覆盖范围状态
🕸️ Web应用OWASP Top 10,认证流程✅ 核心,XBEN 90.1%
🚩 CTFCTF挑战题✅ 核心,Cybench验证
🤖 嵌入式/IoT/OT固件、机器人、开源CVE✅ CVE管道已上线
📂 源码审计白盒分析⚠️ 实验性,Python优先
💰 智能合约DeFi⚠️ 复现已知漏洞,非新发现
☁️ 云安全AWS/GCP/Azure🚧 开发中
📱 移动安全Android/iOS🚧 开发中
🔐 二进制/RE溢出、ROP、漏洞利用🚧 开发中

九、为什么这很重要:民主化安全测试

9.1 打破精英垄断

传统观点认为:

  • 需要多年实战经验
  • 需要昂贵的安全工具
  • 需要"攻击者思维"

T3MP3ST用框架+AI的组合证明了:知识可以被编码,流程可以被自动化,但创造力仍然来自AI Agent本身

9.2 诚实的重要性

最值得称道的不是T3MP3ST能做什么,而是它坦承什么还不能做。状态表明确标注:

  • ✅ 稳定的
  • ⚠️ 实验性的
  • 🚧 路线图上的

这种透明度在安全社区极为罕见。

9.3 开源的意义

AGPL-3.0许可证意味着:

  • 任何人可以审计代码
  • 任何人可以验证基准
  • 任何人可以贡献改进
npm run verify-claims  # 验证每个声明

十、局限性与未来

10.1 当前局限

  1. Swarm未验证:8操作符协同攻击尚无基准数据
  2. 白盒分析:仅支持Python(正则 ingest)
  3. DeFi:只能复现已知漏洞,无法新发现
  4. 云/移动/二进制:静态检测阶段,动态利用未基准化

10.2 开放改进方向

  • 跨运行学习:每次反思输出追加到知识文件
  • 类别条件工具注入:PWN任务获得pwntools包装器
  • 自动CVE查询:按版本索引的CVE PoC草图缓存
  • 对抗性自我博弈:防御Agent隐藏flag,攻击Agent求解

10.3 伦理考量:安全工具的双刃剑

T3MP3ST这样的工具引发了安全社区的深刻讨论:自动化漏洞发现是好是坏?

正面观点

  1. 防御者受益更大

    • 企业可以用它自动化自己的安全测试
    • 开源项目可以用它持续集成安全扫描
    • 小团队可以获得原本只有大公司才有的安全测试能力
  2. 提高攻击门槛(反直觉):

    • 当所有人都能"轻易"发现漏洞,防御者也会被迫提高安全标准
    • 类似于"核武器的恐怖平衡"——没人敢先动手
  3. 教育价值

    • 新手可以观察AI如何解决安全挑战
    • 学习AI的思考方式和攻击路径

负面观点

  1. 降低攻击门槛

    • 脚本小子可以用AI发现漏洞而无需理解原理
    • 定向攻击变得更容易
  2. 0day泛滥风险

    • 如果AI能轻易发现0day,这些漏洞的流通速度会大幅增加
    • 防御者可能措手不及
  3. 责任归属模糊

    • AI发现的漏洞,发布者需要负责吗?
    • AI错误利用工具,责任如何界定?

T3MP3ST的作者明确表态:只用于授权测试,并在代码中内置了作用域限制。但技术限制永远无法完全阻止滥用——最终还是要靠使用者的道德自觉。

10.4 与其他AI安全工具的对比

工具类型特点
T3MP3ST多Agent红队框架端到端杀伤链,可验证基准,Keyless
XSpear单Agent扫描器专注于XSS,自动利用
Semgrep静态分析规则驱动,无Agent
CodeQL静态分析语义查询,无Agent
Burp Suite Pro传统工具手动为主,AI辅助

T3MP3ST的独特之处在于Agent化的端到端自动化——从侦察到报告,不需要人工介入每个环节。

10.5 未来展望

短期路线图(3-6个月)

  • 云安全模块GA(AWS/GCP/Azure全攻击链)
  • 移动安全动态分析
  • 二进制自动exploit生成
  • Swarm模式基准测试

中期愿景(1-2年)

  • 多目标协同攻击
  • 自动CVE报告生成
  • 防御策略自动建议
  • 与SIEM/SOAR平台集成

长期理想

想象一个世界:

  • 每个开源项目都有CI/CD集成的T3MP3ST扫描
  • 每次commit都会触发自动安全测试
  • 发现漏洞后自动生成报告并提交CVE
  • 维护者收到的是"已验证的PoC"而非"可能的风险"

这不是遥不可及的梦想——T3MP3ST已经在部分场景中实现了这些功能。

结语:Keyless Warfare的时代

T3MP3ST代表了一种新的安全研究范式:用你已有的工具,做专业级别的安全测试。它不完美—— swarm协同尚未验证,很多领域还在建设中——但它展示了正确的方法:

  1. 诚实的基准测试
  2. 可重复的验证
  3. 民主化的工具链

给不同读者的建议

如果你是安全研究员

T3MP3ST不会取代你的工作,但它能处理繁琐的侦察和枚举工作。用省下的时间专注于需要创造力的部分:

# 让AI处理
nmap扫描 → 目录枚举 → 指纹识别 → 已知漏洞匹配

# 留给你
逻辑漏洞挖掘 → 认证绕过设计 → 业务安全分析

如果你是开发者

在本地运行T3MP3ST扫描你自己的项目:

git clone https://github.com/elder-plinius/T3MP3ST
cd T3MP3ST
npm install

# 设置只扫描本地或测试环境
export T3MP3ST_SCOPE='localhost,127.0.0.1,staging.local'

npm run server
# 在War Room中输入:"对我的本地开发环境进行安全测试"

如果你是安全管理者

T3MP3ST可以用作自动化渗透测试的起点。记住:

  • 它不能替代人工渗透测试
  • 但可以大幅提高测试频率
  • 结合CI/CD可以实现持续安全验证

行动清单

  1. ☐ 克隆仓库:git clone https://github.com/elder-plinius/T3MP3ST
  2. ☐ 阅读授权指南:docs/SCOPE_AND_AUTHORIZATION.md
  3. ☐ 本地运行verify-claims:npm run verify-claims
  4. ☐ 在隔离环境测试(如Vagrant/Docker)
  5. ☐ 阅读COGNITIVE_ARCHITECTURE文档
  6. ☐ 尝试一个CTF挑战
  7. ☐ 贡献代码或报告

最后的话

安全行业长期以来被两种极端统治:

  • 精英主义:只有专家才能做安全
  • 工具依赖:买一堆工具期待它们能解决问题

T3MP3ST代表了第三种路径:让AI成为真正的合作伙伴,而不是替代品,也不是工具

它证明了:

  • AI不是万能的,但没有AI是万万不能的
  • 自动化不是终点,而是起点
  • 诚实的基准测试比漂亮的营销更有价值

"Fortes fortuna iuvat" — 命运眷顾勇者。

但命运也眷顾那些诚实面对自己能力边界的人。


参考链接


本文仅供技术研究与教育目的使用。请务必遵守当地法律法规,仅对您拥有授权的系统进行安全测试。

推荐文章

介绍25个常用的正则表达式
2024-11-18 12:43:00 +0800 CST
一个数字时钟的HTML
2024-11-19 07:46:53 +0800 CST
介绍 Vue 3 中的新的 `emits` 选项
2024-11-17 04:45:50 +0800 CST
HTML5的 input:file上传类型控制
2024-11-19 07:29:28 +0800 CST
Vue3中的Store模式有哪些改进?
2024-11-18 11:47:53 +0800 CST
程序员茄子在线接单