# 漏洞总结:AstroBot Dashboard 硬编码凭据与计时攻击 ## 漏洞概述 * **漏洞名称**:AstroBot Dashboard 硬编码凭据与计时攻击 * **严重等级**:CRITICAL (CVSS: 9.8) * **漏洞类型**: * CWE-798: 使用硬编码凭据 * CWE-208: 可观测的计时差异(计时攻击) * **受影响版本**:AstroBot AI agent platform (v1.0.0) * **披露日期**:2026年2月14日 ## 影响范围 1. **全系统入侵**:攻击者可重新配置机器人、窃取 API 密钥(OpenAI, Claude 等)并拦截用户对话。 2. **远程执行**:如果机器人启用了 "Shell" 或 "MCP" 工具,攻击者可通过仪表盘访问执行任意代码。 ## 修复方案 1. **强制初始设置**:强制用户在首次使用时设置唯一密码;从源代码中移除所有硬编码的回退机制。 2. **常量时间比较**:对所有凭据检查实施 `secrets.compare_digest()`。 3. **安全哈希**:使用 Argon2 或 bcrypt 等现代哈希算法替换简单的字符串比较。 ## 概念验证 (PoC) 代码 ```python # astrobot/dashboard/routes/auth.py (Lines 22-27) if (username == "astrobot" and password == "77b90590a8945a7d36c963981a3b70c3" and not DEMO_MODE): change_pwd_hint = True logger.warning("为了保障安全,请尽快修改默认密码。") # Warning: Modify default password as soon as possible. ```