在进行API安全测试之前,必须签订正式的合同,以明确界定参与测试的资产范围,并在约定的时间段内授权工程师对客户的资源进行攻击。这样做旨在确保业务的正常运行和测试操作的合规性。合同应详细规定测试的范围、目标特性、测试限制、报告要求,以及是否计划在修复后进行二次测试,确保客户和测试者对API安全测试有共同的理解。
一份严谨的工作声明有助于明确双方职责,确保客户与测试团队对所提供服务的内容、范围及目标达成一致。同时,在合同中应详细列明批准的目标,明确测试API的具体方面,排除不适宜测试的内容,并设定一个双方约定的测试执行时间表。
在合同签署前的审核过程中,测试团队需要核实签署人是否为具备相应权限的测试目标客户代表。同时,需确认客户为资产的合法所有者,否则应将相关信息传达至实际所有者。在此基础上,还需考虑客户的API托管位置以及其是否拥有授权测试软件和硬件的权限。
某些组织在确定项目范围时可能过于严谨。若客户倾向于缩小范围进行测试,可以温和措辞向其阐述网络犯罪分子在实际攻击中是没有范围或限制可言的。真正的网络犯罪分子不会考虑其他项目对IT资源的占用,他们不会回避包含敏感生产服务器的子网,也不会在非高峰时段规避黑客攻击。
在与客户会晤时,务必明确阐述各项检测措施及其后续相关流程,并确保在合同、电子邮件或笔记中予以精确记录。若客户坚持采用书面协议,应在合法合规且遵循道德原则的前提下进行操作。为进一步降低风险,可征求律师或法务部门的建议。