GenHaxGenHax

SBOM Analyzer with NLP Query System

Tool that analyzes software dependencies and vulnerabilities using real-time knowledge graph data

Built by 5 people (TEAM 44) · April 2025 · AI Knowledge

What it does

SBOM Analyzer retrieves and analyzes software bill of materials data by querying a knowledge graph built by Purdue University scholars. Users input a product name through a React interface, and the system returns structured information about dependencies and vulnerabilities in JSON format. The tool includes a chatbot that allows non-technical users to query the knowledge graph using natural language instead of SPARQL syntax. The system detects user intent and translates requests into queries, making vulnerability and dependency information accessible without requiring database expertise.

How we built it

The team built a Flask API backend that routes requests to an SBOM service, which queries a SPARQL endpoint using SPARQLWrapper and Apache Jena to retrieve data from the knowledge graph. They implemented indexed filtering and pagination to manage large datasets, plus data harmonization scripts to align mismatched product and version data across sources. The React frontend handles user input and displays results dynamically using Axios. For the chatbot component, they integrated language models through Hugging Face and Langchain framework for intent detection, training a GPT-2 model on two query types to translate natural language into database queries.

Impact

The tool addresses the challenge of managing software dependencies and vulnerabilities at scale, particularly for organizations tracking thousands of components. IT administrators can use it to assess vulnerability changes before upgrading software versions and maintain dashboards of current system risks. Development teams can check dependencies and vulnerabilities when planning new applications. The natural language interface makes the knowledge graph accessible to users without SPARQL expertise.

Built with

FlaskReactSPARQLApache JenaSPARQLWrapperHugging FaceLangchainAxios

Slides

Secure Saas Supply Chains.pdfOpen

Questions and answers

What data sources does the tool query?

The tool queries a knowledge graph built by Purdue University scholars in RDF format, using Apache Jena Fuseki as the SPARQL endpoint to retrieve dependency and vulnerability data.

How does the chatbot work without requiring SPARQL knowledge?

The chatbot uses language models to detect user intent and extract key entities from natural language input. The system then maps that intent to SPARQL query format and returns human-readable results. The team trained a GPT-2 model for two query types: asking about dependencies or vulnerabilities for specific software.

What format does the tool output?

The system returns structured SBOM data in JSON format, ready for audit reports, frontend display, or integration with other systems.

Related solutions

In the news

From the GenHax blog and press room.

All news →

Host a challenge like this

Bring a real problem. GenHax brings the builders, mentors and AI tools, and you get working solutions like this one.

Run a challenge with GenHax

Is this your work?

Sign in to complete your public profile, show your skills next to this solution, or choose to hide your name.

Sign in to your profile