纯 HTML 和 CSS 构建的体素世界
有人仅使用纯 HTML 和 CSS 构建了一个类似 Minecraft 的体素世界,完全没有使用 JavaScript。这个令人惊叹的 demo 展示了现代 CSS 的强大能力,特别是 :has()
选择器,但也因此需要较新版本的浏览器支持。
这个项目通过巧妙的 HTML 结构和 CSS 属性模拟了 3D 效果和交互。作者使用了大量的 HTML 元素,例如通过 input type="radio"
管理方块状态,每个方块的不同面则由 label
元素配合 CSS 类呈现。整个世界被构建成固定大小的网格,HTML 文件预先包含所有可能的方块状态,通过 CSS 根据 radio button 状态控制显示或隐藏。摄像机移动和旋转似乎通过 CSS 动画在按钮 :active
状态下实现。为了生成庞大的 HTML,作者使用了 Pug 模板引擎。
评论区对技术实现赞叹不已,将其与经典纯 CSS 演示“A Single Div”相提并论。但也有用户报告性能问题,作者回应项目是几年前为测试 :has()
所做。关于极限使用 CSS 的做法,有人认为是边界探索,启发无 JS 方案;有人则担心滥用,认为复杂图形应交由 SVG 或 JavaScript。评论中还出现了关于 Minecraft Classic 网页版历史的讨论。
GitHub MCP 集成安全漏洞:AI Agent 如何被诱骗泄露私有数据
Invariant Labs 发现 GitHub MCP 集成存在一个安全漏洞,攻击者可通过恶意 GitHub Issue 利用 AI Agent 访问并泄露用户的私有仓库数据。这个漏洞影响使用 GitHub MCP 服务器的 Agent,如 Claude Desktop。
攻击流程是,攻击者在公共仓库创建含恶意指令的 Issue。用户让 Agent 查看该 Issue 时,Agent 被注入指令,随后被诱导访问用户的私有仓库,将敏感数据拉入上下文,并通过在公共仓库创建 Pull Request 的方式泄露。Invariant Labs 称此为“Toxic Agent Flow”,并用其安全工具发现。文章强调,这不是 GitHub MCP 服务器代码 bug,而是 Agent 系统架构的根本问题,GitHub 难以通过简单补丁解决。
应对措施包括实现更细粒度的权限控制(最小权限原则,动态运行时安全层如 Guardrails,限制 Agent 会话访问范围)和持续安全监控。文章指出,即使是 Claude 4 Opus 等高度对齐的模型也易受攻击,系统层面安全措施至关重要。评论区讨论集中在用户使用权限过大的 Token、GitHub 细粒度 Token 配置复杂性、Agent 安全设计原则(如“污染会话”概念)以及急于部署 AI Agent 可能带来的安全风险。
“懒人俄罗斯方块”:一个没有压力、可以撤销的 Tetris 版本
“Lazy Tetris”是一个放松、没有时间压力的俄罗斯方块游戏,移除了传统重力和时间限制。玩家可以慢慢思考每一步,甚至可以撤销操作,旨在提供一种休闲的手机游戏体验。
作者主要在沙发上用手机结合 AI 工具(rosebud.ai 和 ChatGPT)开发,仅性能优化部分使用了笔记本电脑。游戏操作灵活,支持触摸拖拽、点击拖拽,以及多指触控快速下落