This document discusses the risks of dependencies in software and provides examples of dependency graphs that can include hundreds or thousands of nodes. It recommends using a solution like GraphAware to gain visibility into an application's full dependency network in order to identify security vulnerabilities or outdated packages. GraphAware uses Neo4j to map dependencies as a graph database for analysis.
5. Jenga tower of JavaScript
Azer Ko巽ulu, 273 modules in NPM
Kik module
The story began with an email from a lawyer
Hahah, youre actually being a d#%k, So, f#%k you. Dont email me
back.
NPM statement
Change the ownership
Leaving NPM
Left-pad was fetched 2,486,696 downloads in just the last month
Un-unpublishing
Left-pad incident
赫姻温沿鞄粥敬温姻艶速
6. 赫姻温沿鞄粥敬温姻艶速
Quote
The fundamental act of friendship among
programmers is the sharing of programs
Stallman wrote in his 1985 manifesto (GNU Manifesto).
8. If you develop your open or closed source software,
you must be aware of a few facts:
In average 80 percent of the applications consists of third-party components,
mostly open source
Almost 50 percent of the third-party software components of those applications
are outdated, a few years old
A more secure version of the software component available in almost every case.
Its estimated that only about 10% of the Fortune 100 companies monitor their
use of open-source code
Theres something like a million di鍖erent open-source projects on the internet,
and any one piece of vulnerable code could be used by hundreds of companies.
In a medium size project there are over 1,500 dependent software packages, not
counting di鍖erent versions of the same package or any packages developed
internally for reuse.
Not so Fun Facts
赫姻温沿鞄粥敬温姻艶速
9. Technical issues, bugs
New releases
Legal compliance issues
Security threats, vulnerabilities
Bus factor for dependencies:
https://en.wikipedia.org/wiki/Bus_factor
Issues you involved
赫姻温沿鞄粥敬温姻艶速
10. 赫姻温沿鞄粥敬温姻艶速
Quote
You should have the visibility and the control
over your software product dependency, to have
the proper business continuity.
todays takeaway from me
14. Neo4j (Neo4j Platform)
The Neo4j native graph database
Graph analytics
Data integration
The Cypher graph query language is the bridge to big data analytic tooling
Graph visualisation and discovery
Enterprise architecture underlies and supports massive graph data
GraphAware Databridge
Graph Algorithms Neo4j plugin
My DIY solution
赫姻温沿鞄粥敬温姻艶速
21. OWASP Top 10: "Using Components with Known Vulnerabilities
CVE: Common Vulnerabilities and Exposures CVE-2017-14359
NVD: National Vulnerability Database
CSV 鍖les to download and ingest into our DB
Possible defense or attack strategies:
Top-down
Bottom-up
Security
赫姻温沿鞄粥敬温姻艶速
22. ElasticSearch for full-text search on descriptions
Security vulnerabilities ingestion
NLP to create knowledge graphs
Embed into releasing process
More insights from the data
Future improvements
赫姻温沿鞄粥敬温姻艶速