Python app to read CISA Software Acquisition Guide Spreadsheets based on CISA format https://cisa.gov/sag
Project description
CISASAGReader
Python app to read CISA Software Acquisition Guide Spreadsheets based on CISA format https://cisa.gov/sag
V 1.0.2 SAGSCORE Trust Label: https://softwareassuranceguardian.com/SAGCTR_inquiry/getTrustedProductLabel?ProductID=9429E05DF9DDA377F4CF0359904ED020B2AA67C54E945C8F0DAD84B6FFDF3AB1&html=1
V 1.0.3 SAGSCore Trust Label: https://softwareassuranceguardian.com/SAGCTR_inquiry/getTrustedProductLabel?ProductID=5D60680109AAC8DDEED1DD2D0D709179799E6CDC1C2FF918CD371A26D04079A8&html=1
SBOM: SPDX Version 2.3 in JSON format VDR: Follows open-source VDR format https://github.com/rjb4standards/REA-Products/blob/master/SAGVulnDisclosure.xsd using JSON output format
The CISASAGReader product also serves as a role model for what a Secure by Design solution should provide to satisfy the Secure by Design transparency principle by providing consumers with artifacts to enable a comprehensive software risk assessment, such as an SBOM, living Vulnerability Disclosure Report (VDR), Vendor Response File (VRF) listing additional company information and SDLC policy details, and the CISA Software Acquisition Guide Spreadsheet completed by the software producer.
Installation
You may use pip or pipx (https://pipx.pypa.io/stable/) to install the CISASAGReader.
We recommend installing it with pipx for ease of use after installation.
Simply run
pipx install sag-reader`
Use
Assuming that you installed the CISASAGReader with pipx, running it is as simple as
running sag-reader from the command line.
To get information on usage, simply run
sag-reader --help
Try it out for yourself.
Download the CISASAGReader spreadsheet here: https://github.com/rjb4standards/CISASAGReader/raw/refs/heads/main/CISASAGReader-spreadsheet.xlsx
Run sag-reader to view the CISASAGReader Secure by Design responses in the dowloaded spreadsheet:
sag-reader --include-descriptions CISASAGReader-spreadsheet.xlsx
Output
The CISASAGReader will parse Excel files (.xlsx and .xls) in the CISA format. It will remove those answers that the spreadsheet indicates do not have to be answered to reduce overall noise.
Output is human-readable by default. However, the sag-reader application can also be used to produce output in a JSON format that may be used in downstream processing, such as automated risk analysis, datalake inclusion for population analysis, or simple inclusion in a database for electronic recall and display. For example:
sag-reader spreadsheet.xls json
JSON output is hierarchical by CONTROL or TASK, then the designator broken up by its components. Leaf values in the resultant tree are the values entered on the spreadsheet.
Descriptions are not included in the JSON output or the human-readable output by default. They may be turned on for the human-readable output, for example:
sag-reader --include-descriptions spreadsheet.xls
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sag_reader-1.0.4.tar.gz.
File metadata
- Download URL: sag_reader-1.0.4.tar.gz
- Upload date:
- Size: 210.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64424b342d42ce636e71351c5f4e07bdad6dd55203d4e891ac4a18c898ac9537
|
|
| MD5 |
bba5a4eaa07634fcad7edcf859d7a958
|
|
| BLAKE2b-256 |
00260cd0bf9293ef04d13110333be9fc5706b92658550f496fdbe8950b7db8bc
|
File details
Details for the file sag_reader-1.0.4-py3-none-any.whl.
File metadata
- Download URL: sag_reader-1.0.4-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4154768c2fe9dc5f4222fd5fc47ffed659f3e85aeb62c19106e7ea04834b9f16
|
|
| MD5 |
8840b1c66b6de685f4cec22d29510b5f
|
|
| BLAKE2b-256 |
dfb79af177b40f56993d9cd8cf9232c96ecb88b9497ec5046740ce7b7b98577c
|