Posts for: #Tech

ntfy.sh 是什么

ntfy.sh 是一个很轻的通知服务。手机或电脑先订阅一个 topic,你的服务器、脚本、监控工具或任何程序,只要向 https://ntfy.sh/你的-topic 发一个 HTTP 请求,这条消息就会变成推送通知弹出来。

它适合做小而确定的提醒:备份失败、网站挂了、长任务跑完、家里传感器触发。最简单的用法只有一行:

curl -d "Backup failed" https://ntfy.sh/my-secret-topic

ntfy 是开源项目,可以直接用官方服务,也可以自己部署。默认不需要注册,所以 topic 名字本身就像密码,要取一个不容易被猜到的名字。敏感信息不要随手发到公共服务上。

官网:https://ntfy.sh/

GitHub:https://github.com/binwiederhier/ntfy

Mac 远程桌面:看的是同一个画面

今天我在外面,远程连回我的电脑操作。同事经过,看到那台电脑居然没锁屏——屏幕亮着,鼠标自己在动,窗口一个个开。我才去了解了 Mac 远程桌面是怎么回事。

打开 Mac 的「屏幕共享」连上另一台 Mac,你看到的就是那台机器此刻的屏幕,和坐在它面前的人看到的完全一样。它当下显示什么,你这边就显示什么。我在外面操作,那台电脑的屏幕就同步显示我的每一步——同事看到的"没锁屏",就是我远程操作的实时画面。

你动鼠标,那台 Mac 屏幕上的鼠标也跟着动;你打字,字就落在它的屏幕上。坐在电脑前的人能实时看到你点了哪里、开了哪个窗口、敲了什么,像看直播。

控制权是两人共享的。你能动,坐在跟前的人也能动。要是同事这时顺手去推那台电脑的鼠标,就会和我远程的操作抢起来——光标在屏幕上跳来跳去,谁都使不顺。想配合,得有人先松手。

远程桌面连过去,是两个人共用同一块屏幕、同一套鼠标键盘。人没在跟前,用的还是那台真机。

eink 手机重装后的工具清单

昨天重装了 eink 手机。安装后希望装少而精的几个工具即可:

Telegram、Pocket Casts、Claude、Google Tasks、Brave、YouTube、微信读书、微信输入法、Slax Reader、Slax Note、Dropbox、Gemini、Spotify。

eval 是什么,sgai.md 怎么做

只要产品里嵌了 AI,就一定要做 evals。这是过去两个月在 sgai.md(新加坡 AI 战略观察站)上踩坑总结出来的判断。

eval 是什么

eval = 评估测试。给 AI 输出和数据完整性写的回归测试,但和单元测试不是一回事。

单元测试测的是「函数给定输入,输出是不是这个值」——确定性的。

eval 测的是「AI 这次生成的东西,和金标 / 规则相比,质量有没有掉」——非确定性的。

简单说:单元测试盯代码,eval 盯模型 + 数据

eval 解决什么问题

任何依赖大模型的系统,都有三个天然漏洞。代码里写的单元测试管不到,人肉 review 一定漏。

模型会幻觉。 LLM 会编一个看起来合理但根本不存在的 URL、人名、事实。我自己在 sgai.md 上踩过——5 月初让 agent 给一批 voice 人物档案补「主导项目 / 公开引言」,agent 给两条记录写了根本不存在的 sourceUrl(一个伪造的 Fintech Festival 演讲者 ID,一个伪造的航空业报道)。URL 模式正确得肉眼分辨不出,靠用户事后报错才发现。

模型会退化。 升级模型(Claude 4.6 → 4.7)或改 prompt,输出可能变差。但你不会主动知道——除非有人发现产出明显烂了。等用户先发现就太晚了。

数据会漂移。 AI 生成的内容入库后,没人持续盯着完整性,漏字段、缺翻译、链接腐烂会慢慢累积。sgai.md 是中英日三语站,数据文件里每条 record 要求 title / titleEn / titleJa 三套字段必须同时给。我有一次只 commit 了中文,下一个 PR 想补英日——结果 EN/JA 页面立刻断裂。

[阅读全文]

Bitwarden CLI npm 包被投毒,AI 编码工具凭证成新目标

The Hacker News 报道了一起 npm 供应链攻击:Bitwarden CLI 的 npm 包(@bitwarden/cli)2026.4.0 版本被植入恶意代码,藏在包内的 bw1.js 文件里。

感染窗口从 4 月 22 日 ET 时间下午 5:57 到 7:30,约 1.5 小时,估计 334 次下载。被怀疑是更大规模 Checkmarx 供应链攻击的一部分,归因到 “Shai-Hulud: The Third Coming” 这一波。

攻击路径

攻击者拿下了 Bitwarden CI/CD 流水线里一个被入侵的 GitHub Action(checkmarx/ast-github-action),通过 preinstall 钩子在用户 npm install 时执行恶意代码。

据安全研究员 Adnan Khan 说,这可能是首次使用 npm Trusted Publishing 的包遭到入侵。

恶意代码偷什么

  • 本地开发凭证:GitHub / npm tokens、.ssh 密钥、.env 文件、shell 历史
  • 云端密钥:GitHub Actions 环境变量、CI/CD secrets、多云凭证
  • AI 编码工具配置:Claude、Kiro、Cursor、Codex CLI、Aider 的认证配置
  • 自传播:偷到 GitHub token 后注入恶意 Actions workflow,用偷到的 npm 凭证向下游包发布恶意版本,蠕虫式扩散
  • 数据外泄走 AES-256-GCM 加密发到伪装域名 audit.checkmarx[.]cx,失败后以 GitHub commit 作为 fallback

有一个细节:如果系统 locale 是俄罗斯,恶意代码自动退出。这一行为与原始 Checkmarx 攻击不一致。

[阅读全文]