Founder and lead researcher at OpenSourceMalware, the software supply chain threat intelligence platform. Software supply chain offensive security crazy person.
Paul is the founder and maintainer of OpenSourceMalware, the world's largest open database and collaboration platform for software supply chain threat intel. His day job is Head of Research at Safety and is a DevSecOps OG. He loves software supply chain research and delivering supply chain offensive security training and engagements. He's spent the last two years deep-diving into npm and has made several discoveries about the ecosystem. Paul founded multiple startups starting in the '90s and has worked for NASA, Boeing, Blue Cross/Blue Shield, John Deere, the US military, and the Australian government. Paul is a frequent open-source contributor and author of several DevSecOps, software supply chain and threat modelling projects. He’s currently writing a book entitled “Hacking NPM”, and when he’s not doing that, he’s snowboarding with his wife and 3 amazing kids.
13:00-14:55 PDT | Friday, Aug 7th 2026 | Adversary Village Workshop Stage, Las Vegas Convention Center Hands-on Workshop
Co-presented with: Jenn Gile
This hands-on workshop at Adversary Village RSAC 2026 provides a 20-minute deep dive into software supply chain attacks through practical exercises. The session will focus on the TTPs that DPRK-affiliated threat actors use to compromise software engineers, with particular emphasis on "Contagious Interview" campaigns. Participants will engage in CTI-based targeting and identification of key techniques, blending practical hunting exercises in GitHub and NPM to discover malicious packages and repositories in the wild with adversary emulation scenarios that walk through the complete attack chain.
The workshop will demonstrate how threat actors evade detection, while also teaching defenders how to detect and prevent these increasingly common supply chain threats. By experiencing these attacks from the adversary's perspective, participants will gain critical insights into real-world compromise techniques.
Things we will hunt for in GitHub and NPM:
1. VS Code tasks files - RCE via automatic execution of the tasks file when compromised source code is opened in VS Code
2. Fake fonts - hidden JavaScript payloads pretending to be font files
3. Fake VS Code dictionary files that hide JavaScript payloads
4. "PolinRider" TTPs for specific JavaScript payload appending
5. How DPRK threat actors hide infrastructure in cloud providers
6. Malicious npm packages with obfuscated payloads in install hooks
7. Dependency confusion attacks targeting internal package names
8. Backstopped GitHub repositories with fabricated commit histories
## Exercise 1: "Publish the Trojan" - Build & Deploy a Malicious npm Package
**Objective:** Participants create a malicious npm package from scratch and publish it to a local registry.
**Steps:**
1. Write a `postinstall.js` script that exfiltrates environment variables to a controlled webhook (using a shared RequestBin or webhook.site endpoint)
2. Obfuscate the payload using `Buffer.from()` and hex encoding to evade casual review
3. Craft a convincing `package.json` with a typosquat name
4. Publish the package to a local Verdaccio registry
5. Install the malicious package on a victim VM and observe the data exfiltration
6. Discussion: Review how defenders detect and prevent this type of attack
**Why it works:** Participants walk through the exact attack chain used by DPRK and other threat actors - package creation, payload hiding, registry abuse, and data exfiltration.
---
## Exercise 2: "Hijack the Dependency" - Dependency Confusion Attack
**Objective:** Execute a dependency confusion attack against a pre-configured target application.
**Setup:** A simple Node.js app with a `package.json` referencing an internal scoped package is provided.
**Steps:**
1. Create a public package with a higher version number on a local registry
2. Embed a reverse shell or data exfiltration payload in the install hook
3. Trigger `npm install` on the target app
4. Watch as the malicious package is pulled instead of the legitimate one
5. Observe the payload execute in real time
**Why it works:** Dependency confusion is a real, actively exploited vector. Participants experience firsthand why private registries and proper scoping matter for security.
---
## Exercise 3: "Poison the Repo" - GitHub Repository Backstopping
**Objective:** Create a convincing fake GitHub presence to backstop a malicious package.
**Steps:**
1. Fork a legitimate utility repository
2. Rewrite git history to fabricate months of commit activity using `GIT_AUTHOR_DATE` and `GIT_COMMITTER_DATE`
3. Inject a subtle payload into one of the source files (e.g., a `fetch()` call buried in a utility function)
4. Craft a README that mirrors the original to pass casual trust checks
5. Review how git forensics (timestamp clustering, author analysis) can expose fabricated repositories
**Why it works:** This demonstrates exactly how threat actors backstop campaigns - a technique most defenders have never seen from the attacker's perspective.
Agency.
Join Adversary Village official Discord server to connect with our amazing community of adversary simulation experts and offensive security researchers!