77from pyunpack import Archive
88
99# Define the scanners and their versions
10- scanners = {"syft" : "1.20 .0" , "grype" : "0.89.1 " , "trivy" : "0.60.0" }
10+ scanners = {"syft" : "1.21 .0" , "grype" : "0.90.0 " , "trivy" : "0.60.0" }
1111
1212# Define the base URLs for the scanners
1313ANCHORE_BASE_URL = (
2020 "v{version}/{package_name}_{version}_Linux-64bit.tar.gz"
2121)
2222
23+
2324def set_versions (package_name ):
2425 """
2526 ## This function sets the versions of the scanners.
@@ -30,6 +31,7 @@ def set_versions(package_name):
3031 version = scanners [package_name ]
3132 return version
3233
34+
3335def install_package (package_name , version ):
3436 """
3537 ## This function installs the specified package and version.
@@ -47,6 +49,8 @@ def install_package(package_name, version):
4749 except FileNotFoundError :
4850 print (f"{ package_name } is not installed." )
4951 print (f"Installing { package_name } version { version } ..." )
52+ # Set base URL based on package name
53+ base_url = ""
5054 if package_name in ["syft" , "grype" ]:
5155 base_url = ANCHORE_BASE_URL
5256 elif package_name == "trivy" :
@@ -77,11 +81,12 @@ def install_package(package_name, version):
7781 os .remove (f"{ package_name } _v{ version } .tar.gz" )
7882 print (f"{ package_name } version { version } installed." )
7983
84+
8085def install ():
8186 """
8287 ## This function installs the base packages.
8388 """
8489 for scanner , version in scanners .items ():
8590 version = set_versions (scanner )
8691 print (f"Installing { scanner } version { version } ..." )
87- install_package (scanner ,version )
92+ install_package (scanner , version )
0 commit comments