SlideShare a Scribd company logo
How is making
JavaScript safe for
everyone
Daniel Sauble // @djsauble
Product management at npm
Puppet and Sonatype alumni
Grad student (and TA) at Harvard
~ other stuff ~
Data science
Software development
UX design
Ultras
About me
Photo by Awar Meman on Unsplash
Photo by Vlad Shapochnikov on Unsplash
Photo by Casey Horner on Unsplash
Photo by Tuce on Unsplash
Today’s agenda
• OSS

• Software supply chains

• “Old” security

• “New” security

• Something new we’re building at npm.
OSS = free, quality,
reusable software
How npm is making JavaScript safe for everyone
…but a web of trust
enables security risks
To understand these risks,
you must understand the
software supply chain
How npm is making JavaScript safe for everyone
97%
Percentage of code in a typical web app that comes from npm
npm (2019): https://medium.com/npm-inc/methodology-of-the-2018-2019-javascript-ecosystem-survey-and-results-b1cef1b83f10
How npm is making JavaScript safe for everyone
GitHub
BitBucket
GitLab
How npm is making JavaScript safe for everyone
Package
JavaScript
Registry
CLI
Developer
How npm is making JavaScript safe for everyone
npmjs.com
nuget.org
search.maven.org
pypi.org
How npm is making JavaScript safe for everyone
The npm CLI caches
automatically
How npm is making JavaScript safe for everyone
CI/CD pipelines
usually purge cache
How npm is making JavaScript safe for everyone
Finally, you can deploy
those build artifacts
How npm is making JavaScript safe for everyone
This large surface area
creates security risk.
Registries and repository
managers can be
compromised
1
Packages can be typo
squatted or have publish
credentials stolen
2
Malware can be inserted
via dependencies in your
dependency tree
3
Code can drift between
your packages and your
source code
4
Repository managers can
mask the true upstream
package
5
Maintainers can transfer
ownership to others with
potentially malicious intent
6
And probably more!
?
Security is clearly
important…
…but it is portrayed
as an impediment…
…and unfortunately
this is often accurate.
Dedicated sec teams
Old-school sec tools
Us vs. them culture
It doesn’t have to be
this way.
Accelerate
How npm is making JavaScript safe for everyone
Shift-left
How npm is making JavaScript safe for everyone
Embed security and ops
people in your dev teams
Encourage them to write
code, not just consult!
This is DevSecOps
Take baby steps
Small wins always beat
the large projects you
never finish
Automate
Manual security
processes are slow
This is a problem because
the attackers are no longer
doing their work manually
shodan.io
shhgit.darkport.co.uk
ML models
How npm is making JavaScript safe for everyone
Lots of free tools and data
exist to help you automate
research and remediation
Audit.js
Dependency Check
Dependency Track
DepShield
GitHub
npm-audit
Renovate
Retire.js
Security Insights API
Publish info
query {
package(name: "pg", version: "7.12.0") {
publicationInfo {
username
tor
tfa
}
}
}
GraphQL request
{
"data": {
"package": {
"publicationInfo": {
"username": "brianc",
"tor": false,
"tfa": true
}
}
}
}
GraphQL response
Malware
query {
   malwarePackage(name: "a", version: "1") {
     name
     version
     payloads {
       path
       obfuscated
       md5
}
getNetworkIOC {
value
}
     getFileIOC: {
name
sha256
}
}
}
Soon: package behavior
on install or require
Why an API?
Security data should
be public
We want to enable
the community
Inferences > facts
We’re also building
this for ourselves
To make our security
team more effective
To enhance the
npmjs.com experience
Sign up to learn when it ships:
go.npmjs.com/npm-insights-beta
In summary
• OSS is valuable

• Software supply chains are vulnerable

• “Old” security is slow, siloed, and ineffective

• “New” security improves quality and productivity

• Security Insights API is coming soon!
Thanks!
Daniel Sauble // @djsauble

More Related Content

Similar to How npm is making JavaScript safe for everyone (20)

Fine line between performance and security
Fine line between performance and security
Almudena Vivanco
 
The DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD Pipeline
James Wickett
 
Dev{sec}ops
Dev{sec}ops
Steven Carlson
 
The Emergent Cloud Security Toolchain for CI/CD
The Emergent Cloud Security Toolchain for CI/CD
James Wickett
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
Oleg Gryb
 
Making Security Agile
Making Security Agile
Oleg Gryb
 
Profiling PHP - WordPress Meetup Nijmegen 2015-03-11
Profiling PHP - WordPress Meetup Nijmegen 2015-03-11
Dennis de Greef
 
DevSecOps | DevOps Sec
DevSecOps | DevOps Sec
Rubal Jain
 
Good Security Starts with Software Assurance - Software Assurance Market Plac...
Good Security Starts with Software Assurance - Software Assurance Market Plac...
Phil Agcaoili
 
Secure development in .NET with EPiServer Solita
Secure development in .NET with EPiServer Solita
Joona Immonen
 
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
Izar Tarandach
 
Practical Chaos Engineering
Practical Chaos Engineering
SIGHUP
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
Stefan Streichsbier
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays
 
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
lior mazor
 
Demystify Information Security & Threats for Data-Driven Platforms With Cheta...
Demystify Information Security & Threats for Data-Driven Platforms With Cheta...
Chetan Khatri
 
Synergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software Engineering
Tao Xie
 
Profiling PHP - AmsterdamPHP Meetup - 2014-11-20
Profiling PHP - AmsterdamPHP Meetup - 2014-11-20
Dennis de Greef
 
How to Manage the Risk of your Polyglot Environments
How to Manage the Risk of your Polyglot Environments
DevOps.com
 
Introduction to Node.js
Introduction to Node.js
AMD Developer Central
 
Fine line between performance and security
Fine line between performance and security
Almudena Vivanco
 
The DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD Pipeline
James Wickett
 
The Emergent Cloud Security Toolchain for CI/CD
The Emergent Cloud Security Toolchain for CI/CD
James Wickett
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
Oleg Gryb
 
Making Security Agile
Making Security Agile
Oleg Gryb
 
Profiling PHP - WordPress Meetup Nijmegen 2015-03-11
Profiling PHP - WordPress Meetup Nijmegen 2015-03-11
Dennis de Greef
 
DevSecOps | DevOps Sec
DevSecOps | DevOps Sec
Rubal Jain
 
Good Security Starts with Software Assurance - Software Assurance Market Plac...
Good Security Starts with Software Assurance - Software Assurance Market Plac...
Phil Agcaoili
 
Secure development in .NET with EPiServer Solita
Secure development in .NET with EPiServer Solita
Joona Immonen
 
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
O'Reilly SACon 2019 - (Continuous) Threat Modeling - What works?
Izar Tarandach
 
Practical Chaos Engineering
Practical Chaos Engineering
SIGHUP
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
Stefan Streichsbier
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays
 
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
Secure Your DevOps Pipeline Best Practices Meetup 08022024.pptx
lior mazor
 
Demystify Information Security & Threats for Data-Driven Platforms With Cheta...
Demystify Information Security & Threats for Data-Driven Platforms With Cheta...
Chetan Khatri
 
Synergy of Human and Artificial Intelligence in Software Engineering
Synergy of Human and Artificial Intelligence in Software Engineering
Tao Xie
 
Profiling PHP - AmsterdamPHP Meetup - 2014-11-20
Profiling PHP - AmsterdamPHP Meetup - 2014-11-20
Dennis de Greef
 
How to Manage the Risk of your Polyglot Environments
How to Manage the Risk of your Polyglot Environments
DevOps.com
 

Recently uploaded (20)

ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
AyilurRamnath1
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
Edge AI and Vision Alliance
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Introduction to Typescript - GDG On Campus EUE
Introduction to Typescript - GDG On Campus EUE
Google Developer Group On Campus European Universities in Egypt
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Infrassist Technologies Pvt. Ltd.
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
ISOIEC 42005 Revolutionalises AI Impact Assessment.pptx
AyilurRamnath1
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
“How Qualcomm Is Powering AI-driven Multimedia at the Edge,” a Presentation f...
Edge AI and Vision Alliance
 
7 Salesforce Data Cloud Best Practices.pdf
7 Salesforce Data Cloud Best Practices.pdf
Minuscule Technologies
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Jira Administration Training – Day 1 : Introduction
Jira Administration Training – Day 1 : Introduction
Ravi Teja
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Data Virtualization: Bringing the Power of FME to Any Application
Data Virtualization: Bringing the Power of FME to Any Application
Safe Software
 
Improving Developer Productivity With DORA, SPACE, and DevEx
Improving Developer Productivity With DORA, SPACE, and DevEx
Justin Reock
 
6th Power Grid Model Meetup - 21 May 2025
6th Power Grid Model Meetup - 21 May 2025
DanBrown980551
 
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
ELNL2025 - Unlocking the Power of Sensitivity Labels - A Comprehensive Guide....
Jasper Oosterveld
 
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Infrassist Technologies Pvt. Ltd.
 
LSNIF: Locally-Subdivided Neural Intersection Function
LSNIF: Locally-Subdivided Neural Intersection Function
Takahiro Harada
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
DevOps in the Modern Era - Thoughtfully Critical Podcast
DevOps in the Modern Era - Thoughtfully Critical Podcast
Chris Wahl
 
Ad

How npm is making JavaScript safe for everyone