Skip to content

Commit 5fe2976

Browse files
24.2.18 AI support, improved performance, eval_results_eval_id_idx (#49)
* improve performance of homepage view for large data sets * AI related updated for AI exception scoring * add flag to reset script to preserve workspace documentation updates, add admin doc --------- Co-authored-by: Michael Potter <[email protected]>
1 parent 5554f7a commit 5fe2976

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+2302
-2214
lines changed

development/scripts/reset.sql

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
set serveroutput on
2+
set define ^
3+
set serveroutput on size unlimited
4+
set sqlformat default
5+
set termout on
6+
set timing off
7+
set verify off
28

39
declare
10+
l_drop_ws varchar2(128) := '^1';
11+
412
procedure drop_user(p_user in varchar2)
513
as
614
e_user_not_found exception;
@@ -46,16 +54,22 @@ declare
4654
-- apex_extension.remove_menu_entry(p_label => 'APEX SERT', p_workspace => 'SERT');
4755
exception when e_workspace_not_found then null;
4856
end remove_apex_workspace;
57+
-- variable
58+
4959
begin
5060

5161
dbms_output.put_line('Clear changelog tables');
5262
clear_lb_table(p_table => 'SERT_DATABASECHANGELOG');
5363
clear_lb_table(p_table => 'SERT_DATABASECHANGELOG_ACTIONS');
5464
clear_lb_table(p_table => 'SERT_DATABASECHANGELOGLOCK');
5565

56-
dbms_output.put_line('Drop APEX workspace');
57-
remove_apex_workspace('SERT');
58-
-- commit;
66+
if ( lower(l_drop_ws) = 'y' ) then
67+
dbms_output.put_line('Drop APEX-SERT workspace');
68+
remove_apex_workspace('SERT');
69+
commit;
70+
else
71+
dbms_output.put_line('preserve APEX-SERT workspace');
72+
end if;
5973
dbms_output.put_line('Drop sert schemas');
6074
drop_user('sert_core');
6175
drop_user('sert_pub');

doc/adminguide.md

Lines changed: 412 additions & 0 deletions
Large diffs are not rendered by default.

doc/images/sert-admin-homepage.png

115 KB
Loading

doc/release_notes.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Release Notes
22

3+
## 24.2.18
4+
5+
* [GAT-469] - Implement AI support for scoring exception justifications
6+
* [GAT-476] - performance: sert_core.evals_pub_v is very poor when eval_results is large (100K+) #48
7+
* [GAT-475] - fix schema for eval_results_eval_id_idx
8+
39
## 24.2.17
410

511
* [GAT-466] - Rule "List Entry Does Not Contain &ITEM. Syntax" - wrong component_id #42

doc/userguide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
APEX-SERT is an APEX application that evaluates a selected APEX application for security vulnerabilities. The selected application will be evaluated on many topics including: Authentication, Authorization, SQL Injection, Cross Site Scripting (XSS), URL Tampering and many more. After an evaluation is complete, the user will receive a score for their application and a dashboard to review and modify any security vulnerabilities (issues). Each point of risk is described and a suggested action available to make correcting any security risks quick and easy. APEX-SERT also allows a user to provide exceptions to any issues that may not necessarily be vulnerabilities. A user with the Approver role can then approve or reject the exception based on the provided input and the score can then be reevaluated.
66

7-
The APEX-SERT User Guide is provided as a reference for using APEX-SERT v21.2. It is intended for any APEX application developer, development manager and those with similar roles. This User Guide defines the different security terminology, attributes and attribute sets and categories used for the evaluation scores, and the different exceptions statuses used throughout APEX-SERT.
7+
The APEX-SERT User Guide is provided as a reference for using APEX-SERT. It is intended for any APEX application developer, development manager and those with similar roles. This User Guide defines the different security terminology, attributes and attribute sets and categories used for the evaluation scores, and the different exceptions statuses used throughout APEX-SERT.
88

99
This User Guide also covers the following processes that a user can do within APEX-SERT:
1010

product/.DS_Store

-6 KB
Binary file not shown.

product/sert/apex/application/f2100/application/create_application.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- file_checksum: 20703B57525A63047957AFCA5FD72D98EB9AEFFDB3519CC9BBCE690142C699E2
1+
-- file_checksum: 9C235BECA1D9A38116D00418236FA4CC1E12D9C68E2259BF3F8369D071E012BA
22
prompt --application/create_application
33
begin
44
-- Manifest
@@ -55,7 +55,7 @@ wwv_imp_workspace.create_flow(
5555
,p_substitution_value_01=>'APEX-SERT'
5656
,p_file_prefix => nvl(wwv_flow_application_install.get_static_app_file_prefix,'')
5757
,p_files_version=>204
58-
,p_version_scn=>45029884746733
58+
,p_version_scn=>45179260795369
5959
,p_print_server_type=>'INSTANCE'
6060
,p_file_storage=>'DB'
6161
,p_is_pwa=>'Y'

product/sert/apex/application/f2100/application/pages/page_00000.sql

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- file_checksum: A05DD2174E686B708C71E1C68D0ED4AC66653AEB93CDA62D8583ECF7E1DB37E0
1+
-- file_checksum: 9073EAD09B23E35B44AAA89CD92E4DBF9992CB8D250E2EB22EC018775F48D16C
22
-------------------------------------------------------------------------------
33
-- Copyright (c) 2024,2025 Oracle and/or its affiliates.
44
-- Licensed under the Universal Permissive License v 1.0 as shown
@@ -85,7 +85,7 @@ wwv_flow_imp_page.create_page_plug(
8585
,p_region_template_options=>'#DEFAULT#'
8686
,p_component_template_options=>'#DEFAULT#'
8787
,p_plug_template=>wwv_flow_imp.id(511921980148949486)
88-
,p_plug_display_sequence=>50
88+
,p_plug_display_sequence=>2
8989
,p_location=>null
9090
,p_list_id=>wwv_flow_imp.id(136314465783723109)
9191
,p_plug_source_type=>'NATIVE_LIST'
@@ -97,7 +97,7 @@ wwv_flow_imp_page.create_page_plug(
9797
,p_plug_name=>'Stale Exception'
9898
,p_region_template_options=>'#DEFAULT#:t-Alert--horizontal:t-Alert--defaultIcons:t-Alert--danger'
9999
,p_plug_template=>wwv_flow_imp.id(511915446136949475)
100-
,p_plug_display_sequence=>20
100+
,p_plug_display_sequence=>1
101101
,p_location=>null
102102
,p_plug_source=>'The value of this component has changed since an exception was added or approved.'
103103
,p_plug_display_condition_type=>'EXISTS'
@@ -112,7 +112,7 @@ wwv_flow_imp_page.create_page_plug(
112112
,p_region_template_options=>'#DEFAULT#:t-BreadcrumbRegion--useBreadcrumbTitle'
113113
,p_component_template_options=>'#DEFAULT#'
114114
,p_plug_template=>wwv_flow_imp.id(511999637997949547)
115-
,p_plug_display_sequence=>10
115+
,p_plug_display_sequence=>0
116116
,p_plug_display_point=>'REGION_POSITION_01'
117117
,p_location=>null
118118
,p_menu_id=>wwv_flow_imp.id(511883866849949405)

product/sert/apex/application/f2100/application/pages/page_00001.sql

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- file_checksum: 8C8F583842FBCDCBC5C5904ABB86EC7FC0FC54DEDAE1E6EB1C9B4515F77F1643
1+
-- file_checksum: 5EC7AF7CB8716D55F4F6A879898E16AFCB83FFE7B360C1377744DA23CC92F246
22
-------------------------------------------------------------------------------
33
-- Copyright (c) 2024,2025 Oracle and/or its affiliates.
44
-- Licensed under the Universal Permissive License v 1.0 as shown
@@ -132,21 +132,14 @@ wwv_flow_imp_page.create_page_plug(
132132
' ,null as actions',
133133
' ,job_status',
134134
' ,job_status_css ',
135-
' ,case ',
136-
' when app_icon is not null then ',
137-
' ''r/'' || workspace || ''/'' || application_id || ''/files/static/v6/'' ||app_icon',
138-
' else null',
139-
' end as app_image2',
140135
' ,app_image',
136+
' ,app_image2',
141137
' ,approved_score as score',
142138
' ,score_css',
143139
' ,exception_cnt',
144140
' ,apex_version ',
145141
' ,eval_on',
146142
' ,rule_set_active_yn',
147-
' ,case when rule_Set_active_yn = ''N'' then ''<span class="t-Badge t-Badge--warning t-Badge--sm" role="status" aria-label="INACTIVE rule-set" title="INACTIVE rule-set"> <span class="t-Badge-value">INACTIVE</span></span>'' ',
148-
' else '''' ',
149-
' end as rule_set_state',
150143
'from ',
151144
' evals_pub_v ep',
152145
''))
@@ -179,7 +172,13 @@ wwv_flow_imp_page.create_page_plug(
179172
'<span class="t-Badge t-Badge--&JOB_STATUS_CSS. u-pullRight">',
180173
' <span class="t-Badge-value">&JOB_STATUS.</span>',
181174
'</span>')),
182-
'OVERLINE', '&RULE_SET. (&APEX_VERSION.) &RULE_SET_STATE!RAW.',
175+
'OVERLINE', wwv_flow_string.join(wwv_flow_t_varchar2(
176+
'&RULE_SET. (&APEX_VERSION.)',
177+
'',
178+
'{case RULE_SET_ACTIVE_YN/}',
179+
' {when N/}',
180+
' <span class="fa fa-warning u-danger-text"></span> Inactive',
181+
'{endcase/}')),
183182
'REMOVE_PADDING', 'N',
184183
'TITLE', '&TITLE.')).to_clob
185184
);
@@ -207,18 +206,6 @@ wwv_flow_imp_page.create_region_column(
207206
,p_use_as_row_header=>false
208207
,p_is_primary_key=>false
209208
);
210-
wwv_flow_imp_page.create_region_column(
211-
p_id=>wwv_flow_imp.id(94244343987095665)
212-
,p_name=>'RULE_SET_STATE'
213-
,p_source_type=>'DB_COLUMN'
214-
,p_source_expression=>'RULE_SET_STATE'
215-
,p_data_type=>'VARCHAR2'
216-
,p_session_state_data_type=>'VARCHAR2'
217-
,p_display_sequence=>250
218-
,p_is_group=>false
219-
,p_use_as_row_header=>false
220-
,p_is_primary_key=>false
221-
);
222209
wwv_flow_imp_page.create_region_column(
223210
p_id=>wwv_flow_imp.id(106334192143065064)
224211
,p_name=>'APP_IMAGE2'
@@ -984,7 +971,7 @@ wwv_flow_imp_page.create_component_action(
984971
,p_link_target=>'#'
985972
,p_link_attributes=>'id="&EVAL_ID."'
986973
,p_button_display_type=>'ICON'
987-
,p_icon_css_classes=>'fa-clock-o'
974+
,p_icon_css_classes=>'fa-database-play'
988975
,p_action_css_classes=>'reEvaluationInBackground'
989976
,p_is_hot=>false
990977
,p_show_as_disabled=>false

product/sert/apex/application/f2100/application/pages/page_00005.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- file_checksum: 45581C4998938B3C94A8768DF789ADA0F87286E8D6DDFD593189DC1B92B47C63
1+
-- file_checksum: DDAA1EBDFBAE0353CBEB4736E6D9E467535D1FA419524860C8092EC274791102
22
prompt --application/pages/page_00005
33
begin
44
-- Manifest
@@ -46,6 +46,7 @@ wwv_flow_imp_page.create_page_button(
4646
,p_button_template_options=>'#DEFAULT#'
4747
,p_button_template_id=>wwv_flow_imp.id(512260372386949620)
4848
,p_button_image_alt=>'Close'
49+
,p_button_position=>'CLOSE'
4950
,p_warn_on_unsaved_changes=>null
5051
);
5152
wwv_flow_imp_page.create_page_item(

0 commit comments

Comments
 (0)