一位开发者发现 Slack 的 Block Kit 中的视频块存在特殊的机制:它仅检查 URL 返回的状态码,随后便将其作为一个简单的 iframe 加载,而不对嵌入内容的实际类型进行严格的运行时校验。利用这一特性,作者开发了一款端到端加密(E2EE)应用,通过在视频块的 iframe 中运行自定义代码,绕过了 Slack 对本地加密操作的原生支持限制。该项目采用 TypeScript 编写,利用浏览器原生的 Crypto API 和 Proton 维护的 openpgpjs 库处理复杂的加密逻辑。在架构上,服务器采用最小化存储策略,通过 KV 数据库存储包含必要元数据的唯一标识符,而非明文消息。当用户需要执行加密、解密或签名操作时,系统会生成一个临时的 Slug,将必要的密钥数据嵌入到 iframe 的 URL 参数中。用户在本地输入密码短语解密私钥,并在浏览器侧完成消息的加密与签名,服务器仅充当传输信封,无法获取明文内容。尽管该实现利用了 Slack 未文档化的行为(如视频块不支持临时消息),但它成功在非原生环境中实现了类似 Telegram Mini Apps 的安全通信功能,目前已开源并支持自托管部署。
事件分析
💡 核心观点:利用iframe的开放性绕过平台限制实现E2EE,既展示了Web技术的灵活性,也讽刺地暴露了主流协作软件在隐私保护上的被动。
原文链接:Hacker News







AI周刊:大模型、智能体与产业动态追踪
程序员数学扫盲课
冲浪推荐:AI工具与技术精选导航