This crate provides an async client for the ENISA EUVD, a database of known and exploited software vulnerabilities maintained by the European Union Agency for Cybersecurity.
It supports filtering, lookups by ID, and more.
This API client was generated by the OpenAPI Generator project. By using the openapi-spec from a remote server, you can easily generate an API client.
The API is specified as OpenAPI-file.
Run the following Cargo command in your project directory:
cargo add euvd
Or add the following line to your Cargo.toml:
euvd = "0.2.0"
Alternatively, place the package in a directory named euvd
within your project folder and add the following to [dependencies] in your Cargo.toml:
euvd = { path = "./euvd" }
Examples can be found in tests/integration.rs:
use euvd::apis::configuration::Configuration;
use euvd::apis::default_api;
async fn get_last_vulnerabilities() {
// Preparation
let config = Configuration::default();
let result = default_api::get_last_vulnerabilities(&config).await;
// Print result if successful
if let Ok(response) = &result {
println!("Response received:");
for vuln in response {
println!("• ID: {:?}, Description: {:?}", vuln.id, vuln.description);
}
}
// Asserts
assert!(result.is_ok(), "API call failed: {:?}", result.err());
}
All URIs are relative to https://euvdservices.enisa.europa.eu
Class | Method | HTTP request | Description |
---|---|---|---|
DefaultApi | get_advisory_by_id | GET /api/advisory | Show advisory by ID |
DefaultApi | get_by_enisa_id | GET /api/enisaid | Show EUVD by ID |
DefaultApi | get_critical_vulnerabilities | GET /api/criticalvulnerabilities | Show latest critical vulnerabilities |
DefaultApi | get_exploited_vulnerabilities | GET /api/exploitedvulnerabilities | Show latest exploited vulnerabilities |
DefaultApi | get_last_vulnerabilities | GET /api/lastvulnerabilities | Show latest vulnerabilities |
DefaultApi | get_vulnerability_by_id | GET /api/vulnerability | Show vulnerability by ID |
DefaultApi | query_vulnerabilities | GET /api/vulnerabilities | Query vulnerabilities with flexible filters |
- Advisory
- AdvisoryAdvisoryProductInner
- AdvisoryEnisaIdAdvisoriesInner
- AdvisorySource
- AdvisoryVulnerabilityAdvisoryInner
- EnisaIdVulnerabilityEntry
- NestedProduct
- NestedVendor
- NestedVulnerability
- NestedVulnerabilityAllOfVulnerabilityProduct
- NestedVulnerabilityAllOfVulnerabilityVendor
- Vulnerabilities
- Vulnerability
- VulnerabilityAllOfEnisaIdProduct
- VulnerabilityAllOfEnisaIdVendor
- VulnerabilityAllOfProduct
- VulnerabilityBase
- VulnerabilityWithComponents
- VulnerabilityWithRelations
To get access to the crate's generated documentation, use:
cargo doc --open
Issues and pull requests are welcome. Please open an issue if you find a bug or have a feature request.
Licensed under either of
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)