文章类型: 排序方式:
聊一下 Chrome 新增的可信类型(Trusted types)
Chrome 即将在 83 版本新增一个可信类型(Trusted types),其号称这一特性可以全面消除 DOM XSS,为此我连夜分析了一波,下面我就带大家来具体看一下这个特性:
运行WASM文件指南
本文的目的是演示如何在web浏览器中运行WASM文件,并介绍一个名为WasmEdge的运行时环境,它是最快的WebAssembly运行时之一,提供了一套庞大的功能套件,超越了简单的web开发。首先,我们将编写一个简单的rust程序,将用户提供的两个数字相加,将其编译到wasm,并运行wasm文件。
谷歌 Fuchsia OS编程语言策略公布:前端用 Dart,Go 要退出
谷歌新一代开源操作系统 Fuchsia 的开发者网站上公布了一份 Fuchsia 编辑语言策略,文档描述了 C、C++、Dart、Rust 与 Go 的优劣势,并明确指定了其中哪些语言将会在 Fuchsia 开发生态中得到怎样程度的支持。该策略文档描述了 Fuchsia 项目在 Fuchsia Platform Source Tree(Fuchsia 平台源码树)和供终端开发者在这之外构建 Fuchsia 开发目标设备软件时使用和支持的编程语言。Fuchsia Platform Source Tree 是 fuchsia.googlesource.com 上托管的 Fuchsia 源码,终端开发者是指在 Fuchsia Platform Source Tree 之外为 Fuchsia 编写软件的人。与终端开发者相比,Fuchsia Platform Source Tree 可以汇聚对 Fuchsia 系统及其基础技术更大的更改,因为可以执行仅影响 Fuchsia Platform Source Tree 的更改,而无需与其他人员进行协调。相反,影响终端开发者的更改需要更多的协调,并且需要更长的执行时间。谷歌介绍,对终端开发者的支持意味着 Fuchsia SDK 需要包含可帮助他们为 Fuchsia 开发软件的工具和库,包括 FIDL(Fuchsia Interface definition language,Fuchsia 接口定义语言)特定语言后端与支持库等。对异步编程的强大支持则意味着可以使用直线型代码,例如使用 Rust/Dart 等语言的 async/await 编写异步程序。文档接下来分别罗列了几种编程语言,分析了它们的优缺点之后,得出如下结论:CC 被支持用于终端开发者。在 Fuchsia Platform Source Tree 中,不鼓励使用 C 的新用法,并且仅批准用于以下领域:用于底层系统编程,包括内核中用于定义到共享库和其它系统组件的 ABI 稳定接口C++C++ 被支持用于终端开发者。批准在整个 Fuchsia Platform Source Tree 中使用 C++。DartDart 被支持用于面向非驱动程序的终端开发者。Dart 被批准在 Fuchsia Platform Source Tree 中用于用户界面和无限期运行的程序。Rust终端开发者不支持使用 Rust。除了 Zircon 内核,Rust 被批准在整个 Fuchsia Platform Source Tree 中使用。GoGo 仅被批准在网络技术栈中使用,因为网络栈的迁移需要大量成本。时间准许的话,应该将网络栈迁移到批准的语言。必须将 Fuchsia 中用于目标设备上生产软件的所有其它 Go 代码迁移到批准的语言。总结一下,Go 在 Fuchsia 生态中可能会有些失落,值得注意的是文档中关于其缺点的介绍:使用垃圾回收来管理内存,这比其它用于管理内存的技术占用更多的资源运行时环境庞大Fuchsia Platform Source Tree 在使用 Go 方面具有负面的实施经验。Fuchsia 项目在 Go 中构建的系统组件消耗的内存和内核资源相比使用 C++ 或 Rust 构建的同类组件更多工具链产生大型二进制文件值得关注的是,文档中没有涉及 Fuchsia 已经确认支持的 Python。不过关于 Python 的支持细节,支持语言页面也没有详细内容,只有一栏栏 TODO,应该是还没有做好准备。而另一方面,此前关于支持 JavaScript 的传言,看来也无法得证。原文链接
微软正式开源受 Rust 启发的新编程语言 Verona
一个月前,微软研究人员 Matthew Parkinson 曾提到:微软正在开发基于 Rust 的新编程语言,该项目被命名为 Verona。现在,微软已将 Verona 正式开源。根据微软给出的介绍,Verona 项目旨在探索有关语言和运行时设计的研究,以实现安全的可扩展内存管理和分区。此次开源的原型仅涵盖内存管理方面。
Google宣布推出KataOS操作系统 利用Rust和seL4微内核
Google本周宣布发布KataOS(开发代号Sparrow)作为他们最新专注于运行环境侧重于机器学习工作负载的嵌入式设备的操作系统。KataOS从设计上就具备安全意识,专门使用Rust编程语言,并建立在seL4微内核的基础之上。
中国程序员开发的远程桌面RustDesk:多平台可用 大小只有9MB
对很多Mac用户来说,想用远程控制请教下大佬,太难了。在Windows上一个QQ就能搞定的事,而Mac用户几乎只能依赖Teamviewer。Teamviewer还遭到不少吐槽:占用高、打开慢,有时还因为被识别为商用而收费……现在,不必再和它较劲了。
微软宣布Rust for Windows v0.9:全面支持Windows API
自去年预告以来,微软已经为拥抱 Rust 编程语言付出了相当多的努力。近期,该项目已经取得了重大的进展。在 VS Code 和 Visual Studio 集成开发环境中,微软已经提供了对 Rust 编程语言相当良好的支持。随着 Rust for Windows v0.9 的发布,开发者现能够以一种更加习惯的方式,访问完整的 Windows API,从而轻松构建功能强大且丰富的 Windows 应用程序。
谷歌工程师:七成Chrome安全漏洞是内存安全问题,Rust 又成备选语言
近日,有谷歌工程师分析了自 2015 年以来在 Chrome 稳定版分支中修复的 912 个安全错误。并发现,在这些被标记为“高”或“严重”等级的所有安全漏洞中,大约 70% 是内存管理和安全问题。这其中又有一半是 use-after-free 漏洞。这种安全问题是由对内存指针(地址)的错误管理引起的,为攻击者打开了攻击 Chrome 内部组件的大门。
Rust 与 Go 可以互操作?
5个流行的Rust游戏引擎
许多开发者仍在使用这些语言进行游戏开发。然而,Rust社区是强大的,活跃的,并且正在成长,特别是在游戏开发领域。
Rust的Web(wasm)框架Leptos,将改变构建网站的方式
Leptos是一个新的Rust web框架,由于其高性能、易用性和安全特性而迅速流行起来。在本文中,我们将深入了解Leptos,并讨论为什么应该开始使用它。
谷歌启动完全开源的OpenSK安全密钥:加密狗绝配
1月31日消息  近年来,从制造自己的Titan系列到引入可与现有Android和iOS手机集成的安全密钥,谷歌一直在关注安全密钥领域。为了刺激创新,谷歌今天启动了 OpenSK安全密钥,这是一个开源代码项目,可让开发人员构建自己的安全密钥。OpenSK是安全密钥的开源实现,支持FIDO U2F和FIDO2标准。这种双因素身份验证方法可以有效抵抗网络钓鱼攻击。登录在线帐户时,必须亲自提供钥匙形的加密狗或密钥卡,才能确认身份。通过开放OpenSK作为研究平台,谷歌希望它会被更多的研究人员、安全密钥制造商和发烧友所使用。谷歌允许开发人员通过在价格为10美元的现成的北欧芯片加密狗上刷新OpenSK固件来构建自己的安全密钥,只要硬件具有NFC、低功耗蓝牙和具备专业硬件加密核心的USB-A接口就可以。谷歌还提供了可定制的3D打印保护套。谷歌还指出了如何使用OpenSK构建“功能齐全的FIDO身份验证器”,但强调该实验项目用于“测试和研究”。在底层,OpenSK用Rust编写并且在TockOS上运行,从而提供更好的隔离、更简洁的系统抽象,安全性有保障。Rust强大的内存安全性和零成本的抽象性使代码更不容易受到逻辑攻击。TockOS凭借其沙盒架构,提供了安全密钥在子应用程序、驱动程序和内核之间的隔离,这是构建深度防御所需的。
来了来了。。。使用 Rust 编写更快的 React 组件
Trustdata发布6月MAU数据:微信、支付宝、QQ分列前三
7月12日消息 今日,大数据监测平台Trustdata发布了2019年6月移动互联网全行业排行榜。Trustdata表示,6月的关键词为“火热”,618年中购物节使京东、天猫、苏宁等电商类App增长明显;夏日的高温天气使外卖增长的同时旅游出行、地图导航类App明显下滑。Trustdata统计的2019年6月MAU(月活跃用户量)排行榜中,微信以10.96亿MAU稳居第一,排在第二位的是支付宝,MAU为6.83亿,QQ则以5.69亿MAU位列第三位,淘宝、抖音短视频、百 度、爱奇艺、WiFi万能钥匙、今日头条、微博分列四至十位。▲2019年6月MAU TOP200排行榜(部分) | 图源:Trustdata大数据在智能硬件类App细分榜单中,米家、华为穿戴、电话手表分列前三位。在游戏类App中,迷你世界、开心消消乐、王者荣耀、和平精英、JJ斗地主位居前五位。
Linux内核更新加入Rust语言支持 并开始提供网络和异步功能
在一个激动人心的周六早晨,Miguel Ojeda发布了最新的补丁系列,历史性地将Rust语言支持纳入Linux内核。"Rust for the Linux kernel"补丁现在已经到了第六个版本,它为这种第二种可选语言添加了必要的支撑,并继续添加更多的示例代码/基本功能,以展示这种注重内存安全的语言在内核中的应用。
Chrome平衡用户隐私和广告追踪 Trust Tokens将替代第三方cookies
今年早些时候,谷歌表示正和其他网络浏览器公司一起在 Chrome 中阻止第三方 cookies 的访问。今天,谷歌为开发者提供了新的替代解决方案--Trust Tokens(信任令牌),帮助他们追踪网络用户。
微软GitHub发布2019年度报告:用户超4000万,Python成第二受欢迎语言
GitHub发布了2019年年度报告《The State of the Octoverse》,下边来看看一些主要数据。全球用户超过4千万目前GitHub上有超过4000万开发人员,其中有80%来自美国以外的地区。去年一年里有1000万新加入的开发者,2019年创建第一个repo的人比2018年增加了44%,还有130万人首次在开源中贡献。组织正在跨时区进行协作,并依赖于开源软件目前GitHub上有将近300万个组织帐户,它们来自世界各地,代表了公司、非营利组织与开源项目等的集体工作。其中,GitHub Enterprise Cloud帐户来自70多个不同的国家。今年全球财富50强中有35家对开源做出了贡献,这反映出专有代码在很大程度上依赖于开源社区。软件社区比以往任何时候都更加紧密地联系在一起去年新创建了超过4400万个repo,从医学上的机器学习和有关深度学习的学术论文,到各种各样的机器人,在这个基础上,开源项目的共享基础架构将所有软件联系在一起,并且它们的依赖关系十分紧密。具体来看,平均而言,GitHub上的每个公共和私有repo都依赖于200多个软件包,每个项目背后都有数百个依赖项。而且,如果按被依赖程度来查看前50个开源项目,可以看到,被依赖度最高的项目今年支持了超过360万个其它repo,比如 rails/rails、facebook/jest与 axios/axios之类的项目对于全球代码已变得至关重要。修复了超过760万个漏洞警报安全性也是开源社区的一项工作,发现潜在的漏洞后,维护人员、开发人员、研究人员与工具生态系统都会协同工作,以确保代码安全。GitHub 自2017年11月发布安全警报以来,目前已修复了超过700万条警报。更多除了以上关于GitHub本身的数据,还一有些托管项目的数据:Python成为GitHub上第二受欢迎的语言。Dart和Rust是增长最快的语言。在过去三年中,使用Jupyter Notebook的同比增长超过100%。TensorFlow的贡献者从2238涨长25166人。详细报告可以查看:https://octoverse.github.com
微软开源Rust/WinRT 方便使用Rust构建Windows应用
微软推出了基于 Rust 的 Windows 运行时项目 Rust/WinRT。该项目和 C++/WinRT 一脉相承,用标准语言和编译器为 Windows 运行时构建语言投影,从而方便 Rust 开发人员调用 Windows API,更轻松地使用 Rust 构建各类 Windows 应用和组件。
微软正式开源受Rust启发的新编程语言Verona
一个月前,微软研究人员 Matthew Parkinson曾提到:微软正在开发基于Rust的新编程语言,该项目被命名为 Verona。现在,微软已将Verona正式开源。根据微软给出的介绍,Verona项目旨在探索有关语言和运行时设计的研究,以实现安全的可扩展内存管理和分区。此次开源的原型仅涵盖内存管理方面。之前我们介绍到,Verona是基于 Rust的新语言。但Rust并不是激发Verona项目灵感的唯一语言,它也借鉴了Cyclone(一种安全的C语言)和Pony的概念。微软还强调,这只是一个研究项目,不是一项产品,并且与微软对C++,C#和Rust的使用没有关系。他们希望 Verona研究项目可以使其他语言受益,希望将其作为一种“研究编程语言”,通过开源吸引更多学术合作者以探讨并发所有权的概念。目前,该项目尚未做好在研究之外的领域使用的准备。
微软开源基于Rust的新软件 可在Kubernetes上运行WebAssembly
来自微软的 DeisLabs 团队最近开源了一款完全基于 Rust 的新软件 Krustlet,该软件可以用来在 Kubernetes 上运行 WebAssembly 模块。Kubernetes 是来自谷歌的开源容器集群管理系统,主要用 Go 语言编写。而微软此次选用 Rust 来编写这款 Kubernetes 相关项目,背后有着怎样的原因?
Fuchsia 编程语言策略:前端用 Dart,Go 要退出
谷歌新一代开源操作系统 Fuchsia 的开发者网站上公布了一份 Fuchsia 编辑语言策略,文档描述了 C、C++、Dart、Rust 与 Go 的优劣势,并明确指定了其中哪些语言将会在 Fuchsia 开发生态中得到怎样程度的支持。
Rust程序员一觉醒来都懵了:审核团队集体辞职 发生了什么?
昨夜, Rust编程语言的审核团队突然宣布辞职,且 即刻生效。他们在GitHub的pull request上发出了该声明。审核团队成员Andrew Gallant在声明中写道:团队辞职是为了抗议核心团队认为自己不对除自己以外的任何人负责。
注意了!使用WebAssembly的网站一半将其用于恶意目的
根据一项已发表的学术研究,使用WebAssembly的网站中大约有一半将其用于恶意目的。WebAssembly由Mozilla、谷歌、微软和苹果这四个主要的浏览器供应商协同创建,它引入了一种新的二进制文件格式,用于将代码从Web服务器传输到浏览器。一旦到达浏览器,WebAssembly代码(Wasm)就会以接近本地的速度执行,类似于已编译的C、C++或Rust代码。创建WebAssembly的目的是兼顾速度和性能。由于Wasm代码具有机器友好的二进制格式,因此它比等效的JavaScript格式小,但执行时速度也快许多倍。WebAssembly于2017年首次被提出,并于2019年底被批准为正式的W3C(万维网联盟)标准,目前受到所有主流浏览器的支持。在去年进行的一项学术研究项目中,来自德国布伦瑞克工业大学的四名研究人员研究了WebAssembly在Alexa上排名前100万的流行站点上的使用情况,以评估这种新技术的普及程度。他们加载了100万个网站中每个网站的三个随机页面,测量了WebAssembly的使用情况,以及每个网站运行代码所花费的时间。研究发现有 1,639个站点装载了总计1,950个Wasm模块,只有150个模块是独一无二的,有很多站点都在使用相同的 Wasm模块。研究小组还对每个网站正在加载的Wasm代码的性质进行了研究。他们手动分析代码,查看函数名称和嵌入的字符串,然后映射出相似代码的集群。研究人员表示,他们分析的绝大多数代码样本都用于加密货币挖掘(样本的32%)和在线游戏(样本的29.3%)。这两类Wasm代码在本质上是恶意的。用于加密货币挖掘的Wasm模块通常是所谓的加密劫持(通过挖矿驱动)攻击的一部分。另一类涉及打包在混淆的Wasm模块中的WebAssembly代码,这些模块有意隐藏其内容,一般来说是恶意广告的一部分。由于代码经常在多个域中重复使用,这些模块已被用于超过一半的样本网站。且将WebAssembly代码用于恶意目的的行为有在不断增加的趋势。研究小组还表示,这可能还只是“冰山一角”。为此,他们呼吁网络安全公司参与进来,应对新技术带来的新威胁。
Chrome 团队正探索 Rust 与 C++ 的互操作性
Chrome 团队也开始尝试 Rust 了。在 Chromium 官网近期发布的文档中,“Rust 与 C++ 的互操作性”作为一项尚待解决的挑战被提出。现阶段,Chrome 工程师很清楚 C++ 是第一位的,并且“在可以预见的将来仍然是代码库的统治者”。
如何把 Rust 通过 WASM 嵌入到前端代码中?
Google支持将Rust代码引入Linux内核
Google支持将Rust引入Linux内核的消息今天引发开源社区关注,虽然这应该不会让人感到意外,尤其是考虑到最近谷歌允许Rust用于Android系统级代码的消息。现在,这家搜索巨头的工程师们现在开始支持Rust代码在Linux主线内核内使用。
Rust基金会正式成立:谷歌微软等科技巨头纷纷加入
Rust 基金会现在正式成立了。这是一个独立的组织,将负责管理和支持 Rust 编程语言。Rust 最初是 Mozilla 作为 C 和 C++ 更安全的替代语言而诞生的,尽管它并没有被广泛用于应用开发,但它已经迅速成为最受青睐的系统开发语言之一。
保护人类文明:GitHub将开源代码库保存在北极洞穴
11月14日消息 GitHub今天分享了开放Arctic Code Vault的计划,该计划旨在存储和保存Flutter和TensorFlow等开源软件。所有开放源代码项目的代码都将存储在胶片上,该胶片每帧包含880万像素,可以使用1000年。胶片由挪威公司Piql AS制造,表面有氧化铁粉涂层,Piql称在正常条件下这种材料能保存750年,在寒冷干燥低氧洞穴内能保存2000年。这些代码将保存在挪威斯瓦尔巴特群岛(Svalbard)退役的煤矿中,这也是被选为托管全球种子库的城市。斯瓦尔巴特永久冻土是地球上最北端的城市之一,可以延伸到地表以下数百米。档案管理员认为,寒冷和接近恒定的条件可以帮助保存。今年年初开始,数千个流行的GitHub项目(例如Blockchain,WordPress)和编程语言(如Rust或Ruby)加入了Arctic Code Vault计划,但Arctic Code Vault将于明年2月扩展到所有公共存储库。根据2019年Octoverse报告,GitHub有超过4000万开发人员使用,目前托管超过1亿个存储库。GitHub CEO Nat Friedman在解释为什么创建Arctic Code Vault时说:“如果没有软件,再也不会发生什么大事。”Friedman表示,随着时间的推移,媒介可能会发生变化,可能会使用像二氧化硅这样的物质,该物质能将数据存储一万年以上。
2024年值得关注的8个rust开源数据项目
随着大数据生态系统、分布式文件系统、map-reduce、NoSQL、机器学习、深度学习、人工智能以及最近的大语言模型的兴起,数据得到了广泛的关注。我们本期推荐8个开源数据项目。