Urgent.News

What's breaking now, across thousands of outlets.

Tech

KILLCHAIN: Following Trust Through the Software Supply Chain

This is a submission for the MLH x DEV Writing Challenge . A Hacktoberfest 2026 adventure: Creating KILLCHAIN. We use packages every day. A quick npm command. An import statement. We are using someone's code. The code that lives in a developer's GitHub repository and the package you download from npm are not always the same. Builds can change files. Sometimes unintended changes end up in the…

In today's digital age, we rely heavily on software packages created by others. Each time we install a package using npm or import code from a GitHub repository, we are essentially trusting that the published version matches the original source. However, this trust can be easily broken by supply chain attacks, where malicious changes are introduced to the published package without our knowledge.

At the Hacktoberfest Hack Day in Sonipat, a team created KILLCHAIN, a tool designed to check whether the published package matches the source code. KILLCHAIN is a simple yet powerful solution that addresses the trust gap in software supply chains. By scanning a package name and version, KILLCHAIN downloads the published tarball, retrieves the corresponding source code from GitHub, and compares the two to identify any discrepancies.

The tool goes beyond a mere folder comparison, as differences between the source and package are not always problematic. Builds can legitimately add bundles, metadata, and transformed files. The challenge lies in determining which of these differences warrant attention. KILLCHAIN provides a comprehensive scan report, including package retrieval, extraction, source retrieval, manifest and diff analysis, build-artifact classification, security analysis, provenance checks, risk scoring, AI explanations, and scan history tracking.

The core idea behind KILLCHAIN is that every dependency represents an act of trust. By using packages created by unknown developers and rarely questioning the publishing process, we unknowingly expose ourselves to supply chain attacks. These attacks can occur when someone makes a typo in the package name, uses a company's package name on the registry, or quietly adds malicious code just before publication.

KILLCHAIN operates by scanning the npm registry, checking the package's shasum against the registry's record, carefully extracting the package, and finding the matching source code on GitHub. It hashes every file on both sides and compares the lists, identifying which changes are part of the build process. The tool then applies security rules to determine whether the package is safe, warrants a warning, or is critical, providing a clear risk score and explanation.

The development of KILLCHAIN took place during a hackathon, with the scanning engine, frontend, and deployment and CI processes split among different team members. The project utilized React 19 with TypeScript and Vite for the frontend, Python with FastAPI and Uvicorn for the backend, and a SQLite database to store scan history. The code was written in Python using FastAPI and Vite, with unit tests ensuring the accuracy of the extraction and manifest code.

During the hackathon, the team faced several challenges, including merge conflicts in the run.sh script, accidental inclusion of pycache files, and the need for path safety in archive handling. They overcame these obstacles through continuous integration and testing, ensuring that their solution was robust and reliable.

Looking ahead, KILLCHAIN plans to expand its support to include PyPI and introduce release monitoring to recheck packages when new versions are released. While KILLCHAIN works with npm today, its potential to enhance software security on a larger scale is undeniable.

In conclusion, KILLCHAIN is a valuable tool that helps us bridge the trust gap in software supply chains. By verifying whether a published package matches its source code, we can better protect ourselves against supply chain attacks and ensure the integrity of the software we rely on every day. As developers, it is crucial to remember that every dependency represents an act of trust, and it is our responsibility to verify the authenticity of the code we use.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Digital employee: how to help your team grow

I believe you shouldn't fire employees just to replace them with artificial intelligence. The exception is when they've earned that decision themselves AI doesn't work on its own: someone has to press…

  • Emphasize AI complements human expertise, not replaces it
  • Gradual AI integration starts with specific tasks and team input
  • AI can reduce costs while expanding workforce capacity

How to Evaluate Payment Recovery Software Without a Sales Call

Most subscription teams evaluate payment recovery software backwards: they watch a polished demo built on someone else's data, ask about a logo list, and only later discover how the tool behaves when…

  • Export last 90 days of failed payments and categorize by decline reason.
  • Inquire about retry logic, timing mechanisms, and decision tree explanation.
  • Analyze pricing model using actual data, consider adverse and typical scenarios.

Exorcism Lab: the ghost that tried to grant itself permission

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine . What I Built The last train has gone. The hallway is dark.

  • Exorcism Lab uses open-weight model to explore permission gates
  • Supervisor approval forged to open basement, demonstrating vulnerability
  • Model recovers when gate in place, showing resilience to forged permissions

Ofrenda: An altar where dead open-source repos come back to talk

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine What I Built Every developer has a graveyard. The library you loved in 2014.

  • Ofrenda is an online altar for deceased open-source projects
  • Software uses Gemma 3 model to generate epitaphs and contributions
  • Ghost in the Machine theme preserves project history locally

More from Sunday 1 November →