package edu.sjtu.infosec.ismp.manager.RAM.service; import java.util.List; import java.util.Map; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseInfoAsse; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseInfoProj; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowDynaLeak; import edu.sjtu.infosec.ismp.manager.RAM.model.AsseKnowDynaLeakThre; import edu.sjtu.infosec.ismp.manager.comm.model.page.Page; import edu.sjtu.infosec.ismp.manager.comm.model.page.PageResult; /** * 应用层 动态资产漏洞威胁分析Manager接口. * */ public interface DynaLeakThreService { /** * 保存/更新动态资产漏洞威胁 * * @param dynaLeakThre * 动态资产漏洞威胁 **/ void saveOrUpdate(AsseKnowDynaLeakThre dynaLeakThre); /** * 批量保存/更新动态资产漏洞威胁 * * @param dynaLeakThreList * 动态资产漏洞列表 **/ void batchSaveOrUpdate(List<AsseKnowDynaLeakThre> dynaLeakThreList); /** * 查询动态资产漏洞威胁 * * @param id * 动态资产漏洞威胁id * @return 动态资产漏洞威胁对象 **/ AsseKnowDynaLeakThre find(String id); /** * 查询动态资产漏洞威胁数量 * @param asseInfoProj * 测评项目 * @param asseInfo * 资产 * @return 动态资产漏洞数量 **/ int getCount(AsseInfoProj asseInfoProj,List<AsseInfoAsse> asseInfo); /** * 查询动态资产漏洞威胁记录 * @param asseInfoProj * 测评项目 * @return 漏洞记录列表 **/ List<AsseKnowDynaLeakThre> listDynaLeakThre(AsseInfoProj asseInfoProj); /** * 检查是否已存在该资产漏洞威胁 * @param asseInfoProjId * 测评项目Id * @param asseInfoAsse * 关联资产 * @param asseKnowStatCveThreId * 静态威胁Id * @return 是否已存在 **/ boolean checkExitDynaLeakThre(Integer asseInfoProjId, AsseInfoAsse asseInfoAsse, String asseKnowStatCveThreId); /** * 检查是否已存在该资产漏洞 * @param asseInfoProj * 测评项目 * @return 是否已存在 **/ boolean checkExitDynaLeakThreList(AsseInfoProj asseInfoProj); /** * 保存动态资产漏洞威胁 * @param asseInfoProj * 测评项目 **/ void saveDynaLeakThre(AsseInfoProj asseInfoProj); /** * 漏洞与威胁关联 * @param paraMap * 参数Map * @param asseInfoProj * 测评项目 **/ void relateLeakToThre(Map paraMap, AsseInfoProj asseInfoProj); List<AsseKnowDynaLeakThre> listDynaLeak(int startResult1, int maxResult1, AsseInfoProj asseInfoProj, List<AsseInfoAsse> asseInfo); List<AsseKnowDynaLeakThre> listByDynaLeakId(int dynaLeakId); }