技术尽职调查工作台
投资方希望审阅标的公司的代码。公司自行连接代码仓库,并自己决定共享哪些内容。工作台对拿到的代码进行评级,为每一条结论标出对应文件,并注明报告的每一节由哪个模型生成。
- 行业投资尽职调查
- 项目类型自研产品
- 状态持续开发中
它做什么
资金落定之前,投资方需要知道自己买的是什么。这个工作台用一份有评级、有证据支撑的代码库报告来回答这个问题,而不是一份只能选择相信的摘要。
流程由双方共同完成。投资方发起审阅并发出邀请;标的公司连接自己的账户,自行选择哪些仓库进入审阅。公司没有交出的内容不会被分析。
无法出示依据的审阅
技术审阅往往只给出结论。读的人既无法核对,也看不出哪些部分从未被看过。
只有结论,没有证据
一份书面审阅说代码有风险或者稳健。读的人无法把这个判断追溯到具体文件,也无从判断审阅者是否真的看过那部分代码。
信任建立之前就要交出访问权
标的公司往往要在交易早期一次性交出全部源代码,对共享范围没有发言权,也没有去向记录。
看起来像干净结果的缺口
某项检查没有完成时,报告往往绕开缺口取平均。证据缺失和良好结果在纸面上看起来是一样的。
围绕可证实的部分构建的工作台
我们设计并构建的四项能力,都能在它生成的报告里看到。
基于授权的仓库访问
投资方发起审阅并发出邀请。标的公司连接自己的账户,选择哪些仓库进入审阅。访问权是被给予的,不是被索取的。
- 双方之间的邀请与交接流程
- 共享范围由公司自己决定
- 运行结束后删除工作副本
分阶段的分析流程
审阅按阶段依次进行。每个阶段写入自己的结果,因此某一阶段失败只会削弱报告,而不会终止整次运行。
- 索引、对抗式安全分析、结果验证
- 流程映射、依赖与硬编码凭据扫描
- 变更历史、架构、技术债、报告
带着证据的评级
代码库在复杂度、测试覆盖、依赖、架构、重复、安全态势、可维护性和技术债这些维度上分别评级,每个等级背后都有对应的测量结果。
- 每条发现都带有文件与行号
- 安全类发现附带可复现的验证
- 技术债采用公开的成本模型,并展示计算公式
写进报告的诚实
报告的构造是为了可被核对。它的就绪清单有三种状态,而不是两种:通过、未通过,以及证据不足。
- 运行不完整时不给出总体评级
- 没有发现问题被记为证据不足,而不是结果干净
- 验证阶段把代码里的注释当作待核实的说法,而不是证据
工作在哪里完成,由谁完成
不是一份部件清单,而是关于一次运行的四件事实。
每一节都注明写它的模型
报告带有一张来源表:阶段、供应方、模型和端点。最后一列区分的是留在本机的工作,和已经离开这栋楼的工作。
每个阶段都可以固定到不同的模型
敏感分析可以留在自有硬件上运行的模型,常规环节则可以放到别处。这个选择按阶段决定,而不是每次安装决定一次。
完全不用供应方账户也能运行
本地模型运行环境不需要任何凭据,工作台可以直接分析自己磁盘上的仓库,并且只能从这台机器访问。
被你标为敏感的内容不会进入模型
符合你自己敏感路径规则的文件,在任何内容发送之前就已被过滤。保存的凭据加密存放,报告中记录的端点也会去掉一切机密信息。
它改变了审阅的什么
这里的改变是定性的,我们也只发布定性的说法。本页没有任何来自无法展示的运行的数字。
可追溯
每一条结论
一个评级可以回溯到产生它的文件与行号,读者也能看到自己正在读的这一节由哪个模型写成。
你自己的硬件
分析运行的位置
任何阶段都可以固定到运行方自己机器上的模型,敏感代码不必离开这台机器就能被审阅。
不取平均
缺失的证据
缺口就按缺口报告。覆盖不完整时,报告宁可不给总体评级,也不给出证据支撑不了的评级。