Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
5fdd5b1
Update security_quality_gate.py
bkaiserinfosec Mar 13, 2024
1a5e69e
Update Jenkinsfile
bkaiserinfosec Mar 13, 2024
12cbbd2
Update security_quality_gate.py
bkaiserinfosec Mar 13, 2024
ffcd643
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/update-secu…
bkaiserinfosec Mar 13, 2024
c5242c9
update settings and groups
bkaiserinfosec Mar 18, 2024
21ff0cd
add function for table updates
bkaiserinfosec Mar 18, 2024
cfcaab3
updated function for db updates
bkaiserinfosec Mar 18, 2024
fe69827
Update updates.py
bkaiserinfosec Mar 18, 2024
b84553c
Update updates.py
bkaiserinfosec Mar 18, 2024
1c6d5c0
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/fix-syntax-…
bkaiserinfosec Mar 18, 2024
fa80754
Update updates.py
bkaiserinfosec Mar 18, 2024
2e3e85c
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/fix-syntax-…
bkaiserinfosec Mar 18, 2024
7db0df8
Update settings.py
bkaiserinfosec Mar 20, 2024
1e5bddf
update to settings update without restart
bkaiserinfosec Mar 22, 2024
d0f7120
Update run.py
bkaiserinfosec Mar 22, 2024
17aeb1c
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/fix-syntax-…
bkaiserinfosec Mar 22, 2024
ba8b3dc
Update pipeline-config.yaml
bkaiserinfosec Mar 22, 2024
42f91fd
Update __init__.py
bkaiserinfosec Mar 22, 2024
6642feb
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/jenkins-upd…
bkaiserinfosec Mar 22, 2024
89ec1ba
Update __init__.py
bkaiserinfosec Mar 22, 2024
61c8474
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/jenkins-upd…
bkaiserinfosec Mar 22, 2024
9f3a6d2
Update jenkins_webhook.py
bkaiserinfosec Mar 22, 2024
68b7189
Update jenkins_webhook.py
bkaiserinfosec Mar 22, 2024
ba2a700
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/jenkins-upd…
bkaiserinfosec Mar 22, 2024
685167e
Update jenkins_webhook.py
bkaiserinfosec Mar 22, 2024
9762718
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/jenkins-upd…
bkaiserinfosec Mar 22, 2024
9f24393
Update jenkins_webhook.py
bkaiserinfosec Mar 22, 2024
9b1a8cb
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/jenkins-upd…
bkaiserinfosec Mar 22, 2024
a843f29
Update jenkins_webhook.py
bkaiserinfosec Mar 22, 2024
926a746
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/jenkins-upd…
bkaiserinfosec Mar 22, 2024
c3d91be
add new route for updating application profile
bkaiserinfosec Mar 23, 2024
a60eb80
Update __init__.py
bkaiserinfosec Mar 24, 2024
9774a67
Update testing.py
bkaiserinfosec Mar 25, 2024
6f3d885
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/add-app-pro…
bkaiserinfosec Mar 25, 2024
67ef547
Update jenkins_webhook.py
bkaiserinfosec Mar 26, 2024
c24afcc
Update jenkins_webhook.py
bkaiserinfosec Mar 27, 2024
972d30b
Update jenkins_webhook.py
bkaiserinfosec Mar 27, 2024
5319d11
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/add-app-pro…
bkaiserinfosec Mar 27, 2024
3cdf5ae
Update Jenkinsfile
bkaiserinfosec Mar 30, 2024
caa94bf
Update Jenkinsfile
bkaiserinfosec Mar 30, 2024
e8ea6ac
Update pipeline-config.yaml
bkaiserinfosec Mar 30, 2024
da8f76a
Update Jenkinsfile
bkaiserinfosec Mar 30, 2024
61d44cb
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/add-app-pro…
bkaiserinfosec Mar 30, 2024
1f8a48d
Update Jenkinsfile
bkaiserinfosec Mar 30, 2024
071f29f
Merge branch 'feature/add-app-profile-update-function' of https://git…
bkaiserinfosec Mar 30, 2024
c4f6a01
Update sonar-project.properties
bkaiserinfosec Mar 31, 2024
a28b9b8
Update pipeline-config.yaml
bkaiserinfosec Mar 31, 2024
333ce37
Update Jenkinsfile
bkaiserinfosec Mar 31, 2024
7fe5336
Update Jenkinsfile
bkaiserinfosec Mar 31, 2024
adfd14a
Update vulnerabilities.py
bkaiserinfosec Mar 31, 2024
dcd5cb0
Update pipeline-config.yaml
bkaiserinfosec Mar 31, 2024
d861df4
Update Jenkinsfile
bkaiserinfosec Mar 31, 2024
195c4ee
Update pipeline-config.yaml
bkaiserinfosec Mar 31, 2024
c01a59c
Update pipeline-config.yaml
bkaiserinfosec Mar 31, 2024
11a93d1
fix syntax error
bkaiserinfosec Apr 1, 2024
ce48409
Update jenkins_webhook.py
bkaiserinfosec Apr 1, 2024
5e525e2
Update jenkins_webhook.py
bkaiserinfosec Apr 1, 2024
3098602
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/update-jenk…
bkaiserinfosec Apr 1, 2024
5f06c5c
Update jenkins_webhook.py
bkaiserinfosec Apr 1, 2024
af898ec
Update jenkins_webhook.py
bkaiserinfosec Apr 1, 2024
29d5fc5
Update jenkins_webhook.py
bkaiserinfosec Apr 1, 2024
c487479
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/update-jenk…
bkaiserinfosec Apr 1, 2024
4e7534e
Update jenkins_webhook.py
bkaiserinfosec Apr 2, 2024
aa5c63b
Merge branch 'feature/update-jenkins-webhook' of https://github.com/S…
bkaiserinfosec Apr 2, 2024
073c512
Update jenkins_webhook.py
bkaiserinfosec Apr 2, 2024
d4a2b85
Merge branch 'release/0.1.0-beta/Prod-azure' into feature/update-jenk…
bkaiserinfosec Apr 2, 2024
aa47e82
add endpoint for open source testing via jenkins
bkaiserinfosec Apr 3, 2024
27df6dc
Update base_auth.html
bkaiserinfosec Apr 3, 2024
5a3e2b3
Update pipeline-config.yaml
bkaiserinfosec Apr 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions pipeline-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,21 @@ stages:
branches:
- release
unitTesting:
enabled: false
enabled: true
branches: []
secretScanning:
enabled: false
enabled: true
branches:
- release
sca:
enabled: false
enabled: true
branches:
- release
codeLanguages:
- Python
- Javascript
sast:
enabled: false
enabled: true
branches:
- release
codeLanguages:
Expand All @@ -43,20 +43,20 @@ stages:
containerName: secusphere
containerTag: latest
releaseToTest:
enabled: false
enabled: true
branches:
- release
serviceName: secusphere
containerTag: latest
testRelease:
enabled: false
enabled: true
branches:
- release
targetUrl: 'https://secusphere.securityuniversal.com'
dastTestType: full
apiTargetUrl: 'https://secusphere.securityuniversal.com/api/openapi.yaml'
securityQualityGate:
enabled: false
enabled: true
branches:
- release
deploy:
Expand Down
18 changes: 9 additions & 9 deletions src/vr/api/vulns/jenkins_webhook.py
Original file line number Diff line number Diff line change
Expand Up @@ -263,23 +263,23 @@ def _determine_stages_for_app(app_name):
stage_str = ""
app_str = app_name.split('--')[0]
component_str = app_name.split('--')[1]
app_obj = BusinessApplications.query.filter(text(f"BusinessApplications.ApplicationName='{app_str}' AND BusinessApplications.ApplicationAcronym='{component_str.lower()}'")).first()
app_obj = BusinessApplications.query.filter(text(f"BusinessApplications.ApplicationName='{app_str.upper()}' AND BusinessApplications.ApplicationAcronym='{component_str.lower()}'")).first()
profile = ApplicationProfiles.query.filter_by(AppID=app_obj.ID).first()
if profile.SecretScanReq == 1:
if str(profile.SecretScanReq) == "1":
stage_str += "SECRET,"
if profile.SCAReq == 1:
if str(profile.SCAReq) == "1":
stage_str += "SCA,"
if profile.SASTReq == 1:
if str(profile.SASTReq) == "1":
stage_str += "SAST,"
if profile.IACReq == 1:
if str(profile.IACReq) == "1":
stage_str += "IAC,"
if profile.ContainerReq == 1:
if str(profile.ContainerReq) == "1":
stage_str += "DOCKER,"
if profile.InfrastructureScanReq == 1:
if str(profile.InfrastructureScanReq) == "1":
stage_str += "INFRA,"
if profile.DASTReq == 1:
if str(profile.DASTReq) == "1":
stage_str += "DAST,"
if profile.DASTApiReq == 1:
if str(profile.DASTApiReq) == "1":
stage_str += "DAPIST,"
if stage_str.endswith(","):
stage_str = stage_str[:-1]
Expand Down
1 change: 1 addition & 0 deletions src/vr/templates/base_auth.html
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,7 @@
<a href="{{ url_for('vulns.global_KPIs') }}" class="menu_child_btn reg">Application KPIs</a>
{% if user.is_admin %}
<a href="{{ url_for('assets.add_application') }}" class="menu_child_btn reg">Add Application</a>
<a href="{{ url_for('vulns.opensource_testing') }}" class="menu_child_btn reg">Add Open Source</a>
{% endif %}
<a href="{{ url_for('sourcecode.cheatsheets', sheet_name='Index') }}" class="menu_child_btn reg">Cheat Sheets</a>
</div>
Expand Down
57 changes: 57 additions & 0 deletions src/vr/templates/testing/opensource_testing.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{% extends 'base_auth.html' %}

{% block app_content %}
<style>
.container { max-width: 600px; margin: auto; padding: 20px; border: 1px solid #ccc; border-radius: 5px; }
h2 { text-align: center; color: white; }
form { display: flex; flex-direction: column; }
.form-group { margin-bottom: 15px; }
.form-group label { margin-bottom: 5px; color: white; }
.form-group input { padding: 10px; font-size: 16px; border-radius: 5px; border: 1px solid #ccc; }
button { background-color: #007bff; color: white; padding: 10px 20px; font-size: 16px; border: none; border-radius: 5px; cursor: pointer; }
button:hover { background-color: #0056b3; }
</style>

<div class="container-fluid">
<!-- start of tabs -->


<div class="row hidden-xs">


<div class="container">
<h2>Open Source Libraries Security Testing</h2>
<form action="/start_opensource_testing" method="post">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
<div class="form-group">
<label for="gitUrl">Git URL:</label>
<input type="text" id="gitUrl" name="gitUrl" required>
</div>
<div class="form-group">
<label for="gitBranch">Git Branch:</label>
<input type="text" id="gitBranch" name="gitBranch" required>
</div>
<div class="form-group">
<label for="app_name">Application Name:</label>
<input type="text" id="app_name" name="app_name" required>
</div>
<button type="submit">Submit for Testing</button>
</form>
</div>

</div>


<!-- end of tabs -->
<div class="row">
<div class="col-lg-12">

</div>
<!-- /.col-lg-12 -->
</div>
<!-- /.row -->

</div>


{% endblock %}
55 changes: 54 additions & 1 deletion src/vr/vulns/web/testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@


NAV = {
'CAT': { "name": "Vulnerabilities", "url": "sourcecode.dashboard"}
'CAT': { "name": "Testing", "url": "sourcecode.dashboard"}
}

@vulns.route("/vulnerability_scans/<id>", methods=['GET', 'POST'])
Expand Down Expand Up @@ -126,6 +126,59 @@ def on_demand_testing():

return redirect(request.referrer)

@vulns.route("/opensource_testing")
@login_required
def opensource_testing():
try:
NAV['curpage'] = {"name": "Open Source Testing"}
user, status, user_roles = _auth_user(session, 'No Role')
if status == 401:
return redirect(url_for('admin.login'))
elif status == 403:
return render_template('403.html', user=user, NAV=NAV)

return render_template('testing/opensource_testing.html', user=user, NAV=NAV)
except RuntimeError:
return render_template('500.html'), 500



@vulns.route("/start_opensource_testing", methods=['POST'])
@login_required
def start_opensource_testing():
NAV['curpage'] = {"name": "Vulnerability Scans"}
admin_role = 'Application Admin'
role_req = ['Application Admin', 'Application Viewer']
perm_entity = 'Application'
user, status, user_roles = _auth_user(session, NAV['CAT']['name'], role_requirements=role_req,
permissions_entity=perm_entity)
status = _entity_page_permissions_filter(id, user_roles, session, admin_role)

if status == 401:
return redirect(url_for('admin.login'))
elif status == 403:
return render_template('403.html', user=user, NAV=NAV)

git_url = request.form.get('gitUrl')
git_branch = request.form.get('gitBranch')
app_name = request.form.get('app_name')

headers = {
"Accept": "application/json",
"Content-Type": "application/x-www-form-urlencoded"
}
data = {
'token': app.config['JENKINS_TOKEN'],
'GIT_URL': git_url,
'GIT_BRANCH': git_branch,
'APP_NAME': app_name,
'PROFILE_APPLICATION': 'Y'
}
url = f"{app.config['JENKINS_HOST']}/job/{app.config['JENKINS_PROJECT']}/buildWithParameters"
resp = requests.post(url, headers=headers, data=data, auth=HTTPBasicAuth(app.config['JENKINS_USER'], app.config['JENKINS_KEY']))

return redirect(url_for('assets.all_applications'))


@vulns.route("/update_application_profile", methods=['POST'])
@login_required
Expand Down