Πώς ελέγχετε αν μια έκδοση έχει γνωστές ευπάθειες;

Κάθε περιβάλλον εκτέλεσης, διακομιστής και βιβλιοθήκη από τα οποία εξαρτάστε λαμβάνει ενημερώσεις ασφαλείας με την πάροδο του χρόνου, και η έκδοση που χρησιμοποιείτε μπορεί να είναι μία από εκείνες που μια δημοσιευμένη ενημέρωση ασφαλείας χαρακτηρίζει ως ευάλωτες. Οι ενημερώσεις ασφαλείας είναι διασκορπισμένες σε πολλές βάσεις δεδομένων: του GitHub, των ομάδων ασφαλείας των Python και Go, του RustSec, της Bitnami και άλλων. Το OSV.dev, το έργο Open Source Vulnerabilities που διαχειρίζεται η Google, τις συγκεντρώνει σε ενιαία μορφή και απαντά ποιες ενημερώσεις ασφαλείας επηρεάζουν μια συγκεκριμένη έκδοση.

Περιγραφή εργαλείου

Επιλέξτε το Οικοσύστημα, εισαγάγετε το Όνομα και την ακριβή Έκδοση και πατήστε Έλεγχος έκδοσης. Για ένα δημοφιλές περιβάλλον εκτέλεσης ή πακέτο, όπως το Node.js, το PHP, το PostgreSQL, το lodash ή το Django, επιλέξτε το από τις Γρήγορες επιλογές, ώστε να συμπληρωθούν αυτόματα το Οικοσύστημα και το Όνομα. Θα δείτε όλες τις γνωστές ευπάθειες που επηρεάζουν αυτήν την έκδοση, με τις σοβαρότερες πρώτες, μαζί με:

  • Το αναγνωριστικό της, με σύνδεσμο προς τη σελίδα της στο osv.dev, καθώς και το αναγνωριστικό CVE, αν υπάρχει
  • Τη σοβαρότητα που της αποδίδει η ενημέρωση ασφαλείας: Κρίσιμη, Υψηλή, Μεσαία ή Χαμηλή
  • Την έκδοση στην οποία διορθώνεται: την παλαιότερη διορθωμένη έκδοση νεότερη από τη δική σας, όπως αναφέρεται στην ενημέρωση ασφαλείας
  • Μια σύντομη σύνοψη

Όταν πολλές βάσεις δεδομένων περιγράφουν το ίδιο ζήτημα, όπως μια ενημέρωση ασφαλείας του GitHub και το αντίγραφό της στη βάση δεδομένων της Python, εμφανίζονται ως μία ευπάθεια.

Ο έλεγχος εκτελείται στον διακομιστή μας, ο οποίος υποβάλλει ερώτημα στο δημόσιο API του OSV.dev. Αποστέλλονται μόνο το οικοσύστημα, το όνομα και η έκδοση.

Οι βοηθοί τεχνητής νοημοσύνης που είναι συνδεδεμένοι στον διακομιστή MCP του Rapid Tool Set μπορούν να εκτελέσουν τον ίδιο έλεγχο με το vulnerable_version_checker.

Υποστηριζόμενα οικοσυστήματα

Οικοσύστημα Τι περιλαμβάνει Παραδείγματα ονομάτων
Περιβάλλοντα εκτέλεσης και διακομιστές, Bitnami Περιβάλλοντα εκτέλεσης, διακομιστές ιστού και βάσεων δεδομένων, εφαρμογές node (Node.js), php, python, nginx, mariadb
npm Πακέτα JavaScript lodash, express
PyPI Πακέτα Python django, requests
Packagist Πακέτα PHP που εγκαθίστανται με το Composer laravel/framework, symfony/http-kernel
Maven Πακέτα Java, με μορφή group:artifact org.apache.logging.log4j:log4j-core
NuGet Πακέτα .NET Newtonsoft.Json
Go Λειτουργικές μονάδες Go, βάσει διαδρομής λειτουργικής μονάδας github.com/gin-gonic/gin
crates.io Crates Rust tokio
RubyGems Gems Ruby actionpack, nokogiri
Pub Πακέτα Dart και Flutter http
Hex Πακέτα Erlang και Elixir phoenix, plug
CRAN Πακέτα R commonmark

Για τα περιβάλλοντα εκτέλεσης και τους διακομιστές χρησιμοποιούνται τα ονόματα της Bitnami: node για το Node.js (λειτουργεί και το nodejs), postgresql, apache για τον διακομιστή HTTP Apache.

Περιορισμοί

  • Η έκδοση πρέπει να αναγράφεται ακριβώς όπως ορίζει το οικοσύστημα, για παράδειγμα 18.0.0 ή 4.17.15. Ένα ανορθόγραφο όνομα ή μια έκδοση που δεν υπάρχει δεν επιστρέφει αποτελέσματα, όπως και μια έκδοση χωρίς γνωστές ευπάθειες.
  • Αναγνωρίζονται μόνο οι δημοσιευμένες ενημερώσεις ασφαλείας. Μια έκδοση για την οποία δεν εμφανίζεται καμία ενημέρωση μπορεί και πάλι να έχει αδυναμίες που δεν έχουν αναφερθεί ακόμη.
  • Ορισμένες ενημερώσεις ασφαλείας δεν έχουν βαθμό σοβαρότητας· εμφανίζονται ως Χωρίς αξιολόγηση.
  • Η έκδοση στην οποία διορθώνεται το πρόβλημα αντλείται από τα εύρη εκδόσεων της ενημέρωσης ασφαλείας. Μια νεότερη έκδοση μπορεί να έχει τις δικές της ευπάθειες, επομένως ελέγξτε και την έκδοση στην οποία θα αναβαθμίσετε.