The Future of Obsidian Plugins
449 points • 6 days agoArticle Link

Obsidian 已推出全新的社区站点 community.obsidian.md,这是一个集中式的插件与主题目录兼开发者仪表板。自 2020 年 API 发布以来,社区已开发了超过 4,000 个插件和主题,总下载量突破 1.2 亿次。新平台旨在让扩展的构建、分发、发现与使用对所有人来说更简单、更安全。

社区站点改进了浏览、搜索、筛选和排序功能,覆盖数十个分类,如集成、 Bases 和图表。每个项目都有详细页面,展示截图、信息和安全评分卡。新增标签用于标识付费插件与官方集成,作者还可以在个人资料中添加赞助链接和社交媒体信息。

新的开发者仪表板让作者可以提交、管理并跟踪项目。所有现有的插件、主题及来自 GitHub 的排队提交都已自动迁移。开发者只需登录并连接 GitHub 账户即可认领项目。仪表板简化了提交流程,审核结果通常在几分钟内就能得到。

此次发布引入了对所有社区项目的自动化审查,覆盖每个版本的安全性和代码质量,而不再只检查初次提交。这有效缓解了随着编码代理加速插件创建而产生的积压问题。系统会检查是否遵守开发者政策、代码最佳实践以及已知漏洞;对热门插件、精选项目和社区标记的问题仍会保留人工复审。在上线前几天,使用新系统处理了超过 2,300 个排队提交。

插件安全性通过自动化扫描得到显著提升,扫描项包括代码质量、安全漏洞和恶意软件。每个项目的评分卡都会显示自动化检测的结果。后续计划将加入功能权限披露(显示插件访问的内容)、经过验证的作者标识,以及更清晰的插件功能与作者信息透明度。

使用 Obsidian 的团队将获得更完善的工具,用于管理社区插件并向成员分发私有插件。发布官方插件的团队现在可以在社区目录中申请官方标识。现有的团队部署与安全控制仍然可用。

常见问题部分解答了关于迁移与过渡的疑问。用户可以在新站点上浏览,可能会发现此前需要手动获取的早期访问插件已能通过目录获取。开发者可通过五步流程提交新项目,审核速度更快。当前自动化审查不通过的现有插件暂时仍可继续使用,但最终需要达到新的标准。开发者可以在本地运行自动化审查或在发布更新前预览扫描结果。该平台目前需要 GitHub 与 Obsidian 账户,未来可能会支持更多托管平台。

177 comments • Comments Link

• Obsidian 团队只有七人。经过近一年的努力,他们推出了新的社区网站和自动化插件审核系统。该系统在设计上兼顾向后兼容,目标是提升这个拥有数千名开发者和数百万用户的庞大生态系统的安全性和可发现性。

• 新的自动化扫描系统基于开源 eslint 插件构建。每当插件更新时都会进行扫描,并会随着系统改进定期重新扫描所有插件。但系统仍在完善阶段,初期难免出现误报和漏报。

• 权限系统计划分阶段上线,需对数千名现有插件开发者进行 API 变更并提供迁移支持。不过仅靠权限不足以解决问题:即便授予了某些权限(例如网络访问),仍需通过代码扫描来检测恶意行为。

• Obsidian 的做法介于严格控制的注册表(如 Debian)和几乎不审核的注册表(如 PyPI/npm)之间,强调用户的自由与判断力,同时承认不可能做到绝对安全,尤其是针对那些面向小众用户群的插件。

• 审核系统依赖自动启发式检查和代码检查器(linter)的警告,以评分卡形式呈现,帮助用户做出更明智的决定,而不是保证绝对安全。团队也理解,在数千个现有插件迁移到新系统的过程中,自我披露在初期将是可选的。

• 尽管审核工具和大多数插件本身都是开源的,但根本挑战在于用户很少亲自审查代码,这使得自动化分析成为必要手段,以缓解因人工审查带来的瓶颈——小团队已经难以应付。

• 有人认为只有通过具备明确 API 与权限检查的沙箱机制,才能真正解决插件安全问题。但目前的 Obsidian 插件运行时没有任何沙箱机制,拥有完整的文件系统和网络访问权限,这使得供应链攻击成为重大隐患。

• 供应链攻击呈上升趋势,表明在实施沙箱机制之前,生态系统可能面临数月的高风险期。另一些人则反驳称,自动化检查可以作为过滤器,标记可疑插件供人工复核,而不是指望其能可靠地检测所有恶意意图。

• 对于如何解读充满 linter 警告的评分卡仍存在实际难题。关于某些标称仅具备特定网络访问权限的插件,如何在更新中通过微妙扩大权限范围来以看似合法的方式窃取数据的问题仍然持续存在。

• 团队规模小且收入有限(估计来自 Sync 订阅的收入约为 250 万美元),这带来了资源分配的疑问。但即便公司停止运营,应用仍可完全离线运行,数据以 markdown 格式保持可移植性。

讨论揭示了一个务实的社区正在努力在促使 Obsidian 插件生态繁荣的自由与日益紧迫的供应链安全之间找到平衡。大多数参与者都承认,没有单一解决方案——无论是自动化扫描、权限、沙箱还是开源审计——能够独自奏效,Obsidian 团队的渐进式做法是在其有限条件下的现实权衡。然而,针对以完全系统访问权限运行、且未沙箱化的 JavaScript 插件的固有脆弱性,部分人预测漏洞的出现几乎不可避免。讨论还提出了更广泛的问题:对大多数用户来说,开源是否真的重要——他们更多基于声誉与便利性而非对代码的验证来信任软件;以及当专有插件在迁移中造成摩擦时,markdown 的可移植性是否足以防止被锁定。