Jekyll2024-02-06T18:57:37-05:00https://www.shurikenlabs.com//feed.xmlShurikenlabsInterests, musings, and whatever else I'm up to. ...let's be honest, this is just another blog. Abhinav SaxenaDependency Mapping With Graphs2024-01-29T00:00:00-05:002024-01-29T00:00:00-05:00https://www.shurikenlabs.com//dependency-mapping-with-graphs<h2 id="preamble-ramble">Preamble ramble</h2> <center>Like all things in this world, it started with a meme.</center> <p><img src="/assets/images/posts/dependency.png" alt="theme" /></p> <center>August 17, 2020</center> <p>It’s a hilarious example of what we all know is true about the modern digital ecosystem- it’s built on the backs of a small handfull of underresourced projects. Projects that’re maintained by weekend warriors, developers with some niche interest, and/or just a guy that wrote a thing 10 years ago that somehow has become his passion project. Some of these packages are utilized in tens or even hundreds of thousands of installs, underpinning billions of dollars in commercial revenue and yet only a small handful of that money gets funneled back to the maintainers of those core software packages.</p> <p>…yet if one of those projects was to have a critical flaw it would have an oversized impact on the security of the world around us.</p> <ul> <li>CVE-2016–3714: <strong>ImageTragic</strong></li> <li>CVE-2014-6271: <strong>ShellShock</strong></li> <li>CVE-2021-44228: <strong>Log4Shell</strong></li> </ul> <p>These are just some of the examples of the vulnerabilities that rocked the security community, but in all of these cases were projects that were highly utilized, and under-resourced for the true critical infrastructure that they provided.</p> <h2 id="intro">Intro</h2> <p>Why does any of this matter, right? Well, a while back I began wondering to myself <bold>would I be able to identify software packages that could pose a higher risk to the global security ecosystem?</bold> Software packages that were among the most highly linked packages in their respective ecosystems? <bold> Could I come up with a generic enough framework that could be built upon? </bold> <bold>is this a project where I can finally learn how to use graph databases?!?</bold></p> <p>So- today is the day that I begin my quest to hopefully come up with solves for these (non) trivial problems, and hopefully learn some new things along the way.</p> <h2 id="my-gameplan">My Gameplan</h2> <ol> <li>In order to solve the complex dependency graph problem, I’m going to have to learn to use graph databases.</li> <li>I’m going to iterate a bit on a data model that works for a repository/build repository that’s easy to parse.</li> <li>I’ll add weights for things like complexity, age of project, number of contributors, etc.</li> <li>Based on my outputs I’ll do a real light impact analysis of a hypothecital package or two with a critical CVE (10/10 on the CVSS scale)</li> </ol> <p>My expectation is that there are a small number of projects that meet the following criteria</p> <ul> <li>They’re dependencies of a “large” number of projects.</li> <li>The complexity of their codebases is statistically significant.</li> <li>the age of their codebases is ~7 years.</li> <li>The number of regular contributions is extremely small.</li> </ul> <p>We’ll see what happens after that. I’ve got quite a bit of work ahead of me.</p>Ian 'z0r0' AbreuPreamble ramble Like all things in this world, it started with a meme. August 17, 2020First Post2024-01-14T00:00:00-05:002024-01-14T00:00:00-05:00https://www.shurikenlabs.com//first-post<p>Well, this marks my newest attempt at documenting my life, interests, and whatever else I devote my life (at-work, and off-work) attention to.</p> <h3 id="im-ian">I’m Ian</h3> <p>This is my attempt at standing up a “no frills” blog site. This site uses</p> <ol> <li><a href="https://jekyllrb.com/">Jekyll</a></li> <li><a href="https://www.cloudflare.com/">Cloudflare</a></li> <li><a href="https://cloud.google.com/storage?hl=en">Google Cloud Storage</a></li> </ol> <p>I’ll be making another post at some point in the not-so-distant future about the deployment/management of all of it.</p> <h2 id="my-plan">My Plan</h2> <p>I typically run with no less than 2-3 projects at any given time. Sometimes they’re security related, sometimes they’ve got to do with more broad interests. The purpose of this site is to document them, sometimes if they overlap with my day-job I’ll post them as a dedicated “Security Project” on my homepage. What I <i>really</i> want to emphasize is that this is a WIP, and it’s going to suck until it doesn’t.</p>Ian 'z0r0' AbreuWell, this marks my newest attempt at documenting my life, interests, and whatever else I devote my life (at-work, and off-work) attention to.