Skip to content

Commit 5d9f293

Browse files
committed
Add initial report with general details with description
Signed-off-by: 404-geek <pranayd61@gmail.com>
1 parent c158429 commit 5d9f293

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
==============================================================================
2+
Integrating OpenSSF Scorecard into Scancode.io for Enhanced Vulnerability Analysis
3+
==============================================================================
4+
5+
**Organization:** `AboutCode <https://aboutcode.org>`_
6+
7+
**Projects:** `Scancode.io <https://github.com/aboutcode-org/scancode.io>`_,
8+
`Scorecode <https://github.com/aboutcode-org/scorecode>`_
9+
10+
**Mentee:** `Pranay Das (404-geek) <https://github.com/404-geek>`_
11+
12+
**Mentors:**
13+
- `Philippe Ombredanne <https://github.com/pombredanne>`_
14+
- `Ayan Sinha Mahapatra <https://github.com/AyanSinhaMahapatra>`_
15+
- `Thomas Druez <https://github.com/thomasdruez>`_
16+
- `Jonathan Yang <https://github.com/JonoYang>`_
17+
- `Tushar Goel <https://github.com/tushar-goel>`_
18+
19+
--------------------------------------------------------------------------------
20+
21+
Overview
22+
--------
23+
24+
The primary objective of this project was to integrate the OpenSSF Scorecard into the Scancode.io platform, thereby enhancing its capabilities for vulnerability analysis. The project involved work on two key repositories: `Scorecode`, which was developed as a PyPI package, and `Scancode.io`, where the integration with Scorecard data was implemented within scanning pipelines.
25+
26+
### Scorecode
27+
28+
`Scorecode` serves as a PyPI package that encapsulates the business logic for fetching OpenSSF Scorecard data using the OpenSSF API. It also includes Django mixin models that can be extended and integrated into other platforms with databases, such as Scancode.io and PurlDB, ensuring seamless utilization of Scorecard data across various projects.
29+
30+
### Scancode.io
31+
32+
In the `Scancode.io` project, I developed a pipeline that interacts with the `Scorecode` package to fetch and store Scorecard data in the Scancode.io database. The data can then be exported into Bill of Materials (BOM) files in formats like CycloneDX and SPDX, providing comprehensive security insights in standardized formats.
33+
34+
--------------------------------------------------------------------------------
35+
36+
Implementation
37+
--------------
38+
39+
**1. Scorecode Repository:**
40+
41+
- Developed a PyPI package to interact with the OpenSSF API and fetch Scorecard data for various software packages.
42+
- Created Django mixin models to enable easy extension and integration of Scorecard data into platforms with databases like Scancode.io.
43+
44+
**2. Scancode.io Integration:**
45+
46+
- Developed a pipeline within Scancode.io to call `Scorecode` functions, retrieve Scorecard data, and save it in the Scancode.io database.
47+
- Enhanced the existing BOM export functionality to include Scorecard data, allowing for detailed security posture analysis in CycloneDX and SPDX formats.
48+
49+
**4. Testing:**
50+
51+
- Conducted comprehensive testing in both repositories to ensure accurate fetching, storage, and export of Scorecard data.
52+
- Verified seamless integration across different package ecosystems supported by Scancode.io.
53+
54+
--------------------------------------------------------------------------------
55+
56+
Linked Pull Requests
57+
--------------------
58+
59+
.. list-table::
60+
:widths: 10 60 30
61+
:header-rows: 1
62+
63+
* - Sr. no
64+
- Link
65+
- Status
66+
* - 1
67+
- https://github.com/aboutcode-org/scancode.io/pull/1294
68+
- Open
69+
* - 2
70+
- https://github.com/aboutcode-org/scorecode/pull/5
71+
- Closed
72+
* - 2
73+
- https://github.com/aboutcode-org/scorecode/pull/1
74+
- Closed
75+
* - 2
76+
- https://github.com/aboutcode-org/scorecode/pull/4
77+
- Closed

0 commit comments

Comments
 (0)