[Templates] $ScanSettings_Min_X = 400 $VulnerabilityAssessmentReport_TimePeriodSwitch_OnChange = +onchange(ctl.Group1.Report.setfilter(f_VulnerabilityAssessmentReport_Period_Filter(ctl.PeriodBegin.value, ctl.PeriodEnd.value), 1)) $VulnerabilityAssessmentReport_PeriodSwitch_Block = [ProfileReport_Switch_Time] extprm(1) xy(,7) a(la) subst(IsChange($VulnerabilityAssessmentReport_TimePeriodSwitch_OnChange) ) [VulnsScan2_Vendors_Body] @ = a(la) sz(p,a) ext(1) Title = a(la) sz(p,a) xy(,,,6) List = [VulnsScan2_Vendors_List] extprm(1) [VulnsScan2_Vendors_List] @ = t(list) a(la) sz(p,60) alias(vector.referencelist) at(checked,noheader) reference(s_Vendors) bg("WindowBg") v(Vendors) ext(1) Vendors = sz(a) at(checked) text(Name) v(Enabled) [VulnsScan2_ScanAreas_Body] @ = a(la) sz(p,a) Title = a(la) sz(p,a) xy(,,,6) Content = [Updater_Settings_ScanAreas_Content] [Updater_Settings_ScanAreas_Content] @ = a(la) sz(p,140) b(GreyBorder) List = [VulnsScan2_ScanAreas_List] ;Toolbar = [Grid.Toolbar.Template] a(lt) b() t(listtoolbar) subst(Add(onclick(add(browseobject(FolderName, "BrowseForFolder", #SHELL_OBJTYPE_MASK|#SHELL_OBJTYPE_FOLDER)))) Edit(use(0)) Delete(enable(depend(canEdit())))) Toolbar = [Grid.Toolbar.Template] use($IsNotAK) a(lt) b() t(listtoolbar) subst(Add(onclick(add(browseobject(FolderName, "BrowseForFolder", #SHELL_OBJTYPE_FOLDER)))) Edit(use(0)) Delete(enable(depend(canEdit())))) Toolbar = [Grid.Toolbar.Template] use($IsAK) a(lt) b() t(listtoolbar) subst(Add(onclick(add(dialog("AK.VulnScanObjectDlg")))) Edit(use(0)) Delete(enable(depend(canEdit())))) [VulnsScan2_ScanAreas_List] @ = $ListToolbar at(noheader) alias(vector) v(Folders) h(46367) Name = at(checked) sz(a) text(FolderName) v(Enabled) [VulnerabilitiesRTS_WorkArea] @ = [Settings_Navigator_WorkAreaT] subst(TaskName(use(1) text($VulnsScan2rt)) Caption() Enable(use(0)) Body( use(0)) BodyNotEnabled( use(1) [VulnerabilitiesRTS_WorkArea_Body] ) ) h(49436) [VulnerabilitiesRTS_WorkArea_Body] @ = $MainSettingsGroup sz(p,a) a(la) StartRTS = $Check a(la) xy(,6) v(enabled) ;-------------------------Настройка сканирования уязвимостей---------------- [Scan_Vulnerabilities_WorkArea] @ = [Settings_Navigator_WorkAreaT] subst(TaskName(use(1)) Caption() Enable(use(0)) Body([Scan_Vulnerabilities_WorkArea_Body])) h(43485) [Scan_Vulnerabilities_WorkArea_Body] @ = sz(p,p) a(la) ObjectForScan = [Scan_Vulnerabilities_WorkArea_Body_ObjectForScan] MoreObjectsForScan = [Scan_Vulnerabilities_WorkArea_Body_MoreObjects] Schedule = [Scan_Vulnerabilities_WorkArea_Body_Schedule] [Scan_Vulnerabilities_WorkArea_Body_ObjectForScan] @ = $MainSettingsGroup sz(p,a) a(la) Body = [VulnsScan2_Vendors_Body] subst(List(sz(p,100))) a(la) xy(,6) [Scan_Vulnerabilities_WorkArea_Body_MoreObjects] @ = $MainSettingsGroup sz(p,a) a(la) ScanAreaButton = $Button_Medium_Glass sz(250,$ButtonYSize) a(la) xy(,6) onclick(windowDlg("VAScanAreas_Dlg")) extprm(1) [Scan_Vulnerabilities_WorkArea_Body_Schedule] @ = $MainSettingsGroup sz(p,a) a(la) Settings = $Button_Medium_Glass sz(165,$ButtonYSize) a(la) xy(,6) onclick(windowDlg("ScanSettings:RunMode", p_CfgMode(2))) a(ls) extprm(1) Scheduler = [Value] ns(schedule) a(as) xy(7,4) subst( Val(a(at) f("BlackSize8BoldFont") text(switch(schedule.Mode, "SchedulerDescription")) )) [VAScanAreas_Dlg] @ = [StyledWindowSmallT] at(dragable,a_ok,a_cancel) subst( BodyEx( [VulnsScan2_ScanAreas_Body] ) ) sz(430,a) alias(taskedit) h(46365) ;///////////////////////////////////////////////////////////////////////////// ;///////////////////////////////////////////////////////////////////////////// ;////////////Отчеты сканирования уязвимостей////////////////////////////////// [Vulnerabilities_Body_Reports] @ = sz(p,p) DescrArea = [Vulnerabilities_Body_Reports_Descr] a(lb) rs(,0) b(ToplineGreyBorder) xy(,,,8) alias(descriptor) dataowner(parent.ListBody.List) visible(ctl.Descr.ser()) ListBody = [Vulnerabilities_Body_Reports_ToolBarList] [Vulnerabilities_Body_Reports_ToolBarList] @ = a(lp) sz(p,p) ActionsArea = [Grid.Toolbar.Template] a(lt) b() subst(Add(use(0)) Edit(use(0)) Delete(use(0)) Other(use(1) [Vulnerabilities_Body_Reports_ToolBarList_ActionsArea])) extprm(1) List = [Vulnerabilities_Body_Reports_ToolBarList_List] ;onselect(ctl.parent.DescrArea.Descr.VulnDescr.PatchListFooter.PatchList.Reinit()) [Vulnerabilities_Body_Reports_ToolBarList_ActionsArea] @ = sz(p,p) rs(100,0) ext(1) SeverityFilter = [Vulnerabilities_Body_Reports_ToolBarList_ActionsArea_SeverityFilter] a(lc) extprm(1) SearchEdit = [SearchBoxSmallT] sz(150) a(rc) xy(6) subst( Filter(onchange(ctl.List.finddata("wildcard(" + toExpr("*" + tolower(ctl.value) + "*") + ", tolower(ctl.List.rowdatatext()), 3)", 100))) ) [Vulnerabilities_Body_Reports_ToolBarList_ActionsArea_SeverityFilter] $CriticalValues = "Vulnerability.V_Severity == #CriticalVulnerabilitie" $HighValues = "Vulnerability.V_Severity == #HighVulnerabilitie" $NotCriticalValues = "Vulnerability.V_Severity == #WarningVulnerabilitie" $ResolvedValues = "State == #VulStateFixed" $HideValues = "State == #VulStateHidden" $OpenValues = "State == #VulStateOpened" $SeverityChoose = ctl.List.setfilter("(" + if(ctl.NoCritical.value, $NotCriticalValues, "false") + "||" + if(ctl.High.value, $HighValues, "false") + "||" + if(ctl.Critical.value, $CriticalValues, "false") + ") && (" + if(ctl.CheckHide.value, $HideValues, "false") + "||" + if(ctl.CheckResolved.value, $ResolvedValues, "false") + "||" + $OpenValues + ")", 10) ;if(ctl.NoCritical.value, $NotCriticalValues, "true") + "||" + if(ctl.Critical.value, $CriticalValues, "true") + "&& (" + if(ctl.CheckResolved.value, $ResolvedValues, "false") + "||" + if(ctl.CheckHide.value, $HideValues, "false") + " || " + $OpenValues + ")", 10) ;if(ctl.CheckHide.value, $HideValues, "false") + "||" + if(ctl.CheckResolved.value, $ResolvedValues, "false") + "||" + $OpenValues + "&&" + if(ctl.NoCritical.value, $NotCriticalValues, "true"), 10) ; @ = sz(a,a) oninit(ctl.NoCritical.value = true; ctl.High.value = true; ctl.Critical.value = true; ctl.CheckResolved.value = true; ctl.CheckHide.value = true) SeverityText = sz(a,p) a(lc) NoCritical = [ToolBar_Button_ChkLike] subst(Icon(i(s_Ico(#ICO_INFO_14)))) a(ac) xy(6) onchange($SeverityChoose) High = [ToolBar_Button_ChkLike] subst(Icon(i(s_Ico(#ICO_WARN_14)))) onchange($SeverityChoose) Critical = [ToolBar_Button_ChkLike] subst(Icon(i(s_Ico(#ICO_CRIT_14)))) onchange($SeverityChoose) Description = sz(a,p) a(ac) xy(10) CheckResolved = $Check sz(a,a) a(ac) xy(6) onchange($SeverityChoose) CheckHide = $Check sz(a,a) a(ac) xy(6) onchange($SeverityChoose) ;[Vulnerabilities_Body_Reports_ToolBarList_List] ;@ = $List at(noborder) alias(VulnScanList) a(la) extprm(1) refresh(500) ;;Rating = sz(p) rs(10) text(Vulnerability.V_Rating) i(s_VulnSeverityIcon(Vulnerability.V_Severity)) ;Application = sz(p) rs(25) i(s_VulnSeverityIcon(Vulnerability.V_Severity)) text(if(Vulnerability.V_Vendor == 0, Vulnerability.V_Source.VS_MSUpdateInfo.WPI_ProductInfos.at(0).PI_Title, Vulnerability.V_Source.VS_Product)) ;;text(Vulnerability.V_Source.VS_Product) i(s_VulnSeverityIcon(Vulnerability.V_Severity)) ;text(if(Vulnerability.V_Vendor == 0, Vulnerability.V_Source.VS_MSUpdateInfo.WPI_ProductInfos.at(0).PI_Title, Vulnerability.V_Source.VS_Product)) ;Object = sz(p) rs(25) text(if(Vulnerability.V_Vendor == 0, Vulnerability.V_Source.VS_MSUpdateInfo.WPI_Title, Vulnerability.V_Source.VS_SourceName)) ;Vendor = sz(p) rs(20) text(Vulnerability.V_Source.VS_Vendor) ;Verdict = sz(p) rs(20) text(s_VulnStateText(State)) [Vulnerabilities_Body_Reports_ToolBarList_List] $VulnMicrosoftText = if(Vulnerability.V_Source.VS_MSUpdateInfo.WPI_ProductInfos.size(), Vulnerability.V_Source.VS_MSUpdateInfo.WPI_ProductInfos.at(0).PI_ProductFamily.PFI_Title) $VulnProductText = if(#VulnVendorMicrosoft == Vulnerability.V_Vendor && #VulnSourceTypeWUA == Vulnerability.V_Source.VS_Type, $VulnMicrosoftText, Vulnerability.V_Source.VS_Product) $FontFromState = f((State == #VulStateOpened) ? "BlackSize8NormalFont" : "GreySize8NormalFont") @ = $List at(noborder) alias(VulnScanList) a(la) extprm(1) refresh(500) Severity = sz(50) v(Vulnerability.V_Severity) ia(cc) i(s_VulnSeverityIcon(Vulnerability.V_Severity)) text("") sort(Vulnerability.V_Severity,sortup) $FontFromState VulnId = sz(p) rs(20) text(Vulnerability.V_Name) $FontFromState Product = sz(p) rs(20) text($VulnProductText) $FontFromState Description = sz(p) rs(20) text(Vulnerability.V_BriefSummary) $FontFromState Vendor = sz(p) rs(20) text(Vulnerability.V_Source.VS_Vendor) $FontFromState Verdict = sz(p) rs(20) text(s_VulnStateText(State)) $FontFromState row = $FontFromState [Vulnerabilities_Body_Reports_Descr] @ = sz(p,a) Descr = [Vulnerabilities_Body_Reports_Descr_Value] a(lt) mg(8,8,8,8) visible(ctl.selcount() >= 1) [Vulnerabilities_Body_Reports_Descr_Value] @ = sz(p,a) extprm(1) VulnDescr = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr] a(la) xy(,6,,6) visible(ctl.selcount() == 1 && #VulnVendorMicrosoft != ctl.ser().Vulnerability.V_Vendor) VulnDescrMS = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescrMS] a(la) xy(,6,,6) visible(ctl.selcount() == 1 && #VulnVendorMicrosoft == ctl.ser().Vulnerability.V_Vendor) VulnOperations = [Vulnerabilities_Body_Reports_Descr_Value_VulnOperations] a(la) [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr] @ = sz(p,a) Title = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_Title] a(lt) Description = sz(p,a) a(la) xy(,6) visible(depend(ctl.ser().Vulnerability.V_Source.VS_Patches.size())) PatchListFooter = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_Patch] a(la) xy(,6) visible(depend(ctl.ser().Vulnerability.V_Source.VS_Patches.size())) [Vulnerabilities_Body_Reports_Descr_Value_VulnDescrMS] @ = sz(p,a) Title = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescrMS_Title] a(lt) PatchListFooter = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_Patch] a(la) xy(,6) visible(depend(ctl.ser().Vulnerability.V_Source.VS_Patches.size())) [Vulnerabilities_Body_Reports_Descr_Value_VulnDescrMS_Title] @ = sz(p,a) Icon = sz(a,a) ia(lc) i(if(#VulnSourceTypeWUA == @.Vulnerability.V_Source.VS_Type, "unkapp", getIcon(ctl.ser().Vulnerability.V_Source.VS_SourceName, "unkapp", 1))) Description = sz(p,a) a(al) xy(6) t(richedit) at(readonly,nofocus,noborder) text(f_VulnAppDescrMS(ctl.ser())) [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_Patch] @ = sz(p,a) b(GreyBorder) sz(p,50) Link = $Link sz(a,a) a(lt) xy(6) onclick(open(ctl.ser().Vulnerability.V_Source.VS_Patches.at(0).PI_Url)) Version = sz(a,a) a(as) xy(6) text(f_VulnPatchVersionRange(ctl.ser().Vulnerability.V_Source)) Description = sz(a,a) a(as) xy(6) visible(ctl.ser().Vulnerability.V_Source.VS_Patches.at(0).PI_RebootRequired || ctl.ser().Vulnerability.V_Source.VS_Patches.at(0).PI_GuiRequired) Reboot = sz(a,a) a(as) xy(6) visible(ctl.ser().Vulnerability.V_Source.VS_Patches.at(0).PI_RebootRequired) GuiReq = sz(a,a) a(as) xy(6) visible(ctl.ser().Vulnerability.V_Source.VS_Patches.at(0).PI_GuiRequired) ;[Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_Patch] ;@ = sz(p,a) b(GreyBorder) visible(depend(ctl.ser().Vulnerability.V_Source.VS_Patches.size())) ;PatchList = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_PatchList] a(la) xy(,6) ;footer = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_PatchList_Footer] a(ca) visible(ctl.parent.PatchList.getTotalPages() > 1) [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_Title] @ = sz(p,a) Icon = sz(a,a) ia(lc) i(getIcon(ctl.ser().Vulnerability.V_Source.VS_SourceName, "unkapp", 1)) Description = sz(p,a) a(al) xy(6) t(richedit) at(readonly,nofocus,noborder) text(f_VulnAppDescr(ctl.ser())) [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_PatchList] @ = t(itemslist) v(depend(ctl.ser().Vulnerability.V_Source.VS_Patches)) sz(p,50) id("PI_Url") row = [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_PatchList_Row] [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_PatchList_Footer] @ = sz(a,15) Prev = a(lc) at(btnlike) i("VulnListArrows,2,3") enable(ctl.parent.PatchList.isPrevEnabled()) onclick(ctl.parent.PatchList.doPrev()) Text = a(ac) xy(9,,9,) Next = a(ac) at(btnlike) i("VulnListArrows,0,1") enable(ctl.parent.PatchList.isNextEnabled()) onclick(ctl.parent.PatchList.doNext()) [Vulnerabilities_Body_Reports_Descr_Value_VulnDescr_PatchList_Row] @ = a(la) sz(p,a) Link = $Link sz(a,a) a(lc) xy(6) onclick(open(PI_Url)) Version = sz(a,a) a(ac) xy(6) text(f_VulnPatchVersionRange(PI_UpgradeFromVersion)) Description = sz(a,a) a(ac) xy(6) visible(PI_RebootRequired || PI_GuiRequired) Reboot = sz(a,a) a(ac) xy(6) visible(PI_RebootRequired) GuiReq = sz(a,a) a(ac) xy(6) visible(PI_GuiRequired) [Vulnerabilities_Body_Reports_Descr_Value_VulnOperations] @ = sz(p,a) ;Multiselect = sz(p,a) visible(ctl.selcount() > 1) text(ctl.selcount()) ;ScanBtn = $Button_Medium_Glass a(la) xy(,6) HideBtn = $Button_Medium_Glass a(as) onclick(set_hide()) visible(ctl.ser() && check_state(#VulStateOpened)) xy(,,6) UnHideBtn = $Button_Medium_Glass a(as) onclick(set_unhide()) visible(ctl.ser() && check_state(#VulStateHidden)) AdditionalInfo = $Link sz(a,p) a(rc) onclick(url(ctl.ser().Vulnerability.V_Description)) visible(ctl.selcount() == 1) ;//////////////////////////////////////////////////////////////////////////////////// ;//////////////////////////////////////////////////////////////////////////////////// ;////////////////Отчеты (журналы) для сканирования уязвимостей/////////////////////// [Grid.Groups] VulnerabilityAssessmentValueGroup = [Grid.Group.Template] text(val) [VulnerabilityAssessment_ReportArea] @ = [ProfileReportT] subst(Group1([VulnerabilityAssessment_ReportArea_Events]) PeriodSwitch($VulnerabilityAssessmentReport_PeriodSwitch_Block) Descr([VulnerabilityAssessment_ReportArea_Events_Descr]) ) [VulnerabilityAssessment_ReportArea_Events] @ = ext(1) d = [VulnerabilityAssessment_ReportArea_Events_Log] subst(Report(prm(#dbVulnerabilityAssessment)) views([Hips_ReportArea.Hips_Filters_Menu])) [VulnerabilityAssessment_ReportArea_Events_Log] @ = ext(1) sz(p,p) Report = [VulnerabilityAssessment_ReportArea_Events_Log_Events] [VulnerabilityAssessment_ReportArea_Events_Log_Events] $dayWeek = (getFilterValue(ctl.id) <= -2 && getFilterValue(ctl.id) >= -8) @ = $List at(rememberdata,noborder) alias(VulnerabilityAssessmentEvents) refresh(100) extprm(1) onshow(ctl.setfilter(ctl.Filter.value,10)) Time = sz(150) text(datetime(DateTime)) sort(index, sortup) filter(auto, s_date(dategroup(DateTime, $dayWeek))) group(date, dategroup(DateTime)) Type = sz(150) text(switch(EventID,"EventTypes")) Vulnerability = [VulnerabilityAssessment_ReportArea_Events_Log_Events_Vulnerability] VulnerabilitySource = [VulnerabilityAssessment_ReportArea_Events_Log_Events_VulnerabilitySource] row = at(clickable) i($RepEventIcon) onrclick(menu("VulnerabilityAssessment_Product_Events_Report_Menu")) [VulnerabilityAssessment_Product_Events_Report_Menu] @ = [Product_Events_Report_Menu] subst(GotoFile(enable(FilePath) onclick(if(!gotofile(FilePath), msg("CantOpenFolder"))))) [VulnerabilityAssessment_ReportArea_Events_Log_Events_Vulnerability] @ = sz(100) text(VulName) group(VulnerabilityAssessmentValueGroup, VulName) VulInfoState = sz(50) text(s_VulInfoStateText(VulInfoState)) filter(auto, s_VulInfoStateText(VulInfoState)) group(VulnerabilityAssessmentValueGroup, VulInfoState) VulName = sz(50) text(VulName) group(VulnerabilityAssessmentValueGroup, VulName) VulDescription = sz(100) text(VulDescription) group(VulnerabilityAssessmentValueGroup, VulDescription) [VulnerabilityAssessment_ReportArea_Events_Log_Events_VulnerabilitySource] @ = sz(100) text(VulSrcSourceName) group(VulnerabilityAssessmentValueGroup, VulSrcSourceName) VulSrcVendor = sz(50) text(VulSrcVendor) group(VulnerabilityAssessmentValueGroup, VulSrcVendor) VulSrcProduct = sz(50) text(VulSrcProduct) group(VulnerabilityAssessmentValueGroup, VulSrcProduct) VulSrcVersion = sz(20) text(VulSrcVersion) group(VulnerabilityAssessmentValueGroup, VulSrcVersion) VulSrcLanguage = sz(20) text(VulSrcLanguage) group(VulnerabilityAssessmentValueGroup, VulSrcLanguage) VulSrcProductCode = sz(40) text(VulSrcProductCode) group(VulnerabilityAssessmentValueGroup, VulSrcProductCode) VulSrcSourceName = sz(50) text(VulSrcSourceName) group(VulnerabilityAssessmentValueGroup, VulSrcSourceName) [VulnerabilityAssessment_ReportArea_Events_Descr] @ = sz(p,p) Title = [VulnerabilityAssessment_ReportArea_Events_Descr_Title_Text] MainGroup = [Protection_Events_Descr_MainGroup] [VulnerabilityAssessment_ReportArea_Events_Descr_Title_Text] @ = sz(p,a) xy(,,,12) Icon = a(lc) i(s_VerdictIconBig(s_EventSeverityIcon(Severity))) extprm(1) Text = sz(p,a) a(ac) xy(4) f("MainSize11NormalFont") text(datetime(DateTime) + " : " + switch(EventID,"EventTypes"))