Note: This summary is AI-generated and may contain inaccuracies, errors, or omissions. If you spot any issues, please contact the site owner for corrections. Errors or omissions are unintended.
This podcast interview from WeHackPurple features Anant Shrivastava discussing supply chain security, DevSecOps, Android security, and his open source projects.
Guest Background
Anant Shrivastava: Close to 15 years corporate experience, about 17 years as trainer
Linux involvement: About 20 years
Career path: Server administrator → Development work → Information security (2010)
Roles: SOC → Pen testing → Managing team of 50-60 pen testers
Current: Building small niche research-based firm that converts research into training programs
Key Topics Discussed
Supply Chain Security:
Definition:
Software supply chain security: The entire pipeline from developer’s laptop to production
Code level: You write ~20% of code, 80% is imports/dependencies
Full pipeline includes: Developer’s laptop → IDE with plugins → Source code repository (Git/SVN) → CI/CD tools → Test environment → Production environment → Monitoring software
Every piece: From every software on developer’s machine to every software on servers is part of supply chain
Compromise at any level: Can lead to compromise of your product
Real-World Examples:
CircleCI, LastPass, Slack hacks: Third-party SaaS vendors are crucial ingredients of your process
2015-2016 pen test story: Found exposed .SVN directory, downloaded entire content, got source code URL and username (username = password), pushed one PHP file to 50 regional servers in 10 minutes due to automated deployment
SolarWinds: Example of why attackers target CI/CD - can release code themselves into production
Package Sources and Dependencies:
The Package Problem:
Long-term stable releases: Red Hat, Debian (every 3 years), Ubuntu (every 2 years, .04 releases)
Stability means: Packages stay same version - doesn’t sit well with developers who want latest versions
Result: Developers install from different sources (pip, npm, RubyGems) not distro-maintained
Accountability: If installed from pip/npm/gems, keeping packages updated is on you
Version freezing: Developers freeze versions for confidence, but can’t update when security patches come out
Frankenstein monster: Combination of multiple sources with no clear update path
Container Complexity:
Docker containers: Isolate things, but containers themselves need updates
Problem: Can’t track 10 things, now have to track 20 things
Cycle keeps going: People keep looking for more variety
Trust and Zero Trust:
Oxymoron: Security people talk about not trusting others, but recommend relying on SaaS vendors
Reality: Everyone dependent on 50-100-200 SaaS vendors, all have to keep business functional for us to be secure
Code audit challenge: Decent-sized org using Node might depend on 200-500 modules - can 10 security people audit all 500 modules when new versions come out?
Factor of: Manpower, cost, rapid development pace
Dependency Hell:
npm example: is-even module depends on is-odd module (both by same person) - cascading dependencies
Technical debt: Every time you use something not vetted by you, technical debt increases
Mobile app example: Decompiled Android app had 4 different root detection packages, but author never called any function from them - code rot
People miss: Reducing dependencies where you don’t actually need to depend
Software Composition Analysis (SCA):
SCA tools: Super helpful, but supply chain security is not just SCA
Also need: Teaching developers to remove unused dependencies, work with technical debt
Problem: Can’t sell that - companies have to figure it out themselves
No direct impact: Hours spent on technical debt don’t add new features (makes things easier long-term)
Asset Inventory:
Asset definition: Not just IP addresses or domain names
Also includes: Git repositories, cloud accounts, S3 buckets, random subdomains for test environments
Test box from 2014: Still floating around - that’s also your asset
SBOM + Asset Inventory: Everyone talks about it, no one knows how deep rabbit hole goes
You can’t protect: What you don’t know you have
Asset Inventory Story (2010-2012):
Organization had: 5,000 assets in inventory
Cleaned up: To 95-96% using log correlation
Correlation techniques: If Symantec AV installed → Windows machine; Port 22 open → not Windows
Found discrepancies: Machine supposed to have Symantec AV (Windows) doesn’t have it because marked as Linux box
CircleCI hack: Credentials stored in CircleCI used to access buckets - no visibility of what’s there
Dev vs Ops:
Traditional Waterfall Model:
Business people: Bring idea/requirements
Development team: Do coding, get software working
QA team: Do testing, find problems (infosec is part of QA)
Operations team: Take software and make it available for customers
Difference: Software working for developer (on laptop) vs. available in production for all customers
Operations Aspect:
Creating environment: Optimized for your application