在漏洞扫描领域,主流的扫描方式分为黑盒扫描和白盒扫描,其中源代码安全检测即白盒扫描是安全开发流程(SDLC)中非常重要的一部分。传统漏洞大多数都能通过工具的方式检出,但对于越权漏洞,工具较难解决,在对黑盒工具赋能后,无恒实验室又尝试探索对白盒工具赋能进行定制化的扫描,下面将为大家分享无恒实验室利用白盒工具进行越权漏洞治理的思路。
一直以来,“漏洞”作为一种典型的风险管理对象,链接了动态扫描(DAST)、静态扫描(SAST)等风险发现工具和企业风险修复流程。但围绕漏洞建立的“风险发现”和“风险修复”两者间存在天然矛盾,且随着风险治理从事后移向事前而加剧。一方面,风险发现时机前移,距离线上实际状态更远,增加了“漏洞”可利用性和危害的评估难度,发现潜在问题的数量级上升;另一方面,漏洞修复流程实施成本高昂,依赖安全与业务双方人工分析、协同修复,且往往优先处理可利用性高且危害明确的漏洞;矛盾加剧反而会阻塞前移后的风险治理。 无恒实验室尝试将风险管理对象从传统“漏洞”转变为“风险代码”,并联合代码智能团队尝试利用 LLM 实现“风险代码自动发现与修复闭环”,降低治理成本、提升治理效率。 “风险代码”指由于存在“缺陷”有概率引发线上漏洞的代码,是构成代码漏洞的必要不充分条件。而“校验缺失”是最常见的风险代码类型之一。由于缺少对关键变量进行关系校验、值域校验、类型校验、模式校验等必要合法性检查,会导致非法请求数据进入业务流程,造成安全危害。
近年来,无论是 Serverless 还是 WebAssembly,都越来越受到开发者的广泛关注,作为字节跳动内部的函数计算平台,ByteFaaS 在 WebAssembly 方向上也有着不少的探索和实践。我们利用 WebAssembly 技术构建出了极致轻量化的函数运行时,并辅以全新设计的精简架构,打造出了云边一体的 Serverless 解决方案,拓展了 FaaS 的边界和应用场景,为业务带去了更多的可能。 本文将先带领大家认识 ByteFaaS 平台,分别介绍经典 FaaS 和 FaaS Worker(轻量级函数)方向。随后通过 WebAssembly 运行时、精简架构、开发者支持三个方面,详细介绍 FaaS Worker 的设计与实现。最后在文章结尾,会对 WebAssembly 函数能够为用户所带来的收益进行大致总结。
在 WebAssembly 社区蓬勃发展的当下,或出于对 JavaScript 等动态语言面对计算密集型任务时改善性能的愿望(如 Ammo.js),或源自将桌面表现出色的软件搬上 Web 环境的想法(如 AutoCAD),或希望在服务端利用沙箱来尽可能保证安全(如 Shopify-Serverless),越来越多的开发者选择 WebAssembly 技术。 而对于一项技术而言,围绕这项技术的开发工具矩阵是否完备,是否足够强大和易用,以及给开发者们带来的体验好坏,则是决定开发者们在尝试之后能否成为拥趸的关键因素。通常来说,一段代码的生命周期,包括编写、测试、交付与部署、上线生效、问题定位与修复等环节。在问题出现之后,对代码的源码调试(Source Code Debugging)往往是定位问题最高效的手段。提供高效的调试工具,帮助开发者迅速解决问题,是助推 WebAssembly 技术社区发展壮大的一个重要手段。 在本文中,我们将主要围绕 WebAssembly 的源码调试,阐述若干相关的问题。
课程的 WebAssembly 工作原理一章已经详细介绍了基于栈结构的指令执行原理和过程,然而,了解 WebAssembly 原理最有效的方式仍然是自己动手实现一个执行引擎;本文将从零开始实现一个简单的 WebAssembly 解释器 WAInterp (WebAssembly Interpreter),通过这一过程来进一步掌握和实践 WebAssembly 虚拟机技术。
目前字节 Android 的一些超大型项目均从原来的多仓二进制的研发模式切换到了 Monorepo 全源码,并在研发效能方面取得了较大的收益。关于 Monorepo 全源码模式下的一些技术挑战及解决方案后续会有文章单独阐述。在全源码改造的过程中,作为 build 方向的基建团队,我们也不断克服了很多 Gradle 生态的问题与挑战,对构建系统方面有了更进一步的理解。 提到超大型仓库的 Monorepo,就不得不提到 Bazel 构建系统。Google 内部使用 Bazel 作为超大仓(TB 级别)的构建系统,足以证明 Bazel 构建系统优异的性能表现。目前字节内服务端、iOS 端均采用 Bazel 作为构建系统来演进 Monorepo,业界关于 Bazel 的原理文章也很多,但大部分都围绕在工程改造方面或者在单一阐述 Bazel 的设计。
火山引擎云原生数据仓库ByteHouse与Apache Airflow强强结合,为管理和执行数据流程提供了强大而高效的解决方案。本文将带来ByteHouse与Apache Airflow结合使用的主要优势和特点,展示如何简化数据工作流程,并推动业务成功。
Kelemetry是字节跳动开发的用于Kubernetes控制平面的追踪系统,它从全局视角串联起多个 Kubernetes 组件的行为,追踪单个 Kubernetes 对象的完整生命周期以及不同对象之间的相互影响。通过可视化 K8s 系统内的事件链路,它使得 Kubernetes 系统更容易观测、更容易理解、更容易 Debug。
大模型离线推理(Batch 推理)是指在具有数十亿至数千亿参数的大规模模型上进行分布式计算推理的过程,具有如下特点: 一次对一批数据进行推理,数据量通常是海量的,所以计算过程通常是离线计算; 推理作业执行过程一般同时包含数据处理及模型推理; 作业规模通常较大,采用分布式计算,消耗大量计算资源; 相比于在线推理,离线推理对延迟的要求并不高,主要关注吞吐和资源利用率。