Fortify CI Integrations Part 2 (Jenkins, Azure DevOps)
Fortify CI Integrations Part 2 (Jenkins, Azure DevOps)
Fortify can integrate with virtually any CI/CD tool in the market. In this session, Diogo Rispoli (Fortify Master Solutions Architect), covers Jenkins and Azure DevOps (24:35).
LEARN MORE about how Fortify received the highest score in the Gartner Critical Capabilities for Application Security Testing report for the Enterprise use case AND the Mobile and Client use case: https://www.microfocus.com/en-us/asse…
SUBSCRIBE TO FORTIFY UNPLUGGED: / @fortifyunplugged
CONNECT with the Fortify Online Community: https://community.microfocus.com/t5/F… - Connect with peers and share your knowledge - Find solutions and answers to your technical questions - Stay informed on new releases and product enhancements - Access downloads, demos, videos and support tips
Content
4 -> Hello hello! My name is Diogo Rispoli, I'm a master
Fortify solutions architect and today we'll be
11.28 -> talking about ci integrations with Fortify part two
and why this one is the part two? Because we'll
20 -> be talking about jenkins and azure devops that
weren't covered on uh the first part of this
28.24 -> session that was about gitlab github and bamboo
among others because there I also discussed some
36.24 -> I also discussed some strategies that you can
use uh to integrate with virtually any CI/CD
43.52 -> in the market no matter if you're using Fortify
on-premise or for file demand the same we'll do
50.72 -> here I will be covering the native plugins
that we have for jenkins and azure devops
57.04 -> the integrations uh tips and tricks that you
can use to get your your integration done
64.72 -> and uh you know show you some samples uh
with the scannings running what you would
70.88 -> expect or expect on logs and all that good
stuff so without further ado let's get started
78.48 -> um so first of all we'll be talking about jenkins
jenkins is a CI/CD tool very popular in the market
86.48 -> I have a lot of customers using jenkins
and on jenkins you can configure tasks
94.32 -> run you know your your compilation tasks run your
quality assurance checkings and also run your
103.44 -> static analysis you know with secure purpose
uh so you can definitely uh identify secured
110.96 -> vulnerabilities and fix those secure vulnerabilities on your software project
119.6 -> uh we'll be using uh two different projects here
first one will be the famous eight ball eight ball
125.84 -> is available on the Fortify sca installation simple
folder and also we'll be using the os shepard
134.32 -> project uh both of them are written in java but if
you look here you have a different projects uh uh
143.12 -> we use different uh type of projects and we cover
with four or five uh um more than 28 languages
151.6 -> right now so you can use the same strategy with
different languages different projects that's just
158.72 -> your choice so let's get started let's take a look
at this eight ball project so this is a pipeline
167.2 -> style project and uh this is one of the things
that you can do using uh the four or five on
175.92 -> the four five plugins so you can have a pipeline
style configuration you can also have a more
182.4 -> traditional view freestyle projects uh configuring
you know each step so i'll be showing you
188.48 -> uh both cases here i'll be showing you how how
do you achieve that sort of integration and uh
196 -> after the configuration i'll go back to jenkins
i'll show the plugins i'll show how you set up um
204.96 -> user credentials uh your ssc url
your fog url and so forth so on so
213.44 -> scan central desk is a feature that we have on
fordify on-premise solutions where you can package
222.8 -> your source code and libraries and send them to
be scanned on a centralized farm of servers so
230.56 -> this is not meant to be uh on-demand solution or
size solution this is for Fortify on-premise
239.84 -> um going over the configuration of your project
uh what you see uh are you know the regular
246.32 -> configurations you can use um your your your
github integration whatever style you want
253.36 -> and you have your pipeline uh just you know for
for demonstration purpose I'm not bringing at
261.12 -> least to this video so I won't pollute your your
your the way you're do you see the configuration
268.64 -> I'm not bringing any of the stage here that is
not the four five scan central assessed stage
276 -> and uh I'll show you before I get there the
pipeline syntax how you can use the pipeline
283.28 -> syntax to set up uh not only you know for
file on premise but also for fundament
291.52 -> so when you get here and of course you have to
have the four or five plugins installed you can
298.72 -> get a simple step that you can use to configure
your job so scrolling scrolling down a little bit
307.44 -> what you see are you know four or five uh four
five on demand assessments so static assessments
315.52 -> and Fortify pull results so with Fortify
static assessments you can configure for fundament
324 -> to upload your source code and libraries to your
for fundamental instance and also you can pull
331.36 -> for results so you can take any decisions based on
results you will get out of the you know the scan
340.4 -> you've done with you know for fine demand same
way you see those four uh four file on premise
348.56 -> for those that that are used to the way of of of
running Fortify uh directly on source analyzer
357.28 -> you see you have the full three steps there so you
have a Fortify clean a Fortify translate
366.16 -> and a Fortify scan and also you see a fortify
upload task that's meant to be configured after
375.2 -> the fact after you run these scans you produce
an fpr file you produce results you'll be able to
382.88 -> scan those results and upload sorry upload those
results on on your ssc instance um and i'll be
393.04 -> using a much easier strategy what I'll do I'll
do a Fortify remote analysis what does that
401.68 -> mean I will as I explained to you before I get to
this stage I will be packaging my source code in
410.4 -> libraries i'll ship that source code and libraries
to my scan central controller my scan central
417.84 -> controller will identify an idle uh sensor and
request that sensor to run a static analysis
427.52 -> not only my sensor will do that but also
after you know it finishes it will bring
434.72 -> all the results back to my fortify ssc where i can
take results we we also can leverage uh web hooks
445.76 -> not only here but also in azure devops i won't be
covering web hooks because we'll have a very nice
451.92 -> session uh with one of our colleagues here that
will cover not only web hooks but some advanced
459.04 -> use of the fordify apis to get the results
where you want and do things the way you want
466.64 -> so you can do the full remote analysis with
you know scan central plug-in but you can also
474.56 -> run a local translation on your jenkins agent and
send what we call an mbs file to be scanned on
485.36 -> your skin central uh sensors as well i i just
find you know much easier running the full
493.92 -> translation and scan on my sensors because
i can say some resources uh on my um on my
503.36 -> agent my jenkins agent side so i don't have to to
use a huge box for my agent or a huge container
512.8 -> i can have it smaller not only in terms of cpu and
memory but also in terms of hard disk so what i'll
520.4 -> do i'll click here i'll choose the application
type i have so in my case um will be maven i can
530 -> define some optional configuration like the
sensor pool an email that i want i would like
537.84 -> to have notifications i can select a a custom
rule pack i can have some four or five scan filter
547.12 -> files i won't be using any of those but i'll
definitely upload my results to my 45 security
555.6 -> center instance when i click here of course this
is a red connected with my sse so it will bring
561.84 -> you know a lot of projects that i have there for
this project eight ball i'm selecting it ball and
568.24 -> i'm also getting you know the version i have there
i click on generate script i just cop this here
577.12 -> and that's it i'll go back to my project
configuration i will configure my project and
585.76 -> when you get to your pipeline of course you
have to start with all nodes and all that you
592 -> know that that uh that notation that you have
to use for out the pipeline on j keys but i'll
598.64 -> define a node i'll define a stage i'll call that
stage scan central sas and i will just copy that
607.6 -> inform that information i got from the pipeline
syntax um from my pipeline syntax generator
617.2 -> four five maven upload to ssc name
inversion after that i click on save
624.72 -> and i'm ready to run my first or not in
this case not my first but i'm ready to run
632.08 -> my my build process so i click on build i'm
waiting my agent to pick that job i'm clicking
641.84 -> here and let's watch the execution on the
pipeline so we can see how things goes um
649.92 -> as you can see you see scan central uh is
running uh i already got you know um a token an
660.48 -> authentication token uh to uh my ssc in my project
and it's packaging the source code right now
669.44 -> leveraging um the configurations i have
in place and after that back to the job
677.6 -> upload the job and submitted that job to my
ssc if you go to our ssc and i just clicked
688.4 -> the wrong one so let me just open my sse here
um so if you open up my ssc what you see is uh
698.56 -> on scan central set what you see is a job
that was sent here and if you look at the time
705.52 -> on my bar and in the time of my skin you see that
job was just submitted so the scan is running
712.64 -> and after the scan is done you see some
results be included back on your forfy ssc so
723.44 -> that's one way to uh do the integration real
quick real easy using the pipeline notation
732.32 -> so let's take a look real quick on the
configurations you have to do a while running
740 -> your job on jenkins and i apologize i have
to update my jenkins so that's why you seen
746.48 -> all all those alerts but it doesn't affect the
fact that uh we can still trigger uh your our jobs
755.04 -> on on jenkins so we go first to manage plugins
to install the plugins and just go over the
766.72 -> available ones i already done the installation
so i won't be able to show you the installation
774 -> process but the installation is real simple
you you get the list or you can click on search
781.28 -> you look for four five and you see both options
you see four file on demand and four file on
788.08 -> premise so i'll go to the installed one so you can
see what i'm talking about um so scroll scrolling
796.4 -> down here so i have the four five this is for
four or five on premise the version is the most
802.16 -> x120.34 and i also have you know down below um the
four final demand uh plugin since i'm i'm showing
813.52 -> you both i read uh went ahead and installed both
i rebooted the the jenkins server because that
821.84 -> was required for jenkins by jenkins and i have
i have them available the way i showed you in
829.76 -> the pipeline notation and also in a freestyle
project if that's the way you want to do it
837.12 -> just to check i went too far back but
just to check on the things we have to do
844.96 -> you can go on configure system you can you you and
you find um forfy on premise and on demand because
855.92 -> i have both installed what you have to do is for
for fine demand configure the for fundamental url
866.24 -> and the four fundament api url and also an api
token in secret but you can also on top of this
874.72 -> use a personal access token for authentication
that i personally don't recommend
879.92 -> because you have that um your pipelines tied to a
personal account and if that account gets locked
888.88 -> or anything else or that you know particular
person leaves your organization for example
894.88 -> you will end up having to reconfigure this
so i just prefer using the api key in secret
902.72 -> that will be available for everybody in the
organization you can refresh those on-demand
909.6 -> you also find up here um four or five on premise
so let me just look at four five on premise so
919.44 -> yeah you so it was down below sorry about that
so you see four five a four five assessment and
927.04 -> on four five assessment you have to uh pass uh
the ssc url an authentication token and also the
938.64 -> scan template you'll be using any timeouts and
after that uh if you're using scan central uh
945.68 -> controller without ssc you have to do the same
configuration for your skin central controller
956 -> in my case here since my ssc is uh integrated with
my scan central controller uh as soon as my the
964.56 -> tool pink ssc it will receive all the information
required to close the connection with the scan
972.72 -> central controller the one that will be receiving
all the jobs just to make sure things are working
979.84 -> i'll go here i'll test the connection for ssc
and uh going up there for the ford file on demand
987.44 -> i'll also click here test the connection um
so this this is telling me i'm good to go
995.44 -> before i i i go to f to the next
integration i'll show you how
1007.28 -> we can do configuration and integration
in a freestyle project for for file demand
1016.72 -> so you have all the steps your configuration
with your source code management tool
1022.64 -> your build triggers all the configuration you have
for your projects uh in my case i'm i'm also using
1028.96 -> uh for for connect on fod my uh a maven project
this maven project has some targets especially
1038.16 -> this one being a very big project i'm using the
test the the tag skip tests uh and this is because
1046.24 -> you know tests sometimes are designed uh and they
fail and it prevents my build my build process to
1054.64 -> move forward and my my end goal here
is not have my source code compiled but
1060.96 -> but having them uh you know packaged to be
scanned by four find demand same way you
1068.4 -> have a release id a bsi token and a source code
locator a source code locator is meant to be used
1075.76 -> when you have your project in a particular folder
inside your jenkins home for that project since my
1085.76 -> my my source code is the root folder of my
my jenkins home for this project i'm not
1093.44 -> changing anything and how do i find the release
id so let's take a look on ford foundaman
1101.04 -> um and of course i want to stay logged in on my
ssc let's take a look on my four front demand
1109.52 -> where my session was already dropped
so let's authenticate real quick here
1118.48 -> and i'm using you know a tenant where you
i can run some you know lab tests this is
1130.16 -> a lab environment for me but you see everything
exactly the same on your for find the main tenant
1138.4 -> so if you look here you have this
project that's called juice shop
1144.4 -> oh i'm not using juice shop i'm using
shepard so let's take a look at shepard
1153.6 -> you can go to release tree you can
click here you'll be doing a static scan
1163.6 -> and we'll be doing all the configuration
you need uh to run an assessment
1172.08 -> but on the bottom of that configuration you'll
find two different information a release id a
1178.88 -> build server integration token i only recommend
you use a build server integration token if you
1187.44 -> have a very particular use case for that will be
sunsetting uh this information uh any point in
1195.12 -> time and the release id is the best substitute for
this bsi token and what's the problem with the bsi
1201.6 -> token i cannot change any of this configurations
without changing my bsi token and with the release
1210.32 -> id i can change all the configurations regarding
my static scan details and i still have the same
1218.16 -> release id for that particular release on four
five so release id is a more stable way to go
1226.64 -> and that's the way i would recommend you going uh
if you need to do some configuration so you just
1233.12 -> copy it and you go back to your fog project
and you paste it here and you're good to go
1242.08 -> so it's one or the other no changes on source
code location but you still have some entitlement
1248.8 -> options this is something really particular
to fog is that's the way your skin will react
1256.4 -> or your your fog tendon will react when asked to
run a scan so first of all use um use the type of
1269.28 -> scan i'll be doing there's a difference between
subscription and single scan subscription i have
1275.28 -> unlimited skins during the subscription period
in a single skin allows me only two skins one
1282.88 -> skin today a full scan and within 30 days you can
repeat that skin what we call a remediation skin
1291.68 -> so since i have a subscription i will be running
a subscription scan no remediation scan and i also
1300.48 -> can take decisions when i get you know i request
a scan and i already have another scan running uh
1308.64 -> for this particular version in project and release
so my my action here is if i have something runny
1318.08 -> i will quill uh you know a new scan request but
you can cancel the scan that's happening you can
1327.04 -> do nothing or you can kill so i'll kill it and
also um this is uh the the action i'll be taking
1337.04 -> after i run the scans in this case i'll just
provide a warning because uh my team here the the
1344.24 -> the team doesn't have the maturity uh
to you know fail the build scan yet
1351.04 -> i click on save and i'll click on build now when
i click on build now what i'll have on my logs
1360 -> on my console output is jenkins running its tasks
and after the fact we'll package the search code
1369.2 -> and we'll ship that source code uh over uh for fun
demand to be scanned so let's wait a little bit
1377.04 -> and watch the execution here yeah and
looks like oh no i'm just i'm just um
1384.08 -> compiling and creating assembling that package and
after that is where i'll start the fog upload so
1395.12 -> i'm creating a zip file with source code
and libraries and after it's done uh i'll
1402.96 -> connect with for foundament in our upload and our
trigger scan so looks like the uploads has started
1413.28 -> yeah so uploading um i have checked requests so
we will blood piece by piece and after it finished
1420.88 -> uh i'll be waiting uh for um for the results
back to take a decision to get a warning or
1429.76 -> even uh to fail the build based on the policies
i have in place on ford fund demand in the level
1437.52 -> of risk i am tolerating as an organization
so let's at least wait for the upload to
1447.44 -> finish this project takes an average 10 to 15
minutes to get skinned um so that's why you know
1455.44 -> things since i'm just looking for a warning
i'm not doing any pooling here i just uploaded
1462.4 -> in a strategy of uh trigger and uh forget
or fire and forget um so that's it for um
1473.44 -> jenkins uh and now let's move to our uh azure
devops integrations so this is ssc this is
1485.76 -> azure devops on azure devops on my organization i
have two different i have more than two different
1493.44 -> projects but the ones that i'll be using for our
demo purpose will be you know or eight ball using
1500.56 -> a local agent because i want to make sure my agent
can communicate with my skin central controller
1509.28 -> and communicate back with my ssc instance and
i will also be using for fog um i'll be using
1519.6 -> the juice chart the juice shop project the
oasp juice shop project written in javascript
1527.2 -> first of all before we get even to
the configuration of the pipeline
1532.4 -> i have to set up a connection with uh with
ssc so i'll go ahead on my project settings
1542.4 -> i'll look for service connections and i will add
or i'll add clicking on new service connection
1551.44 -> i'll add some configuration so i will be
uh using a generic type of configuration
1559.84 -> um so select it here and you see four five here
there's a difference right on four five you'll
1567.36 -> be doing a connection for for found domain but
we'll be covering this on the juice shop project
1574.88 -> so you have the generic configuration for
for the service endpoint connection i will be
1581.76 -> uh providing uh the server url so go back to
my ssc i'll copy my server url apologize and
1592.16 -> i will i can use username and password or or
the way i prefer the most i'll go back to my ssc
1600.24 -> administration users token management and
i create a new ci token with a ci token
1612.72 -> i can communicate my in this case i'm using scan
central so i'll go ahead i'll use a different
1619.84 -> type of token i'll use a scan central controller
token this one fits better to our purpose so um
1630.48 -> i'll define some name here so ago demo
and i'll save it here i'll create my token
1641.92 -> i will close it here i'll go back paste my token
on this particular uh field uh so you don't have
1653.28 -> to use a username but you can have the talk on
the password if you leave your username blank
1659.52 -> it will identify automatically that what you're
using is a token i will also uh use a service
1666 -> connection name sc ago 2 just you know to make it
uh you know different from the ones that i have
1675.44 -> and i can go ahead and save it i'll be using the
ssc because that's the one i generated before
1683.04 -> on our samples uh when we get there to the
configuration steps but you can definitely
1688.4 -> i could definitely use any of those here uh
just you know as as a a way to trigger and
1696.88 -> get these skins going so i'll be looking at the
project i will go directly to pipelines i have
1705.44 -> read this project set up and i can come here and
edit my azure pipeline emo file you can use the
1715.04 -> yaml file notation i'm all over the emo file the
pipeline notation so i just love them so that's
1721.68 -> why i think most of the people are just using
that the most so that's why i'm focusing here
1727.2 -> but you can definitely use those plugins i'll be
showing you uh using a a regular uh traditional
1735.6 -> old style view so how do i add a four or five task
here i'll just come here i'll look at at four five
1748 -> tasks so four five uh scan central test assessment
it could be a four or five static code analyzer um
1759.76 -> let me see what i have here oh i have a four or
five stat code analyzer so i'm doing a local scan
1766.16 -> but you can definitely go ahead and so i'll click
here oh what i did so i'll click here enter and
1776.72 -> i will add a four five scan central controller i
can def define i scan central controller client
1786.24 -> token in my variables and this is meant to
authenticate my skin central client to my skin
1795.2 -> central controller in my case here i'm not doing
any authentication so i can leave it the way it is
1803.28 -> my scan central controller url would be
my in the same machine that I have ssc
1811.44 -> so just to make sure everything is running and
working i'll get here i can i can use this one
1819.28 -> go back to my pipelines and i'll put my scan
central controller i can also uh define my
1827.2 -> ssc url so since i have it here i will do
both but i just need especially in this case
1836.56 -> if i define the ssc url that will
be enough and i can also define
1843.84 -> a scan central ci token using variables and
i can get this information here if i will
1851.36 -> i can just also come here and insert this token
directly here so this is when you're doing uh
1860 -> those things for um using skin central uh and
i can definitely upload define an application
1867.76 -> version an application name here uh i will define
the build tool i'll be using i can find some
1876 -> advanced adoptions for build command build file
i can skip the build i can include or exclude
1883.36 -> the testing uh exclu including the testing can
bring some sort of noise to your final results
1890 -> so that's one thing that i don't recommend much
uh you can also have some future templates issue
1897.92 -> templates custom roll packs and other advanced
options here so i can wait the scan to finish
1904.88 -> i can just make it quiet find forget options so
forth so on so this would be you know a nice way
1913.44 -> to integrate and after i do everything i just
click on add and i'll have a test going on my
1924.4 -> so just complaining about identitation i'll just
come here fix those things and see if i see i
1933.52 -> still have some issues running or working but
you know we can definitely take care of those
1941.92 -> and clean them so this would be um to run
scans i'm probably missing something else
1953.28 -> okay
1964.96 -> so let's talk about azure devops so
azure devops is also um a devops ci
1975.6 -> with this similar capabilities and features that
you see on jenkins a very a very popular tool
1983.76 -> many organizations are using azure devops in
their daily operations so here we'll have two
1992.32 -> different strategies first of all i'll use the
80 ball project with a local agent so we can see
2001.2 -> a different strategy while running 45 using the
source analyzer and i will also have a juice the
2009.2 -> juice shop os project uh triggering a scan on for
fine demand so let's move ahead and see how those
2018.96 -> things work before we start the configuration of
the pipeline one important thing we have to do is
2026.96 -> create a service connection so you can go to your
project settings select service connections in for
2035.6 -> fordify you will be using for fortify on-premise
ssc you'll be using a generic type of connection
2045.28 -> you can see a four five connection up here
but uh for uh the four five connection is
2052.08 -> meant to be used for fog i'll be covering the four
five connection later in this presentation so you
2059.52 -> click on generic uh you click on next uh you will
bring your ssc server url so i will stay logged in
2069.12 -> because we will be using ssc i will add the ssc
uh url i don't need a username because i'll be
2081.2 -> using a token you will go ahead and will create
a new type of token that we call ci token and
2090.88 -> yci token in this case because i'll be using the
source analyzer to upload uh the results genera to
2101.12 -> generate and upload the results on ssc uh we'll be
marking here an azure devops demo uh i will save
2112.88 -> i will cop a copy the the right token and this
one is the decoder token not the encoded token
2122.72 -> i'll go back to my service connection i will just
add that token on the password slash token field
2131.6 -> i will add a name here so ssego3 um that the name
doesn't matter but it's important you use the
2140.64 -> name that you be you you know meaningful for you
and your organization you can click on save this
2149.92 -> service connection information you'll be used
here and you're good to go to go back to your
2155.52 -> project to your pipeline and define an sca
type of connection or type of scanning here
2165.6 -> i'll be using the azure pipeline notation i love
the yaml files but you if you're used to the most
2174.4 -> traditional way to do things or to see things on
on azure devops that's not an issue the same tasks
2181.84 -> you can configure for the azure pipelines will
also be available for you on your uh traditional
2190.4 -> view uh on on azure devops and to search the tasks
here i'll just look for four or five uh see some
2200.64 -> different options so you see scan central sas
that's the same strategy we used on jenkins
2209.44 -> you also see a scan central desk if you're looking
to trigger a skin using a web inspect um you see
2220.4 -> four file on demand static assessment and dynamic
assessment i'll be covering on the second part of
2226.88 -> this presentation and the one we'll be using the
four five star code analyzer uh installation oh
2233.52 -> sorry assessment if you don't have on your agent
and you wanna leverage the installation step here
2242 -> you can also do in this case since i'm using a
self-hosted agent i have all the the capabilities
2249.04 -> i need inside my agent i'm not worried about have
to stall for phi sca so uh if you don't have the
2258.48 -> four five sca license there it's not required i
already have mine there i installed everything
2265.76 -> so i i don't have to worry about this um my build
id for this uh scan uh will would be eight ball
2276.08 -> uh i'll be running an update on my rule
packs so this will make my sca connection
2284.16 -> of my sca instance connect on my sse that's the
way i configured it and uh we'll we'll update
2292.48 -> the roll packs uh first thing f before you
know the scanning process after that i'll run
2299.44 -> a four five sca clean i'll run a four five sca
translation this is a maven project so i'll be
2308.8 -> uh choosing a java here um i can define a class
path in my case i'll do different i will be using
2319.12 -> other and i will define so i i'll have a clue
here so i'll define the information for the
2326.32 -> translation step uh from my maven plugin for the
four five maven plugin i'll just add it here um
2335.52 -> i don't have to be to put in build up option
tools um i will my maven will take care of the
2344.88 -> translation steps so i don't have to worry with
anything else and i will be running the four five
2351.84 -> scan locally and after that if i can definitely
set up skin central here but i'll keep it local
2359.76 -> and after that i can also define a task
to upload uh the results back on my
2370.08 -> sse so if i click here i will select that service
connection i will select eight ball as as my
2379.44 -> sorry this is not the way it's there
i'll select eight ball the version is one
2385.76 -> i don't need a proxy neither a username or
password and the only thing i'll do after that
2392.96 -> is click on add and that
information will be filled here
2400.88 -> after i do this the second thing i have to
do is just you know click on run and when
2408.72 -> i run what i'll do i will scan the source code
leveraging um so let's watch the logs leveraging
2416.64 -> um all the things i have on my agent if you see
here is a local agent it's starting checking out
2424.72 -> the source code from from azure um it's running
um the maven steps uh prior to the four or five
2432.08 -> ca so compilation and now i'm getting uh the
four phi um four five is running checking on um
2443.36 -> clean cleaning the project running they
scan leveraging my maven plugin and
2450.48 -> after that i'll have my skins and i'll upload
that that results those results on my ssc
2464.88 -> so let's give it some time to run to finish
and to bring the information back um to our
2472.4 -> um through our logs here so yeah so i run i'm
running the scan um and i have a build successful
2482.96 -> uh sorry i run translate i had a build success
for and i will be using the source analyzer to
2490.72 -> scan and to generate what what i
call an eight ball dot fpr file
2497.52 -> after this scan is done i will be uploading
the results on ssc so you see on ssc
2508.4 -> the new the new information regarding the
last analysis you did so let's give it
2515.36 -> a minute to show before you know we finish this
and we can we can move forward so now i see
2522.4 -> if the four or five clients uploading the fpr so
leveraging all the information sca is looking good
2531.2 -> i'm not taking any decisions based on the results
just because my organization doesn't have you know
2536.72 -> all the mature needed to break the build but you
know after the after this you're good to go and
2543.92 -> if you go back to your ssc what you see is an
analysis on your project so let's go ahead take
2553.84 -> a look oh it required my attention because i'm
using a new version of sca on that particular loco
2565.6 -> on that self-hosted agent so that's why i
got a warning say um you have to but it it
2574.24 -> went ahead and uploaded even with the version
so i probably uh accepted this uh before so
2582.88 -> this happens right now and everything is looking
good um results are there um if you look at the
2593.92 -> yeah so results are here everything is
here already run my um audit the system
2600.88 -> to help me uh tagging the issue so i'm good to go
2608.48 -> same so similar fashion uh you see on the juice
shop but on juice shop uh my pipelines are using
2618.8 -> so let's let's before get there let's create
a token let's create a connection uh service
2624.96 -> connection here not a token but a service
connection so click on service connection
2630.96 -> uh i will be creating so i can edit this but
i'll be creating a new one so you guys can see
2636.88 -> uh you look at four five and will populate um
you can have both right basic authentication
2645.52 -> this will require username and password i just
prefer a token based authentication i'll get my my
2655.52 -> fog url so like i'll get it here just to
make my life easier i will also select my api
2669.52 -> and i believe is this oh it's different api ams
2678.08 -> for file.com and i'll go on my
fog instance so just show you
2692.96 -> how to get there
2697.92 -> and i go under administration
2702 -> settings security api and i get
an api i can create a new one
2712.4 -> i'll add a key i'll give it a name doesn't
matter what name i'll have just choose a demo
2724.64 -> for the roles i will be giving secured leads so i
can make sure i'll have all the um all the roles
2735.2 -> i need to trigger skin take decisions and all that
good stuff pull results and all the good stuff so
2741.92 -> i can click on save i get the secret the secret
will be shown showed once so let me go ahead
2750.56 -> back there paste my secret and i'll close it here
because i also have to look for my juice shop demo
2765.28 -> so i'm getting there and copy the api key
2773.76 -> go back to my service connection uh
let me see if i define a name here
2778.72 -> oh no the name is down here
um and i will be defining uh
2785.36 -> fog am ams 2 so you can use on your project and
after that i will while configuring my pipeline
2800.4 -> i'll be able to get this and make it
work i'll go here i'll edit my pipeline
2808.88 -> same way i did so i have the steps here i'm not
using a self-hosted agent i'm using a microsoft
2818.24 -> hosted agent uh using the ubuntu image you can
use any image if you uh you want uh so here are
2828.24 -> the tests to run install node.js run the the
the scripts and also i'll be looking same way
2838.24 -> we did for on-premise i'll look for four five
four five on demand static assessment uh source
2846.8 -> code location this is just a dot you don't have to
worry about because everything here on my project
2855.52 -> is uh on the root folder release id release id is
a very interesting information you have to bring
2863.04 -> from fod so how do you find a release id so you go
to your project um so go back to your applications
2874.16 -> you click here and you look for your project so
i'm looking for juice shop i'll open drill shop
2882.4 -> and i'll run a scan over this release nine so
i click here on static i open my scan setup
2893.04 -> i'll check all the information i have and i'll get
the release id here you can use the bsi token but
2901.2 -> psi token is not recommended anymore
and the main reason is because the
2909.2 -> the the release id is a much more stable
type of information with the ci token
2915.92 -> uh if with the bsi token anytime you change
any configuration on the scan setup this token
2923.52 -> will change so release id would be the the most
recommended method for you to um to tie your uh
2931.12 -> your azure devops project with the things you're
doing on uh your your um your for fun domain
2940.16 -> i'll go ahead get that release id i'll get the
connection i will look at the entitlement options
2946.96 -> something similar we saw on jenkins so i'll be
using subscriptions because i have a subscription
2954.32 -> i will look for an action uh if this if i have
any scanning process in progress running on fog
2962.4 -> i will do i won't do any remediation scans i want
a full scans because i have a a subscription for
2970.96 -> that project and uh i will just complete
the build task and have a warning i won't
2978.16 -> break the build my my my organization here
just doesn't have the maturity there but uh
2984.24 -> if you are willing to break the build this
will leverage uh your your star rating on fog
2992.16 -> to take that decision so i would recommend
if you're playing issue to break the build
2998.08 -> look over your star rating configuration on on on
fog make sure you have everything uh good to go
3007.92 -> when you click on add you have you know this
configuration uh add to your azure devops uh
3015.36 -> azure dash pipeline email file and the next thing
you have to do is run a new new pipeline watch the
3026.4 -> execution here um um sometimes takes a little bit
longer because i'm using a self-host agent but you
3034.32 -> know i'm having my job initialized it's running
um and looks like it's almost good to go so let's
3044.24 -> give it a minute or two uh to get there in the
steps we have so yeah i installed the node.js i
3051.92 -> checked out the juice shop i'm installing npm you
know the libraries and after that i'll get to the
3060 -> four fundaments step so let's give some time
to that test to finish for that test to finish
3074.88 -> this this will take the time you know based
on your project and configuration sometimes it
3080.64 -> takes longer sometimes it takes you know quicker
to finish you also can have you know some sort
3087.52 -> of configurations that will save you time so you
can do different configurations i'm just doing the
3093.68 -> basic basic ones here just for the demo purpose
and why i had you know the compilations the steps
3102 -> uh defined on azure devops it is because they are
required to get everything done anything done on
3110.24 -> azure devops after you get to the four five um
you go past that npm installed step you will
3120 -> get to the four five on the main uh scanning
process and for fundament uh will will have
3128.96 -> uh you you create a zip file and
you upload that zip file on your
3137.68 -> fog then for skin yeah so let me let
me give you the full thought here
3149.12 -> so it's about finish yeah binary is fine
so yeah those are the last steps for this
3157.04 -> and we'll move to the next uh
for fundament on the main steps
3174.32 -> since this one is taking a little bit too
long i want to show you how the four final
3179.52 -> demand steps looks like so i'll go ahead and
look for you know a similar job that i run
3186.32 -> after this i can see the jobs logs here so after
the installation wow it took you know a good time
3196.24 -> and on four front demand when i run this for the
first time it took around 24 minutes to finish
3202.96 -> so i uploaded i authenticated and uploaded
on fog and after i uploaded i started this i
3211.92 -> waited for the scan to run and finish and it took
around 20 minutes to run the scan that's the usual
3219.52 -> time we have for this project um and in the end
of the process I found 208 critical
3230.48 -> issues but since this project's not configured
as production they started hating uh allowed me
3239.36 -> to pass on the polis I had on FoD. So that's
it for today thank you for watching this video
3250.72 -> I hope you liked it and you can also subscribe
to our Fortify Unplugged channel on YouTube
3259.04 -> to get more information around the
Fortify products new features, how to's and everything else that
we have there thank you for watching