继上周的FVM(Filecoin虚拟机)里程碑M0.5进度更新之后,Filecoin团队又在本周开启了FVM bug赏金计划,并邀请bug猎人和社区开发人员帮助发现FVM里程碑M1代码库中的漏洞,为5月即将升级为v16 Skyr的Filecoin网络一部分的FVM M1做足升级准备。
按照计划,FVM将被分为几个里程碑,逐步添加到Filecoin主网上。作为里程碑M1的一部分,Filecoin网络将逐渐过渡到FVM专用。这代表了一个重大变化——Filecoin网络正在从当前的旧虚拟机切换到所有客户端实现都采用基于Wasm的新FVM。
此外,下次更新还包括一个考虑Wasm执行成本的新gas模型。目前的计划中,M1仅支持在Rust中内置actor,预计在9月发布的里程碑 M2中,将会支持真正用户可编程的actor。
由于这是一个全新的代码库,团队现在主要关注的领域之一是邀请更多的外部开发人员审核M1代码库,以发现实现中的潜在错误。此外,也希望Filecoin社区有更多机会探索FVM 参考实现和更新的Builtin actor v8,为团队提供有关个人方法的反馈。
除了通过该计划激励漏洞搜寻者外,Filecoin贡献者团队的成员还进行了初次内部审计,外部安全专家审计也已经正式启用。同时一些强化工作也在进行中。
FVM M1 bug赏金的范围包括哪些?
1. FVM的参考实现 (ref-fvm)
(https://github.com/filecoin-project/ref-fvm)
Filecoin VM的参考实现。 用Rust编写,旨在通过FFI集成到非Rust客户端,或直接集成到Rust客户端。2. Lotus:FVM集成的参考实现
(https://github.com/filecoin-project/lotus/pull/8293)
通过FFI将Ref FVM集成到Lotus。 用Go编写的。*列出的PR(pull request)只是代码库的入口点,但范围不限于此。请查看master和其他未解决PR上的内容。
3. Lotus:Filecoin FFI
(https://github.com/filecoin-project/filecoin-ffi/pull/217)
FFI胶水代码(Glue Code)。 用Go和Rust编写的。*同上,链接中的PR只是一个入口,但范围不限于此。
4.内置actor
所有Filecoin客户端都使用Rust编写Wasm编译的内置actor。 Acto规范(https://spec.filecoin.io/systems/filecoin_vm/actor/)和测试向量(https://github.com/filecoin-project/specs-actors/tree/master/test-vectors)可供actor参考。 用Go编写的可执行规范可在filecoin-project/specs-actors获得,它们为Filecoin网络pre-FVM提供动力。*请注意,审计参与者通常需要Filecoin领域的专业知识。
奖励和超出范围的部分
FVM团队希望在发布M1之前从社区中获得尽可能多的外界帮助来审查代码,通过这些,目前某些已知区域的固化已经被发现。同时,团队在Github(https://github.com/filecoin-project/ref-fvm/issues/428)上列出了排除范围的列表,包括之前列出的已知问题,这些问题将定期更新。只有从此列表选中的这些区域才有资格获得赏金。
当然,报告FVM M1错误的奖励与Filecoin安全计划中的常规错误赏金奖励相同。常规Filecoin安全计划的规则也在使用该奖励规则,包括超出范围的内容。
Filecoin客户端实现(Lotus、Venus、Forest、Fuhon)和Filecoin Proofs库中的错误属于常规Filecoin安全计划范围和奖励。而之前的Filecoin 审计可以在 Filecoin Specs的审计部分找到(https://spec.filecoin.io/appendix/audit_reports/)。
测试工具
基于支持跨节点实现互操作性测试Filecoin测试向量,FVM测试向量专门针对FVM并对其整体进行测试。一个专门的社区开发团队也在开发一个集成测试框架,用来测试FVM的正确性。FVM的各种组件也将被模糊化。
报告bug
要报告漏洞,请联系security@filecoin.io以获得奖金。你可以使用此处列出的机密报告准则(https://security.filecoin.io/#vulnerability-reporting)。也可以将FVM Bug 赏金计划发布在 Gitcoin上,还可以在ImmuneFi上共享。
*请不要在Slack、Twitter等公共场所提交公共问题或讨论漏洞,否则将没有资格获得奖励。
展望未来
到5月底,团队希望现有的开发人员社区和新的外部开发人员能够帮助发现FVM M1中的各种潜在漏洞,之后的里程碑即FVM M2中,提前增加用户可编程性和EVM兼容性。
这将成为Filecoin协议中最令人期待的新增功能之一。通过自定义actors,开发人员将能够利用Filecoin开发真正广泛的潜在用例,从可编程存储到DeFi、DAO、订阅、保险等等,以展开更多可能性。可以进去 FVM网站(https://fvm.filecoin.io/)了解更多。
为了准备M2的发布,FVM团队可能在7月为即将到来的M2代码库启动更多安全审计和另一轮bug赏金。同时,还邀请了不同类型的开发人员通过FVM Foundry Program为前期构建者提供早期FVM的使用,包括开发人员工作流程、工具和早期dapp等。
别忘了继续关注今年夏天的FVM bug赏金!