1作者: roggenbuck9 个月前
我想要一个更安全的替代方案,来取代 TypeScript 中的 RegExp,它使用线性时间引擎,所以我构建了 Regolith。<p>原因: 许多 CVE(常见漏洞和暴露)的发生,是因为 TypeScript 库容易受到正则表达式拒绝服务攻击。我在本科研究中了解到了这个问题,发现像 Rust 这样的语言有内置的保护,但像 JavaScript、TypeScript 和 Python 这样的语言却没有。这个库试图减轻 TypeScript 和 JavaScript 的这些漏洞。<p>方法: Regolith 在底层使用了 Rust 的 Regex 库来防止 ReDoS 攻击。Rust Regex 库实现了一个线性时间 Regex 引擎,保证执行的线性复杂度。当提供恶意输入时,会发生 ReDoS 攻击,导致普通的 Regex 引擎在过多重叠的配置中检查匹配的字符串。这会导致引擎花费极长的时间来计算 Regex,从而可能导致服务的延迟或停机。通过设计引擎最多花费线性时间,我们可以在库级别阻止这些攻击,并让软件继承这些安全属性。<p>我对让编程语言更安全非常感兴趣,我很乐意听取关于如何改进这个项目的任何反馈。我会尽量回答评论中提出的所有问题。<p>谢谢! - Jake Roggenbuck
1作者: omitchen9 个月前
Hi HN, 我经常在 YouTube 上看冗长的讲座或会议演讲,但通常只有几分钟的内容是我真正需要的关键点。我希望能快速了解要点,所以构建了一个小工具,用 AI 来总结 YouTube 视频。 工作原理:你粘贴一个 YouTube 链接,它会生成一个简短的摘要以及关键的文字记录。后端经过优化,所以结果会在几秒钟内返回。 设计选择: - 无需注册或登录(我希望它能即时可用)。 - 免费使用(我把它作为一个副业项目来运营)。 - 专注于速度和简洁性。 目前还处于早期阶段,我很乐意收到关于以下方面的反馈: - 摘要是否感觉有用/准确 - 哪些额外功能会使其更有帮助(时间戳、导出等) - 你遇到的任何问题 链接:[vdown.me](<a href="https:&#x2F;&#x2F;vdown.me" rel="nofollow">https:&#x2F;&#x2F;vdown.me</a>) 谢谢!
3作者: dboreham9 个月前
在 JavaScript/TypeScript 领域,我发现一个常见的问题是,单元测试通常需要在 Node.js 进程中运行。过去在各种项目中,这种方法被证明是有问题的,因为无法实现与目标运行时环境(浏览器)的“环境一致性”(例如,没有 WebRTC[1])。在那些项目中,我们通过编写自己的测试运行器来解决这个问题,该运行器可以被注入到无头浏览器进程中。 现在,在使用 React Native 的移动设备项目中,也出现了类似的问题:我原以为单元测试可以在设备或至少模拟器上运行,但事实似乎并非如此(参见:https://docs.expo.dev/develop/unit-testing/)。或者至少到目前为止,我还没有找到实现这一目标的秘诀或工具。欢迎提供任何建议。 [1] 是的,有一个针对 Node 的 WebRTC 端口,它使用旧版本的 Google 的 C++ 库,但它实际上无法正常工作。