SlideShare una empresa de Scribd logo
1 de 28
NODE.JS MODULE: I CHOOSE YOU!
@BethGriggs_
BethGriggs
NODE.JS MODULES ARE GREAT
Many are
Open Source
with code
available on
GitHub Promotes
code
sharing
and reuse
Over 800K
modules
available
on npm
registry
NODE.JS
TWITTER APP
• 14 Lines
• 1 Direct Dependency
ACTUALLY A LOT OF CODE IN
PRODUCTION
• 49 total packages
• 45,928 lines of code
• 6 different license types
MORE CODE IN PRODUCTION = MORE RISK
SECURITY LICENSES MAINTENANCE BREAKING CHANGES COMPATIBILITY
SECURITY
STATE OF NODE.JS SECURITY
84% are moderately to
very confident in the
security of Node.js core
16% are confident that
third-party packages they
use are vulnerability-free
https://nodesource.com/blog/the-state-of-node-js-security-in
STATE OF NODE.JS SECURITY
84%are moderately
to very confident in
the security of
Node.js core
16%are confident
that third-party
packages they use are
vulnerability-free
https://nodesource.com/blog/the-state-of-node-js-security-in-2017/
STATE OF NODE.JS SECURITY
84%are moderately
to very confident in
the security of
Node.js core
16%are confident
that third-party
packages they use are
vulnerability-free
https://nodesource.com/blog/the-state-of-node-js-security-in-2017/
2017
2018
SECURITY RISK MITIGATION
• npm@6 - `npm audit`
• GitHub security alerts
• Lock down your
`package.json`
• Publish a `package-lock.json`
LICENSES
CARE? 🤷
If you link with open source libraries and
then distribute the software, your
software needs to be COMPLIANT with
the licenses of the linked libraries
WHAT DO YOU MEAN DISTRIBUTE?
• Transferring software between
employees of the same company is not
normally a distribution
• Users interacting with an app over
network, it is not a distribution for most
open source licenses
• Network Protective licenses (AGPL,
etc.)
• Hosting the JavaScript files on a public
web server is a distribution
LICENSE TYPES
Copyleft or
Protective
Weakly
Protective
Public Domain or
Permissive
UNDERSTANDING
LEGAL SPEAK
• Software Licenses in Plain
English -
https://tldrlegal.com/
• Choose a license -
https://choosealicense.co
m
• GitHub Licenses
WHICH LICENSES AM I USING?
MAINTENANCE
• Are you using a deprecated module?
• Are issues in the module being fixed?
• How active is the development?
• How many maintainers are there?
ANALYZERS
• GitHub Insights
• npm ”search by quality”
which is based on
https://npms.io/
BREAKING CHANGES
SEMANTIC VERSIONING
1 . 7 . 3
Breaking Feature Fix
BREAKING CHANGES
• How strictly are they following
SemVer?
• How often will I have to update
major versions?
• Are security/bug fixes only
released on the latest major
release?
NODE.JS
RELEASE
LONG TERM SUPPORT FOR NODE.JS
MODULES
https://github.com/CloudNativeJS/Module
COMPATIBILITY
https://modules.cloudnativejs.
SUMMARY
Security
Licenses
Maintenance
Breaking Changes
Compatibility
NODE.JS MODULE: I CHOOSE YOU!
@BethGriggs_
BethGriggs

Más contenido relacionado

La actualidad más candente

Matt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one everMatt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one ever
DevSecCon
 

La actualidad más candente (20)

30+ Nexus Integrations to Accelerate DevOps
30+ Nexus Integrations to Accelerate DevOps30+ Nexus Integrations to Accelerate DevOps
30+ Nexus Integrations to Accelerate DevOps
 
DevSecCon Tel Aviv 2018 - Integrated Security Testing by Morgan Roman
DevSecCon Tel Aviv 2018 - Integrated Security Testing by Morgan RomanDevSecCon Tel Aviv 2018 - Integrated Security Testing by Morgan Roman
DevSecCon Tel Aviv 2018 - Integrated Security Testing by Morgan Roman
 
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...
DevSecops: Defined, tools, characteristics, tools, frameworks, benefits and c...
 
Henrique Dantas - API fuzzing using Swagger
Henrique Dantas - API fuzzing using SwaggerHenrique Dantas - API fuzzing using Swagger
Henrique Dantas - API fuzzing using Swagger
 
DevOps or DevSecOps
DevOps or DevSecOpsDevOps or DevSecOps
DevOps or DevSecOps
 
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven WierckxDevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
DevSecCon London 2017: Threat modeling in a CI environment by Steven Wierckx
 
Build reliable Svelte applications using Cypress
Build reliable Svelte applications using CypressBuild reliable Svelte applications using Cypress
Build reliable Svelte applications using Cypress
 
DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney DevSecCon London 2017: Shift happens ... by Colin Domoney
DevSecCon London 2017: Shift happens ... by Colin Domoney
 
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
NYIT DSC/ Spring 2021 - Introduction to DevOps (CI/CD)
 
TDD and the Terminator: An Introduction to Test-Driven Development
TDD and the Terminator: An Introduction to Test-Driven DevelopmentTDD and the Terminator: An Introduction to Test-Driven Development
TDD and the Terminator: An Introduction to Test-Driven Development
 
Static Analysis For Security and DevOps Happiness w/ Justin Collins
Static Analysis For Security and DevOps Happiness w/ Justin CollinsStatic Analysis For Security and DevOps Happiness w/ Justin Collins
Static Analysis For Security and DevOps Happiness w/ Justin Collins
 
[OWASP Poland Day] Security knowledge framework
[OWASP Poland Day] Security knowledge framework[OWASP Poland Day] Security knowledge framework
[OWASP Poland Day] Security knowledge framework
 
DevSecOps - The big picture
DevSecOps - The big pictureDevSecOps - The big picture
DevSecOps - The big picture
 
Matt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one everMatt carroll - "Security patching system packages is fun" said no-one ever
Matt carroll - "Security patching system packages is fun" said no-one ever
 
My tryst with sourcecode review
My tryst with sourcecode reviewMy tryst with sourcecode review
My tryst with sourcecode review
 
Adversary Driven Defense in the Real World
Adversary Driven Defense in the Real WorldAdversary Driven Defense in the Real World
Adversary Driven Defense in the Real World
 
Code review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief KarfiantoCode review and security audit in private cloud - Arief Karfianto
Code review and security audit in private cloud - Arief Karfianto
 
Ast in CI/CD by Ofer Maor
Ast in CI/CD by Ofer MaorAst in CI/CD by Ofer Maor
Ast in CI/CD by Ofer Maor
 
DevSecCon London 2017: How far left do you want to go with security? by Javie...
DevSecCon London 2017: How far left do you want to go with security? by Javie...DevSecCon London 2017: How far left do you want to go with security? by Javie...
DevSecCon London 2017: How far left do you want to go with security? by Javie...
 
DevSecOps for you Full Stack
DevSecOps for you Full StackDevSecOps for you Full Stack
DevSecOps for you Full Stack
 

Similar a Node.js Module: I Choose You!

Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Denim Group
 
Kubernetes and container security
Kubernetes and container securityKubernetes and container security
Kubernetes and container security
Volodymyr Shynkar
 

Similar a Node.js Module: I Choose You! (20)

Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)Introduction to License Compliance and My research (D. German)
Introduction to License Compliance and My research (D. German)
 
Aleksei Dremin - Application Security Pipeline - phdays9
Aleksei Dremin - Application Security Pipeline - phdays9Aleksei Dremin - Application Security Pipeline - phdays9
Aleksei Dremin - Application Security Pipeline - phdays9
 
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
 
Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)Open Source & What It Means For Self-Sovereign Identity (SSI)
Open Source & What It Means For Self-Sovereign Identity (SSI)
 
ShiftGearsWithInformationSecurity.pdf
ShiftGearsWithInformationSecurity.pdfShiftGearsWithInformationSecurity.pdf
ShiftGearsWithInformationSecurity.pdf
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT world
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
Open Source vs Proprietary
Open Source vs ProprietaryOpen Source vs Proprietary
Open Source vs Proprietary
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
 
Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017Web App Security Presentation by Ryan Holland - 05-31-2017
Web App Security Presentation by Ryan Holland - 05-31-2017
 
Open DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
Open DevSecOps 2019 - Securing the Software Supply Chain - SonatypeOpen DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
Open DevSecOps 2019 - Securing the Software Supply Chain - Sonatype
 
Kubernetes and container security
Kubernetes and container securityKubernetes and container security
Kubernetes and container security
 
Addressing Cloud Security with OPA
Addressing Cloud Security with OPAAddressing Cloud Security with OPA
Addressing Cloud Security with OPA
 
Open Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are usingOpen Source evaluation: A comprehensive guide on what you are using
Open Source evaluation: A comprehensive guide on what you are using
 
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
Drupal Dev Days Vienna 2023 - What is the secure software supply chain and th...
 
Open Source All The Things
Open Source All The ThingsOpen Source All The Things
Open Source All The Things
 
Application security meetup k8_s security with zero trust_29072021
Application security meetup k8_s security with zero trust_29072021Application security meetup k8_s security with zero trust_29072021
Application security meetup k8_s security with zero trust_29072021
 
Open Source Licenses
Open Source LicensesOpen Source Licenses
Open Source Licenses
 
Started In Security Now I'm Here
Started In Security Now I'm HereStarted In Security Now I'm Here
Started In Security Now I'm Here
 
Cyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemCyber security - It starts with the embedded system
Cyber security - It starts with the embedded system
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Node.js Module: I Choose You!

Notas del editor

  1. - Hi My names Beth - Past two years I've been working in the Node.js team in IBM Runtime Technologies - Our team originally focused on bringing Node.js to IBM Platforms - IBM SDK for Node.js - Our team has contributed and maintain those upstream in Node.js - So now we’re moving on to look at how we can encourage more of our Enterprise customers to leverage Node.js and its Ecosystem. - One the key areas of concern for our customers is their module dependencies.
  2. - So first of all Node.js Modules are great - Powerful things about Node.js is the massive module ecosystem around it. - There are over 800k modules on NPM Registry, so there’s a high chance that one exists to help the work you want to do - This makes it quick and easy to get small prototypes going while promoting code sharing and reuse.
  3. - As an example - Using 1 module and writing 14 lines of code I can setup and interact with TwitterClient - It is very terse, very quick to achieve something, which enables developers to concentrate on the business logic of their application rather than specific implementations details
  4. - But that’s actually a lot of code in production - Look at the whole tree of deps - There’s a total of 49 packages - Almost 46K lines of code - Covered by 6 different license types - The amount of code you write is significantly differently from the amount that you deploy and are responsible for in production
  5. It’s important to think about that code And this what concerns our enterprise customers. the more code you deploy into production, the more risk. These are the five “risk” area that pop up a lot, Security, Licenses, Maintenance, Breaking changes Compatibility
  6. Looking at security
  7. There was a survey of Node Developers covering the state of Node.js security from NodeSource and Sqreen last year . From those results, they 84% of Node.js developers are moderately to very confident in the security of Node.js core. Happy to pickup the Node.js runtime. They're confident security issues will be detected and resolved. But, only 16% of Node.js developers surveyed were confident that third-party packages they were using were vulnerability free And, Security issues in node module dependencies can escalates Each year we a get a couple of notable security issues pop up
  8. - In 2017, we had the cross-env issue, where an attacker published malicious code to the similarly named crossenv, so missing out the dash. - malicious code that would be executed on install. - Sent the users environment variables to a remote server, so any credentials you had stored in you environment could've be leaked. - So one typo while trying to install a module could leave you exposed - This type of attack is sometimes called typo-squatting. - It's not only cross-env that has been targeted. Reported and taken down pretty quickly
  9. And then in 2018, I’m sure you remember the eslint issue . Targeting more of a devDependency. - Access was gained to a Eslint publishers account, and a malicious release was published to the NPM registry as a new release - Malicious code in this instance actually tried to expose information stored in the npmrc file. And this is where you'd store your npm registry token. - Intention viral attack, with that one token, they were able to pickup other tokens to enable to do the same . Solution was to revoke all NPM tokens created after a certain date
  10. `npm audit` GitHub security alerts Lock your versions down in your package.json Wildcards?? Specifically ,it wouldn’t have auto downloaded the new release eslint issue
  11. Licenses
  12. Why should you care about licenses? if you link with OS libraries and then distribute the software, your software need to be compliant with the licenses of the linked libraries. And that’s not only the License of the direct dependency, it includes the license of the whole dependency tree
  13. - So sometimes it is unclear what is meant by the term distributing - Transferring software between the same company is not normally a distribution - Users interacting with an app over a network is not a distribution for most licenses. There are Network Protective licenses like AGPL
  14. License types can be loosely grouped into three areas Protective, If you use one of these, your software has to be bound by the same conditions as the linked software Weakly protective, less restriction for dynamic linking Public Domain and permissive licenses, like MIT that allow you to do anything except sue the author Public Domain or Permissive licenses, which allow you to do everything except sue the author
  15. Sometimes it can be hard to understand this legal terminonlog help select an appropriate license for your own software/module
  16. - To understand which licenses you’re using in the whole tree - you can use a module called license checker - This will out put all the licenses it can detect in the tree - You can also pass it some options to exclude known good options
  17. Looking at maintenance If most of your code is coming from your dependencies, you need to be aware of how maintained the mass of code you're building on top of is
  18. Hit by a bus scenario
  19. GitHub Insights - deprecated, issues fixed, active, new features - how many maintainers are there, - NPM search by quality, which is utilizes npms, which was a project created by developers who were hitting the same issue of not knowing which modules to choose. - Npms collates some of the metrics like “number of commits, ratio of issues closed” to determine stability/maintenance/
  20. - Another concern for our customers is breaking changes. - Some projects still have relatively long release cycles, choosing a module that makes breaking changes _too_ often will be an issue. - They need to have time to migrate to the next version
  21. This is a versioning scheme Breaking Feature Fix
  22. So when looking for a module, you should see if the module is adopting or adhering to Semantic versioning. Bear in mind it is up to the module owners interpretation of what is a patch/breaking change. Another concern would be how often you have to update major versions Will I have to choose between a breaking change and a security fix? Talk about Node.js
  23. With Node.js, they have a defineda Long Term support policy
  24. LTS Node.js
  25. - local dev environment is not the same as their target deployment environment. - So it'd be a pain to get some code all up and running locally, only to find out one of your dependencies does not work in your target production enivronement.
  26. 5 major areas of concern when choosing a node module - Security – CI tools etc to watch for vulnerabilities, pattern scanners Licenses - Licenses checker – BE AWARE Vet the whole tree Maintenance - Critical app Breaking changes - LTS policies Compatibility - Check it runs on target runtime
  27. Thanks If you want to win a drone, head to the IBM booth at 3:45