syncable_cli/analyzer/vulnerability/checkers/
mod.rs1pub mod go;
4pub mod java;
5pub mod javascript;
6pub mod python;
7pub mod rust;
8
9pub use go::GoVulnerabilityChecker;
10pub use java::JavaVulnerabilityChecker;
11pub use javascript::JavaScriptVulnerabilityChecker;
12pub use python::PythonVulnerabilityChecker;
13pub use rust::RustVulnerabilityChecker;
14
15use super::types::{VulnerabilityError, VulnerableDependency};
16use crate::analyzer::dependency_parser::DependencyInfo;
17use std::path::Path;
18
19pub trait LanguageVulnerabilityChecker {
21 fn check_vulnerabilities(
22 &self,
23 dependencies: &[DependencyInfo],
24 project_path: &Path,
25 ) -> Result<Vec<VulnerableDependency>, VulnerabilityError>;
26}
27
28pub trait MutableLanguageVulnerabilityChecker {
30 fn check_vulnerabilities(
31 &mut self,
32 dependencies: &[DependencyInfo],
33 project_path: &Path,
34 ) -> Result<Vec<VulnerableDependency>, VulnerabilityError>;
35}