ossa-scanner 0.1.11__tar.gz → 0.1.13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/PKG-INFO +26 -9
- ossa_scanner-0.1.13/README.md +31 -0
- ossa_scanner-0.1.13/ossa_scanner/__init__.py +1 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/utils/package_manager.py +28 -9
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner.egg-info/PKG-INFO +26 -9
- ossa_scanner-0.1.11/README.md +0 -14
- ossa_scanner-0.1.11/ossa_scanner/__init__.py +0 -1
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/LICENSE +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/cli.py +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/scanner.py +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/uploader.py +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/utils/__init__.py +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/utils/downloader.py +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/utils/hash_calculator.py +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/utils/os_detection.py +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner/utils/swhid_calculator.py +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner.egg-info/SOURCES.txt +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner.egg-info/dependency_links.txt +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner.egg-info/entry_points.txt +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner.egg-info/requires.txt +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/ossa_scanner.egg-info/top_level.txt +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/setup.cfg +0 -0
- {ossa_scanner-0.1.11 → ossa_scanner-0.1.13}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ossa_scanner
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.13
|
4
4
|
Summary: Open Source Software Advisory generator for Core and Base Linux Packages.
|
5
5
|
Home-page: https://github.com/oscarvalenzuelab/ossa_scanner
|
6
6
|
Author: Oscar Valenzuela
|
@@ -29,13 +29,30 @@ Requires-Dist: ssdeep
|
|
29
29
|
Open Source Advisory Scanner (Generator)
|
30
30
|
|
31
31
|
## Centos/AL/AlmaLinux
|
32
|
-
Install Python PyPI:
|
33
32
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
```
|
34
|
+
$ yum -y update
|
35
|
+
$ yum -y groupinstall "Development Tools"
|
36
|
+
$ yum -y install python-pip python3-devel
|
37
|
+
$ pip3 install swh-scanner
|
38
|
+
$ BUILD_LIB=1 pip install ssdeep
|
39
|
+
$ pip3 install ossa-scanner
|
40
|
+
```
|
41
|
+
|
42
|
+
## Ubuntu/Debian
|
43
|
+
```
|
44
|
+
$ apt-get update -y && apt-get upgrade -y
|
45
|
+
$ apt install python3-pip -y
|
46
|
+
$ apt remove python3-blinker python3-zipp python3-urllib3 python3-typing-extensions python3-six -y
|
47
|
+
$ pip install swh-scanner --break-system-packages
|
48
|
+
$ apt install ssdeep python3-ssdeep -y
|
49
|
+
$ pip3 install ossa-scanner --break-system-packages
|
50
|
+
```
|
51
|
+
|
52
|
+
|
53
|
+
### *** Running in background ***
|
54
|
+
```
|
40
55
|
> nohup ossa_scanner &
|
41
|
-
|
56
|
+
```
|
57
|
+
> pip install --upgrade ossa_scanner
|
58
|
+
cp -nf /home/ec2-user/* /home/ec2-user/OpenSourceAdvisoryDatabase/advisories/ && cd /home/ec2-user/OpenSourceAdvisoryDatabase/advisories/ && git add * && git commit -am 'Importing AmazonLinux OSSA' && git push
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# ossa_scanner
|
2
|
+
Open Source Advisory Scanner (Generator)
|
3
|
+
|
4
|
+
## Centos/AL/AlmaLinux
|
5
|
+
|
6
|
+
```
|
7
|
+
$ yum -y update
|
8
|
+
$ yum -y groupinstall "Development Tools"
|
9
|
+
$ yum -y install python-pip python3-devel
|
10
|
+
$ pip3 install swh-scanner
|
11
|
+
$ BUILD_LIB=1 pip install ssdeep
|
12
|
+
$ pip3 install ossa-scanner
|
13
|
+
```
|
14
|
+
|
15
|
+
## Ubuntu/Debian
|
16
|
+
```
|
17
|
+
$ apt-get update -y && apt-get upgrade -y
|
18
|
+
$ apt install python3-pip -y
|
19
|
+
$ apt remove python3-blinker python3-zipp python3-urllib3 python3-typing-extensions python3-six -y
|
20
|
+
$ pip install swh-scanner --break-system-packages
|
21
|
+
$ apt install ssdeep python3-ssdeep -y
|
22
|
+
$ pip3 install ossa-scanner --break-system-packages
|
23
|
+
```
|
24
|
+
|
25
|
+
|
26
|
+
### *** Running in background ***
|
27
|
+
```
|
28
|
+
> nohup ossa_scanner &
|
29
|
+
```
|
30
|
+
> pip install --upgrade ossa_scanner
|
31
|
+
cp -nf /home/ec2-user/* /home/ec2-user/OpenSourceAdvisoryDatabase/advisories/ && cd /home/ec2-user/OpenSourceAdvisoryDatabase/advisories/ && git add * && git commit -am 'Importing AmazonLinux OSSA' && git push
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.1.13"
|
@@ -1,5 +1,7 @@
|
|
1
1
|
import subprocess
|
2
2
|
import re
|
3
|
+
import os
|
4
|
+
import shutil
|
3
5
|
|
4
6
|
|
5
7
|
def list_packages(package_manager):
|
@@ -38,12 +40,9 @@ def list_packages(package_manager):
|
|
38
40
|
k_packages += 1
|
39
41
|
if k_packages >= max_packages:
|
40
42
|
break
|
41
|
-
|
42
43
|
package_list = sorted(list(extracted_packages))
|
43
44
|
|
44
45
|
print(f"Total unique packages: {len(package_list)}")
|
45
|
-
# for package in package_list:
|
46
|
-
# print(package)
|
47
46
|
return package_list
|
48
47
|
|
49
48
|
|
@@ -65,7 +64,7 @@ def get_package_info(package_manager, package_name):
|
|
65
64
|
elif package_manager in ['yum', 'dnf']:
|
66
65
|
return parse_yum_info(output)
|
67
66
|
elif package_manager == 'apt':
|
68
|
-
return parse_apt_info(output)
|
67
|
+
return parse_apt_info(output, package_name)
|
69
68
|
except subprocess.CalledProcessError as e:
|
70
69
|
print(f"Command failed: {e}")
|
71
70
|
return None
|
@@ -129,29 +128,49 @@ def parse_yum_info(output):
|
|
129
128
|
info["summary"] = line.split(":", 1)[1].strip()
|
130
129
|
return info
|
131
130
|
|
132
|
-
def parse_apt_info(output):
|
131
|
+
def parse_apt_info(output, package_name):
|
133
132
|
"""Parses apt-cache show output."""
|
134
133
|
info = {}
|
135
134
|
lines = output.splitlines()
|
136
135
|
|
137
136
|
for line in lines:
|
138
|
-
if line.startswith("
|
139
|
-
info["licenses"] = line.split(":", 1)[1].strip()
|
140
|
-
elif line.startswith("Homepage:"):
|
137
|
+
if line.startswith("Homepage:"):
|
141
138
|
info["website"] = line.split(":", 1)[1].strip()
|
142
139
|
elif "Copyright" in line:
|
143
140
|
info["references"] = line.strip()
|
144
141
|
info["licenses"] = extract_spdx_ids(info["licenses"])
|
145
142
|
severity = license_classificaton(info["licenses"])
|
146
143
|
|
144
|
+
license = apt_get_license_from_source(package_name)
|
145
|
+
|
147
146
|
# Ensure all keys are present even if data is missing
|
148
147
|
return {
|
149
|
-
"licenses":
|
148
|
+
"licenses": license,
|
150
149
|
"copyright": info.get("copyright", "NOASSERTION"),
|
151
150
|
"references": info.get("references", "NOASSERTION"),
|
152
151
|
"severity": severity,
|
153
152
|
}
|
154
153
|
|
154
|
+
def apt_get_license_from_source(package_name):
|
155
|
+
try:
|
156
|
+
subprocess.run(["apt-get", "source", package_name], check=True, capture_output=True, text=True)
|
157
|
+
source_dirs = [d for d in os.listdir() if d.startswith(package_name) and os.path.isdir(d)]
|
158
|
+
if not source_dirs:
|
159
|
+
return "NOASSERTION"
|
160
|
+
package_dir = source_dirs[0]
|
161
|
+
copyright_file = os.path.join(package_dir, "debian", "copyright")
|
162
|
+
licenses = []
|
163
|
+
if os.path.exists(copyright_file):
|
164
|
+
with open(copyright_file, "r", encoding="utf-8") as f:
|
165
|
+
for line in f:
|
166
|
+
if re.search(r"(?i)license:", line):
|
167
|
+
licenses.append(line.split(":", 1)[1].strip())
|
168
|
+
shutil.rmtree(package_dir, ignore_errors=True)
|
169
|
+
return ", ".join(set(licenses)) if licenses else "NOASSERTION"
|
170
|
+
except subprocess.CalledProcessError as e:
|
171
|
+
print(f"Error fetching source package: {e}")
|
172
|
+
return "NOASSERTION"
|
173
|
+
|
155
174
|
def extract_spdx_ids(license_string):
|
156
175
|
if not license_string.strip():
|
157
176
|
return "No valid SPDX licenses found"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ossa_scanner
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.13
|
4
4
|
Summary: Open Source Software Advisory generator for Core and Base Linux Packages.
|
5
5
|
Home-page: https://github.com/oscarvalenzuelab/ossa_scanner
|
6
6
|
Author: Oscar Valenzuela
|
@@ -29,13 +29,30 @@ Requires-Dist: ssdeep
|
|
29
29
|
Open Source Advisory Scanner (Generator)
|
30
30
|
|
31
31
|
## Centos/AL/AlmaLinux
|
32
|
-
Install Python PyPI:
|
33
32
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
```
|
34
|
+
$ yum -y update
|
35
|
+
$ yum -y groupinstall "Development Tools"
|
36
|
+
$ yum -y install python-pip python3-devel
|
37
|
+
$ pip3 install swh-scanner
|
38
|
+
$ BUILD_LIB=1 pip install ssdeep
|
39
|
+
$ pip3 install ossa-scanner
|
40
|
+
```
|
41
|
+
|
42
|
+
## Ubuntu/Debian
|
43
|
+
```
|
44
|
+
$ apt-get update -y && apt-get upgrade -y
|
45
|
+
$ apt install python3-pip -y
|
46
|
+
$ apt remove python3-blinker python3-zipp python3-urllib3 python3-typing-extensions python3-six -y
|
47
|
+
$ pip install swh-scanner --break-system-packages
|
48
|
+
$ apt install ssdeep python3-ssdeep -y
|
49
|
+
$ pip3 install ossa-scanner --break-system-packages
|
50
|
+
```
|
51
|
+
|
52
|
+
|
53
|
+
### *** Running in background ***
|
54
|
+
```
|
40
55
|
> nohup ossa_scanner &
|
41
|
-
|
56
|
+
```
|
57
|
+
> pip install --upgrade ossa_scanner
|
58
|
+
cp -nf /home/ec2-user/* /home/ec2-user/OpenSourceAdvisoryDatabase/advisories/ && cd /home/ec2-user/OpenSourceAdvisoryDatabase/advisories/ && git add * && git commit -am 'Importing AmazonLinux OSSA' && git push
|
ossa_scanner-0.1.11/README.md
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
# ossa_scanner
|
2
|
-
Open Source Advisory Scanner (Generator)
|
3
|
-
|
4
|
-
## Centos/AL/AlmaLinux
|
5
|
-
Install Python PyPI:
|
6
|
-
|
7
|
-
> yum -y update
|
8
|
-
> yum -y groupinstall "Development Tools"
|
9
|
-
> yum -y install python-pip python3-devel
|
10
|
-
> pip3 install swh-scanner
|
11
|
-
> BUILD_LIB=1 pip install ssdeep
|
12
|
-
> pip3 install ossa-scanner
|
13
|
-
> nohup ossa_scanner &
|
14
|
-
> pip install --upgrade --force-reinstall
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.1.11"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|