本机笔记助手开着网页就能翻?先升级再停用这把阿里云 RAM AccessKey

简介: 周末按量账单抬升,对齐到一把曾写进本机笔记助手的阿里云 RAM 永久 AccessKey。Basic Memory 在 sse / streamable-http 传输下,恶意网页可经 DNS 重绑定读取未鉴权笔记。本文按公开通告与官方文档说明谁受损、RAM 与账单边界,以及先升级助手、再停用密钥、对账并补预警的顺序。示例均已打码。

周二早上,财务把「费用与成本」里按天账单截图丢进群:周末单日按量抬升,多出一批非业务窗口开的 ECS。运维打开 RAM,找到一把给「本机记忆助手」联调用过的永久 AccessKey,最后使用时间正好落在那几天。

再对上公开安全通告:本地知识库工具 Basic Memory 在用 HTTP 类传输跑 MCP 时,恶意网页可经 DNS 重绑定触达本机未鉴权接口,搜索、读取甚至删除笔记。若你曾把阿里云 RAM AccessKey(AK/SK)、.env 片段或部署备忘写进这类本机笔记,就应按「密钥可能已被读走」处理:先停用或删除 AccessKey,再用 ActionTrail 查调用、费用与成本对账并补成本预警。下面按公开外证与阿里云官方文档,说明谁受损、三条边界与控制台止血清单。示例一律打码。


一、外证怎么读:本机笔记助手的传输面

Basic Memory 通告(只引官方已确认结论)

Basic Memory 维护方于 2026 年 10 月 23 日公开安全通告 GHSA-4gfv-c2mm-mvj2。目前能核对的结论如下:

  • 受影响软件包:basic-memory(pip);受影响版本:低于 0.24.0;补丁版本:0.24.0
  • 文档建议安装 0.24.1 或更高:0.24.0 在全新安装时可能遇到 FastAPI 导入问题,0.24.1 起对 FastAPI 做了固定
  • 影响条件:以 MCP 的 sse 或 streamable-http 传输运行时,恶意网页可经 DNS 重绑定触达本机未鉴权 MCP,进而搜索、读取、删除笔记等
  • 仅绑定 127.0.0.1 不够:缺的是对 Host / Origin 的校验,不是绑定地址本身
  • 默认的 stdio 传输不受本次问题影响
  • 0.24 起对 HTTP 类传输补上了重绑定防护,并把 streamable-http 默认绑定改为 127.0.0.1

通告:https://github.com/basicmachines-co/basic-memory/security/advisories/GHSA-4gfv-c2mm-mvj2
升级说明:https://docs.basicmemory.com/whats-new/v0-24 与 https://docs.basicmemory.com/whats-new/v0-24-upgrade

映射到阿里云:为什么是「账号买单」

阿里云官方文档写得很清楚(摘要转述,以文档为准):AccessKey 等于 AccessKey ID 加 AccessKey Secret,用于 API / CLI / SDK,不能登录控制台;但在权限范围内可创建、变更、删除资源,按量费用照样记在阿里云账号(主账号计费主体)上。官方建议:不要给阿里云账号(主账号)创建 AccessKey;日常用独立 RAM 用户;授予最小必要权限;程序身份优先 STS 临时凭证;不要把永久 AccessKey 嵌进代码或随手贴进笔记。

因此,若永久 AK/SK 曾作为「联调备忘」「环境变量片段」写进本机记忆助手的笔记库:HTTP 类传输下笔记可被网页侧触达后,名称与值可能一并落在攻击者手里;对方用编程方式调阿里云 API(在该 RAM 用户权限范围内),开按量资源或拉对象存储;费用与成本曲线抬升,钱记在主账号,跟本机助手窗口标题无关。

虚构打码示例(勿当真钥,仅供对照自家「最后使用时间」):

RAM 用户:ram-dev-notes-xxxx
AccessKey ID:LTAIxxxxxxxx3K7Q
状态:启用
出现位置:本机记忆助手笔记中的「部署备忘 / .env 片段」段落
权限画像:曾挂过偏宽的 ECS / 按量相关系统策略(应立即缩权)
最后使用时间:落在通告公开前后异常开资源窗口内(对照本账号真实记录)

fig1


二、谁受损:同一把钥匙,四种账

损失形态不一样,分开说。

财务 / 出纳方面,直接损失是按量账单陡升、可用额度被抽干、可能触发欠费停服;连带是对账周期被打乱。把通告公开日附近标成对账起点,不要等通知邮件齐了再动。

安全 / 合规方面,凭证失控面从「一台业务机上的配置文件」扩到「凡写进本机笔记库、且助手以 HTTP 类传输对外的内容」;审计若拿不出「密钥最后使用时间」与轮转记录,事后更难交代。同一把钥若还进了 CI、本地 .env 或另一台开发机,事件面会更宽。

业务与工程侧,欠费、资源争抢或紧急停钥都可能打到核心服务;「我只是把 AK 贴进笔记方便联调」挡不住账单上的 API 轨迹。本机助手方便检索,网页一旦能翻到笔记,事故也会扩散得更快。

研发 / 运维个人侧,开了本地记忆助手(sse / streamable-http)还把云密钥写进笔记的人是第一接触面;真正买单的仍是阿里云账单方。

止血顺序固定:升级或停用有风险的传输面,停用密钥,再缩权、清异常资源,再核对账单与告警,最后才复盘。


三、三条边界:RAM、AccessKey、账单

RAM 边界:人、策略、最小权限,不是「一个管理员密码」

对照阿里云访问控制 RAM 官方实践(摘要转述,以文档为准):

  1. 不要给阿里云账号(主账号)创建 AccessKey,主账号密钥接近整本账本,也难以用来源 IP、时间等条件约束。
  2. 日常运维用独立 RAM 用户,避免主账号登录做开发。
  3. 授予最小必要权限,慎用「AdministratorAccess」等过宽系统策略;开发机或联调用户应收紧到「本职所需产品与操作」。
  4. 程序身份优先 STS 临时凭证,或实例 / 服务角色自动取临时凭证,永久 AccessKey 只当作不得已的选项。
  5. 控制台用户开 MFA;对创建密钥、开高配资源等操作保留审计与变更窗。
  6. 不要把永久 AccessKey 嵌进代码,也不要随手写进本机笔记、共享文档或聊天记录,存放位置只改变泄露路径,不改变账单归属。

fig2

AccessKey 边界:永久 AK 和 STS 不是一回事

硬约束(以「创建 AccessKey」「禁用 / 删除 / 轮转 AccessKey」为准):

  • AccessKey 等于 AccessKey ID 加 AccessKey Secret,用于 API / CLI / SDK / Terraform,不能登录控制台。
  • 每个 RAM 用户最多 2 个永久 AccessKey;设计意图是「一把业务、一把轮转」。
  • Secret 仅创建时显示一次;丢失只能新建再轮转。
  • 禁用会立即阻断该密钥的 API 调用;删除通常需先禁用,再入回收站(回收站有保留期,误删可恢复;彻底删除不可恢复,以控制台与文档为准)。
  • 也可配置闲置自动禁用。文档常见建议是约 90 天未使用自动禁用,以控制台实际设置为准。

与本场景的对照:HTTP 类传输下本机笔记可被网页侧触达;笔记里的永久 AccessKey,可在权限范围内调阿里云 API;费用记在主账号账单,不记在开发者个人支付渠道。默认 stdio 传输不受本次通告影响。若你已经开过 sse / streamable-http,仍应按「笔记内容可能已被读」盘点密钥。

账单边界:费用与成本看花了什么,预警看偏没偏

打开「费用与成本」里的账单管理:月账单概览、账单详情(消费明细)。异常当周盯按天应付金额,以及按产品、地域汇总的 Top 项。后付费明细常见有呈现延迟;未出账数据不要直接当最终对账依据。记下异常资源或实例 ID,供后续释放与审计。

成本预警可配高额消费预警(按产品日账单阈值)、资金可用额度预警、预算预警、异常检测预警等(见「成本预警」文档)。预算管理可按账号、产品等维度设年 / 季 / 月费用预算;每条预算最多约 5 组预警;超阈值后常见 T+1 发一次通知;费用预算创建后常见 T+2 才见实际值或预测值,适合当财务雷达,但不会限制资源使用。

异常检测用算法标疑似异常,不为资损负责,也不会自动关资源;开启后结果常见次日可见。严重异常提前预警按官方说法能缩短触达时间,仍不能替代禁用 AccessKey。

fig3

fig4


四、控制台逐步核对(费用到密钥到资源再到告警)

以下假设你具备账号或 RAM 管理员权限;生产环境请先开变更窗。先停可疑密钥,再清异常资源。

步骤 A|费用侧:偏了多少、偏在哪类产品

  1. 打开「费用与成本」→「账单管理」→「账单详情」,把时间调到通告公开日(2026-10-23)前后(至少覆盖至停钥之日),看是否单日陡升。
  2. 按产品类型、按量、地域过滤,记下 Top 资源或实例 ID。
  3. (可选)打开成本预警、预算管理、异常检测;没有记录不代表没有资损(注意 T+1 / T+2 时延)。

可自填核对(代入本账号真实导出):

  • 异常日前 7 日日均:__ 元
  • 异常日当日:__ 元
  • 比值:__ 倍
  • Top 产品(如 ECS 按量):__
  • 嫌疑 AccessKey 最后使用时间:__(Asia/Shanghai)

步骤 B|身份侧:陡升对齐到哪把密钥、哪个用户

  1. 打开 RAM「身份管理」→「用户」:排查命名含「dev」「notes」「memory」「mcp」「tmp」「legacy」的用户,以及近期新建用户。
  2. 进入用户后的「凭证管理」里看 AccessKey:记录状态、创建时间、最后使用时间。
  3. 若最后使用时间落入通告公开前后的异常开资源窗口,将该钥视为优先嫌疑对象。
  4. 同步检查:主账号是否仍持有 AccessKey,若有,按官方建议评估后禁用并删除,业务迁到最小权限 RAM 用户或 STS。
  5. 有操作审计 ActionTrail 的,按 AccessKey ID 查询调用过的云服务与事件(见 ActionTrail「查询 AccessKey 日志」),交叉验证 IP、产品与资源变更。

fig5

步骤 C|权限侧:这把密钥本来能做什么

  1. 查看该 RAM 用户所属用户组及附加策略。
  2. 若存在「AdministratorAccess」、过宽的 FullAccess、或「所有资源」范围,泄露影响面接近账号级。
  3. 编程用用户尽量用自定义策略收到「刚好能完成工作」;控制台管理员与机机账号分离。
  4. 若该用户历史上挂过管理员类系统策略,先摘策略、再轮转密钥,不要只换一把同样过宽的新钥。

步骤 D|资源侧:停钥之后再清异常开出来的东西

  1. 先禁用嫌疑 AccessKey(删除通常先禁用;确认业务无影响,再删除或走回收站流程)。
  2. 每用户最多 2 把钥,可走「一主一备」:新建并切流,观察旧钥最后使用时间不再更新后禁用、删除。
  3. 按步骤 A 的资源 ID,在对应地域释放异常按量 ECS / 磁盘 / EIP;必要快照仅用于取证。
  4. 检查是否被新建 RAM 用户、新 AccessKey 或异常角色扮演;凡曾写入本机笔记的同源凭证(含备用钥、CI 副本),按「整组已暴露」轮转。

fig6

步骤 E|本机笔记与助手侧:别只盯控制台

  1. 列出过去一年内,所有曾把阿里云 AK/SK、数据库密码、签名密钥写进本机记忆助手、本地知识库或「联调备忘」笔记的项目。
  2. 在云厂商侧先撤销 / 禁用旧凭证,再清理笔记中的明文片段并改用密钥管理或临时凭证;只改笔记字符串、不先撤云侧旧钥,等于旧钥仍可用。
  3. 把 Basic Memory 升到 0.24.1 或更高;若必须使用 HTTP 类传输,按官方升级说明核对 Host / Origin 防护与绑定行为。能改回默认 stdio 的,优先改回。不要把永久云密钥再写回任何本机笔记或共享文档。

五、缓解清单

已发生或高度疑似泄露(小时级)

  • 禁用嫌疑 RAM AccessKey;必要时同时缩权(细则以官方最佳实践与变更单为准)。
  • 主账号若仍有 AccessKey:业务切到 RAM 用户最小权限钥或 STS 后,禁用并删除主账号 AK。
  • 释放异常按量资源;确认费用与成本当日走势回落;高权限控制台用户开启 MFA。
  • 通知财务自通告公开日附近起核对可用额度与欠费风险。
  • 若密钥曾出现在本机笔记:按「所有曾写入该笔记库的同源凭证」轮转,不要只换一个项目。
  • 升级 Basic Memory 到 0.24.1 或更高;暂停有风险的 sse / streamable-http 暴露,优先改回 stdio。

48 小时内(防止复发)

  • 清点全部 RAM 用户 AccessKey:无「最后使用」、仅控制台登录的用户,删除多余 AK。
  • 编程负载优先改为 STS 临时凭证或角色;必须用永久钥时:最小权限加定期轮转(双钥一主一备)。
  • 代码仓、CI、共享盘、本机笔记 / 知识库检索永久凭证痕迹;凡出现过的一律视为已泄露并轮转。
  • 配置费用与成本预算预警(例如月预算 80% 实际值 / 预测值)与高额消费预警;确认短信 / 邮件接收人有效。
  • 开通并会用 ActionTrail 按 AccessKey 查日志;对「创建 AccessKey / 开 ECS」类事件设团队告警流程。

制度与架构(按迭代落地)

  • 本机 AI / 记忆助手接入门禁:上线前检查「云密钥不得以永久明文进笔记库」;HTTP 类传输默认关闭或仅内网变更窗内短时开启。
  • 用户组按职能拆分(只读 / 运维 / 费用 / 安全);自定义策略优先于过宽系统策略。
  • 密钥轮转写入变更日历(例如每 90 天),轮转记录与「最后使用时间」截图一并归档;择机做一次「停用密钥,业务切流,账单回看」桌面推演。
  • 开发机禁止落主账号凭证;生产变更只走角色扮演加变更单。

六、常见误区

  1. 「助手绑在 127.0.0.1,网页应该翻不到」
    通告写明:缺的是 Host / Origin 校验,DNS 重绑定可以绕过「只绑本机」这类依赖。以官方补丁与升级说明为准。

  2. 「我用的是默认 stdio,这篇可以跳过」
    默认 stdio 不受本次问题影响。但若团队里有人改过 sse / streamable-http,或笔记里本来就有云密钥,仍应按「明文曾落盘」盘点与轮转。

  3. 「开了 RAM 最小权限就等于密钥安全」
    最小权限只降低爆炸半径;永久 AK 仍可能在权限范围内持续开资源。STS 与角色解决的是凭证生命周期。

  4. 「费用异常检测或预算告警会替你刹车」
    不会。官方写明预警不限制资源使用;异常检测也不为资损负责。告警只能当雷达,禁用 AccessKey 才是刹车。

  5. 「删了密钥就万事大吉」
    不完整。还需清异常资源、查新用户或新密钥、按同源凭证轮转、补 MFA 与预算告警,并改掉「永久云密钥写进本机笔记」的习惯。日常管理用已授权 RAM 用户,不要给主账号创建 AccessKey。


七、小结

本机记忆助手让本地笔记变成可被工具检索的知识面。在受影响的 HTTP 类传输版本上,网页侧触达笔记的路径,公开通告已经确认。笔记里若还躺着阿里云永久 AccessKey,安全事件会直接变成费用事件。

企业侧顺序应固定为:

  1. 升级助手、关掉有风险的 HTTP 类传输或改回 stdio
  2. 禁用或轮转 RAM AccessKey,缩权到最小
  3. 清异常按量资源,用费用与成本加 ActionTrail 对齐时间线
  4. 预算与成本预警托底,制度上禁止把永久 AK 写进本机笔记

谁受损、先做什么,写在篇首。内部故障报告里建议写清三组数字:日均费用对比异常日费用、密钥最后使用时间对比异常开资源时间、助手版本对比 0.24.1。

如果你平时还要把合同、简历或配置文档发给外部大模型处理,可以先在本地用青椒智能脱敏处理敏感字段再上传:https://qingjiaolab.com


八、参考(阿里云文档域 + 公开外证)

阿里云官方文档(help.aliyun.com)

  1. 创建 AccessKey:https://help.aliyun.com/zh/ram/user-guide/create-an-accesskey-pair
  2. 查看 RAM 用户 AccessKey 信息:https://help.aliyun.com/zh/ram/user-guide/view-the-accesskey-pairs-of-a-ram-user
  3. 禁用 RAM 用户的 AccessKey:https://help.aliyun.com/zh/ram/user-guide/disable-an-accesskey-pair-of-a-ram-user
  4. 删除 RAM 用户的 AccessKey:https://help.aliyun.com/zh/ram/user-guide/delete-an-accesskey-pair-of-a-ram-user
  5. 轮转 RAM 用户的 AccessKey:https://help.aliyun.com/zh/ram/user-guide/rotate-accesskey-pairs-of-ram-users
  6. 身份与权限最佳实践:https://help.aliyun.com/zh/ram/product-overview/best-practices-for-identity-and-access-control
  7. 成本预警:https://help.aliyun.com/zh/user-center/cost-alert
  8. 预算管理:https://help.aliyun.com/zh/user-center/how-to-manage-a-budget
  9. 异常检测:https://help.aliyun.com/zh/user-center/anomaly-detection
  10. 查询 AccessKey 日志(ActionTrail):https://help.aliyun.com/zh/actiontrail/user-guide/query-the-logs-of-an-accesskey-pair

公开外证

(控制台路径以登录后实际菜单为准;文档与披露版本随上游更新,引用时请打开链接核对。)

相关文章
WXM
|
Java 应用服务中间件 Maven
|
云安全 安全 网络安全
|
7天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
2008 1
|
14天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
3195 0
|
13天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
2288 44
|
10天前
|
Web App开发 人工智能 前端开发
2026 年 AI 浏览器怎么选?Ego Lite、Tabbit、Chrome DevTools MCP 深度对比,开发者到底该用哪个?
2026年AI浏览器选型指南:Ego Lite专注多Agent协同(Mac优先),Tabbit国产首选,原生支持Windows与Codex控制;Chrome DevTools MCP非浏览器而是开发者利器,深度集成Console/Network/Performance调试能力,让AI真正“看懂并验证”前端代码。
1430 3
|
7天前
|
安全 应用服务中间件 Go
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
PHP2Shell 双 RCE 已遭在野利用:WordPress、Drupal 全在射程内,nginx 其实另有洞。拆成因与修复顺序
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
|
8天前
|
开发者 索引
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
Open Plugin Market 是一个开放插件索引平台,收录800+优质DSH插件,支持分类浏览、智能推荐与随机发现。无需安装市场,粘贴索引地址即可一键接入,网页版直访 dshopen.org,助力小开发者被看见。(239字)
1737 1
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
|
6天前
|
人工智能 Linux API
Magpie, 轻量本地AI网关!免费Token用不完!
Magpie 是开源AI编程模型调度网关,上线一月获1.8万Star。它通过本地高性能网关统一托管多平台API密钥、账号与免费额度,实现跨Agent的模型秒级切换、静默额度轮换与资源复用,显著降低碎片化管理成本。(239字)
Magpie, 轻量本地AI网关!免费Token用不完!

热门文章

最新文章