Skip to content

Commit 787e7e0

Browse files
committed
chore: integrate snyk scan and semgrep, and fix malware scanner
1 parent 171ab55 commit 787e7e0

3 files changed

Lines changed: 169 additions & 134 deletions

File tree

.circleci/config.yaml

Lines changed: 0 additions & 70 deletions
This file was deleted.

.circleci/config.yml

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,165 @@
1+
version: 2.1
2+
3+
orbs:
4+
general-platform-helpers: okta/general-platform-helpers@1.9
5+
platform-helpers: okta/platform-helpers@1
6+
python: circleci/python@2.0.3
7+
aws-cli: circleci/aws-cli@5.1
8+
9+
jobs:
10+
reversing-labs:
11+
docker:
12+
- image: mcr.microsoft.com/dotnet/sdk:6.0
13+
steps:
14+
- run:
15+
name: Manual HTTPS checkout (avoid SSH)
16+
command: |
17+
git --version
18+
rm -rf .git || true
19+
git init .
20+
git remote add origin https://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME.git
21+
git fetch --depth=1 origin $CIRCLE_SHA1
22+
git checkout --force $CIRCLE_SHA1
23+
24+
- run: dotnet --version
25+
26+
- run:
27+
name: Build Binary to scan
28+
command: |
29+
# dotnet build ./Okta.Xamarin/Okta.Xamarin.sln --configuration Release
30+
dotnet build ./Okta.Xamarin/Okta.Xamarin/Okta.Xamarin.csproj --configuration Release
31+
# dotnet build ./Okta.Xamarin/Okta.Xamarin.Android/Okta.Xamarin.Android.csproj --configuration Release
32+
# dotnet build ./Okta.Xamarin/Okta.Xamarin.iOS/Okta.Xamarin.iOS.csproj --configuration Release
33+
dotnet build ./Okta.Xamarin/Tests/Okta.Xamarin.Test/Okta.Xamarin.Test.csproj --configuration Release
34+
# dotnet build ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.Android/Okta.Xamarin.UITest.Android.csproj --configuration Release
35+
# dotnet build ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.iOS/Okta.Xamarin.UITest.iOS.csproj --configuration Release
36+
# dotnet build ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.Shared/Okta.Xamarin.UITest.Shared.shproj --configuration Release
37+
38+
# Necessary to Install rl wrapper
39+
- run:
40+
name: Install Python
41+
command: |
42+
apt-get update
43+
apt-get install -y curl python3 python3-pip unzip
44+
pip3 install --upgrade pip
45+
46+
# Download the scanner from Okta Security
47+
- run:
48+
name: Download Reverse Labs Scanner
49+
command: |
50+
curl https://dso-resources.oktasecurity.com/scanner \
51+
-H "x-api-key: $DSO_RLSECURE_TOKEN" \
52+
--output rl_wrapper-0.0.2+35ababa-py3-none-any.whl
53+
54+
# Install the wrapper that was downloaded
55+
- run:
56+
name: Install RL Wrapper
57+
command: |
58+
pip3 install ./rl_wrapper-0.0.2+35ababa-py3-none-any.whl
59+
60+
# Setup the AWS profile
61+
- aws-cli/setup:
62+
profile_name: default
63+
role_arn: $AWS_ARN
64+
region: us-east-1
65+
66+
# Get the credentials and save to env
67+
- run:
68+
name: Export AWS credentials to environment
69+
command: >-
70+
eval "$(aws configure export-credentials --profile default --format env)" 2> /dev/null
71+
72+
# Run the wrapper, do not change anything here
73+
- run:
74+
name: Run Reversing Labs Wrapper Scanner
75+
command: |
76+
rl-wrapper \
77+
--artifact ${CIRCLE_WORKING_DIRECTORY/#\~/$HOME} \
78+
--name $CIRCLE_PROJECT_REPONAME\
79+
--version $CIRCLE_SHA1\
80+
--repository $CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME \
81+
--commit $CIRCLE_SHA1 \
82+
--build-env "circleci" \
83+
--suppress_output
84+
85+
build:
86+
docker:
87+
- image: mcr.microsoft.com/dotnet/sdk:6.0
88+
environment:
89+
CIRCLE_CI: true
90+
steps:
91+
- run:
92+
name: Manual HTTPS checkout (avoid SSH)
93+
command: |
94+
set -e
95+
git --version || (apt-get update -y && apt-get install -y --no-install-recommends git ca-certificates curl && rm -rf /var/lib/apt/lists/*)
96+
rm -rf .git || true
97+
git init .
98+
git remote add origin https://github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME.git
99+
git fetch --depth=1 origin $CIRCLE_SHA1
100+
git checkout --force $CIRCLE_SHA1
101+
git config --global --add safe.directory "$(pwd)"
102+
- run:
103+
name: Restore solutions
104+
command: |
105+
# dotnet restore ./Okta.Xamarin/.Xamarin.sln
106+
dotnet restore ./Okta.Xamarin/Okta.Xamarin/Okta.Xamarin.csproj
107+
# dotnet restore ./Okta.Xamarin/Okta.Xamarin.Android/Okta.Xamarin.Android.csproj
108+
# dotnet restore ./Okta.Xamarin/Okta.Xamarin.iOS/Okta.Xamarin.iOS.csproj
109+
dotnet restore ./Okta.Xamarin/Tests/Okta.Xamarin.Test/Okta.Xamarin.Test.csproj
110+
# dotnet restore ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.Android/Okta.Xamarin.UITest.Android.csproj
111+
# dotnet restore ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.iOS/Okta.Xamarin.UITest.iOS.csproj
112+
# dotnet restore ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.Shared/Okta.Xamarin.UITest.Shared.shproj
113+
114+
- run:
115+
name: Build solutions
116+
command: |
117+
# dotnet build ./Okta.Xamarin/Okta.Xamarin.sln --configuration Release --no-restore
118+
dotnet build ./Okta.Xamarin/Okta.Xamarin/Okta.Xamarin.csproj --configuration Release --no-restore
119+
# dotnet build ./Okta.Xamarin/Okta.Xamarin.Android/Okta.Xamarin.Android.csproj --configuration Release --no-restore
120+
# dotnet build ./Okta.Xamarin/Okta.Xamarin.iOS/Okta.Xamarin.iOS.csproj --configuration Release --no-restore
121+
dotnet build ./Okta.Xamarin/Tests/Okta.Xamarin.Test/Okta.Xamarin.Test.csproj --configuration Release --no-restore
122+
# dotnet build ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.Android/Okta.Xamarin.UITest.Android.csproj --configuration Release --no-restore
123+
# dotnet build ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.iOS/Okta.Xamarin.UITest.iOS.csproj --configuration Release --no-restore
124+
# dotnet build ./Okta.Xamarin/Tests/Okta.Xamarin.UITest.Shared/Okta.Xamarin.UITest.Shared.shproj --configuration Release --no-restore
125+
126+
- persist_to_workspace:
127+
root: ~/project
128+
paths:
129+
- .
130+
131+
snyk-scan:
132+
docker:
133+
- image: cimg/python:3.10
134+
working_directory: ~/project
135+
steps:
136+
- attach_workspace:
137+
at: ~/project
138+
- general-platform-helpers/step-load-dependencies
139+
- general-platform-helpers/step-run-snyk-monitor:
140+
scan-all-projects: true
141+
skip-unresolved: false
142+
run-on-non-main: true
143+
detection-depth: 4
144+
145+
workflows:
146+
"Malware Scanner":
147+
jobs:
148+
- reversing-labs:
149+
context:
150+
- static-analysis
151+
"Circle CI Build & Snyk Scan":
152+
jobs:
153+
- build
154+
- snyk-scan:
155+
name: execute-snyk
156+
context:
157+
- static-analysis
158+
requires:
159+
- build
160+
"Semgrep":
161+
jobs:
162+
- platform-helpers/job-semgrep-scan:
163+
context:
164+
- static-analysis
165+
name: "Scan with Semgrep"

Okta.Xamarin/Okta.Xamarin.sln

Lines changed: 4 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Okta.Xamarin.UITest.iOS", "
3131
EndProject
3232
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Okta.Xamarin.UITest.Shared", "Tests\Okta.Xamarin.UITest.Shared\Okta.Xamarin.UITest.Shared.shproj", "{B1B20CDE-B8D7-4303-BEC5-867E29D19F70}"
3333
EndProject
34-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sample", "Sample", "{88BA0661-6DBD-4742-A7AF-CFB5B951B184}"
35-
EndProject
36-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Okta.Xamarin.Demo.Android", "Samples\xamarin\Okta.Xamarin.Demo.Android\Okta.Xamarin.Demo.Android.csproj", "{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}"
37-
EndProject
38-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Okta.Xamarin.Demo.iOS", "Samples\xamarin\Okta.Xamarin.Demo.iOS\Okta.Xamarin.Demo.iOS.csproj", "{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}"
39-
EndProject
40-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Okta.Xamarin.Demo", "Samples\xamarin\Okta.Xamarin.Demo\Okta.Xamarin.Demo.csproj", "{D82B6C59-231E-4D06-97C0-38CF6CAE0540}"
41-
EndProject
34+
4235
Global
4336
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4437
Debug|Android = Debug|Android
@@ -155,59 +148,9 @@ Global
155148
{353226EA-CFB4-4CC1-BBF7-046F22C81838}.Release|iPhone.Build.0 = Release|Any CPU
156149
{353226EA-CFB4-4CC1-BBF7-046F22C81838}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
157150
{353226EA-CFB4-4CC1-BBF7-046F22C81838}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
158-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|Android.ActiveCfg = Debug|Any CPU
159-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|Android.Build.0 = Debug|Any CPU
160-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|Android.Deploy.0 = Debug|Any CPU
161-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
162-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|Any CPU.Build.0 = Debug|Any CPU
163-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
164-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|iPhone.ActiveCfg = Debug|Any CPU
165-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|iPhone.Build.0 = Debug|Any CPU
166-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|iPhone.Deploy.0 = Debug|Any CPU
167-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
168-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
169-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
170-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|Android.ActiveCfg = Release|Any CPU
171-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|Android.Build.0 = Release|Any CPU
172-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|Android.Deploy.0 = Release|Any CPU
173-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|Any CPU.ActiveCfg = Release|Any CPU
174-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|Any CPU.Build.0 = Release|Any CPU
175-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|Any CPU.Deploy.0 = Release|Any CPU
176-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|iPhone.ActiveCfg = Release|Any CPU
177-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|iPhone.Build.0 = Release|Any CPU
178-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|iPhone.Deploy.0 = Release|Any CPU
179-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
180-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
181-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
182-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Debug|Android.ActiveCfg = Debug|iPhoneSimulator
183-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
184-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Debug|iPhone.ActiveCfg = Debug|iPhone
185-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Debug|iPhone.Build.0 = Debug|iPhone
186-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Debug|iPhone.Deploy.0 = Debug|iPhone
187-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
188-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
189-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Release|Android.ActiveCfg = Release|iPhoneSimulator
190-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator
191-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Release|iPhone.ActiveCfg = Release|iPhone
192-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Release|iPhone.Build.0 = Release|iPhone
193-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
194-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
195-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Debug|Android.ActiveCfg = Debug|Any CPU
196-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Debug|Android.Build.0 = Debug|Any CPU
197-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
198-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Debug|Any CPU.Build.0 = Debug|Any CPU
199-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Debug|iPhone.ActiveCfg = Debug|Any CPU
200-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Debug|iPhone.Build.0 = Debug|Any CPU
201-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
202-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
203-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Release|Android.ActiveCfg = Release|Any CPU
204-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Release|Android.Build.0 = Release|Any CPU
205-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Release|Any CPU.ActiveCfg = Release|Any CPU
206-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Release|Any CPU.Build.0 = Release|Any CPU
207-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Release|iPhone.ActiveCfg = Release|Any CPU
208-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Release|iPhone.Build.0 = Release|Any CPU
209-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
210-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
151+
152+
153+
211154
EndGlobalSection
212155
GlobalSection(SolutionProperties) = preSolution
213156
HideSolutionNode = FALSE
@@ -218,9 +161,6 @@ Global
218161
{D4F16703-5ABB-48D0-A2ED-9043F32850F6} = {2D5E2EAA-E3BE-495A-B058-47C3082E723F}
219162
{353226EA-CFB4-4CC1-BBF7-046F22C81838} = {2D5E2EAA-E3BE-495A-B058-47C3082E723F}
220163
{B1B20CDE-B8D7-4303-BEC5-867E29D19F70} = {2D5E2EAA-E3BE-495A-B058-47C3082E723F}
221-
{BAFA3987-AD5D-4E29-BF57-56F4145B5A23} = {88BA0661-6DBD-4742-A7AF-CFB5B951B184}
222-
{F7AADB5C-B6FE-48D7-AC10-8F033A19B8CB} = {88BA0661-6DBD-4742-A7AF-CFB5B951B184}
223-
{D82B6C59-231E-4D06-97C0-38CF6CAE0540} = {88BA0661-6DBD-4742-A7AF-CFB5B951B184}
224164
EndGlobalSection
225165
GlobalSection(ExtensibilityGlobals) = postSolution
226166
SolutionGuid = {8D258CC3-33D9-4055-9627-BB4B404A2682}

0 commit comments

Comments
 (0)