TLDR: This research introduces two novel approaches to automatically detect software vulnerabilities in Internet-of-Things (IoT) systems from issue reports, a previously unexplored area. By combining machine learning and large language models with natural language processing techniques, and fine-tuning a BERT model, the study achieved an AUC of 0.65 with an SVM model trained on BERT NLP features, highlighting the potential for timely IoT vulnerability identification. The findings also emphasize the critical importance of exposing comprehensive data during model training.
The rapid expansion of the Internet of Things (IoT) has brought immense convenience and innovation, but it also introduces complex security challenges. Identifying software vulnerabilities in IoT systems is a critical task, yet it often lags behind detection in traditional software due to the heterogeneous nature of IoT ecosystems and the vague, verbose nature of vulnerability reports.
While Machine Learning (ML) and Large Language Models (LLMs) have shown promise in detecting vulnerability-indicating issues in non-IoT systems like web browsers and databases, their application to the unique landscape of IoT has remained largely unexplored until now. A recent research paper, Detecting Vulnerabilities from Issue Reports for Internet-of-Things, breaks new ground by proposing novel methods to tackle this pressing problem.
Addressing the IoT Vulnerability Gap
The research, led by Sogol Masoumzadeh from McGill University, highlights that popular software projects generate a vast volume of issue reports. Developers face the daunting task of prioritizing these, and critical issues like software vulnerabilities can easily be overlooked, posing significant risks to dependent products. This challenge is particularly acute in IoT, where systems are composed of loosely interconnected hardware, middleware, and software, making them more susceptible to cross-cutting defects and prolonging the reasoning behind reported issues.
The paper introduces two primary approaches to automate the identification of vulnerability-indicating issues in IoT systems:
- Combining traditional Machine Learning models with Large Language Models and Natural Language Processing (NLP) techniques. This approach was evaluated on issue reports from 21 Eclipse IoT open-source projects.
- Fine-tuning a pre-trained BERT Masked Language Model (MLM) on a substantial dataset of 11,000 GitHub issues specifically for classifying vulnerability-indicating issues.
The Empirical Study: ML, LLMs, and NLP
For the first approach, an empirical study was conducted using active Eclipse IoT projects. Researchers mined 9,564 resolved GitHub issues from these projects, then sampled and expanded a corpus to 820 issues, with 63 identified as vulnerability-indicating. These issues were meticulously labeled by three inspectors to ensure accuracy.
After pre-processing the text to remove noise and standardize terms, various ML models—Gaussian Naïve Bayes (GNB), Support Vector Machine (SVM), Random Forest (RF), and Logistic Regression (LR)—were trained and evaluated. These models leveraged different NLP features, including Bag-of-Words (BoW), BERT, GloVe, and Word2Vec (W2V). Additionally, OpenAI’s GPT-4o was instructed to classify issues, with careful prompt engineering to ensure consistent responses.
The Fine-tuning Experiment: BERT MLM
The second approach involved a fine-tuning experiment with a BERT Masked Language Model. A much larger corpus of 11,000 GitHub issues was compiled, including those tagged as “security” (vulnerability-indicating) and “bug” (non-vulnerability-indicating). A unique aspect of this experiment was the use of “Surrogates”—semantically similar keywords for each label—which were masked during BERT MLM training. This aimed to test the model’s ability to learn context even when direct vulnerability terms were hidden.
Also Read:
- Silent Sabotage: How Poisoned LLMs Create Hidden Security Blind Spots
- Safeguarding RAG Systems: A New Efficient Defense Against Data Poisoning
Key Findings and Future Directions
The empirical study yielded promising results. The most accurate classifier was a Support Vector Machine (SVM) model trained using BERT NLP features, achieving an Area Under the receiver operator characteristic Curve (AUC) of 0.65. GPT-4o also performed well, with an AUC of 0.60.
However, the fine-tuned BERT MLM showed a significantly lower mean classification accuracy of 0.26. This stark difference highlighted a crucial insight: exposing all contextual data during training is paramount for effective vulnerability detection. Masking the Surrogates prevented the BERT MLM from learning the full scope of the data, as many issues didn’t contain these specific keywords, and the model wasn’t trained to predict labels based on the entire issue description.
This research marks a significant step forward in the automated detection of IoT vulnerabilities from issue reports, mirroring capabilities seen in non-IoT systems. The authors plan to enhance their BERT MLM approach with an unsupervised training layer to expose it to all issues, aiming to iteratively refine its prediction generalizability. They also intend to expand experiments with additional baselines and larger datasets, paving the way for more robust and timely IoT security measures.


