Skip to content

Commit 6b207d8

Browse files
committed
Issue #25: Mainly technical edits to support readability. Forthcoming there will be a semi-minor rewrite to clarify build requirements in the context of multiple languages. ...
1 parent aba14ac commit 6b207d8

File tree

1 file changed

+13
-13
lines changed
  • docs/guides/software-lifecycle/security/security-scanning

1 file changed

+13
-13
lines changed

docs/guides/software-lifecycle/security/security-scanning/README.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,24 @@
77
**Background**: Software security is critical in modern systems with application code at its root. Identifying and addressing vulnerabilities rapidly mitigates risk and limits the potential surface area of attacks. We recommend [NASA's SCRUB platform](https://github.com/nasa/scrub) to manage code scanning by identifying, orchestrating and aggregating security information. SCRUB's GitHub implementation wraps [CodeQL](https://codeql.github.com/) results into compact, curated reports that highlight security assessments and are suitable for ingestion by automated reporting tools. A small configuration is appended to an existing CodeQL configuration (`codeql-config.yml` file) that specifies security analyses and reporting properties.
88

99
**Use Cases**:
10-
- Standardized security reports that enables rapid interchange of scanning tools.
11-
- Streamlining management of known security considerations during codebase audits.
10+
- Standardized security reports that enables rapid interchange of scanning tools
11+
- Streamlining management of known security considerations during codebase audits
1212
- Discovering security risks in code, such as:
1313
- Improper input validation
1414
- Weak encryption
1515
- Use of dangerous library functions
1616
- Other issues that may be difficult to identify via unit testing.
1717
- Scanning local client repositories to identify exploitable security risks.
18-
- Implementing a reporting loop in continuous integration (CI) pipelines using GitHub Actions to catch unforeseen risks.
18+
- Implementing a reporting loop in continuous integration (CI) pipelines using GitHub Actions to catch unforeseen risks
1919

2020
---
2121

2222
## Prerequisites
23-
To get the most out of `SCRUB`, you'll need:
23+
To get the most out of SCRUB, you'll need:
2424

2525
* Python 3 with the `pip` tool installed
2626
* Static analysis tools installed and ready for use
27-
* CodeQL, SonarQube, and Pylint are some common examples
27+
* CodeQL, SonarQube and Pylint are some common examples
2828
* (Optional) Familiarity with BASH and/or Python for potential customizations
2929
* (Optional) A GitHub repository supporting GitHub Actions
3030

@@ -35,17 +35,17 @@ To get the most out of `SCRUB`, you'll need:
3535
SCRUB may be run locally or as a CI workflow action, such as in GitHub Actions. Please see below sections for further details.
3636

3737
### Client-side Scan and Analysis
38-
The developer's local environment is scanned directly using the `SCRUB` tool. After scanning, a report containing detected security issues is generated. Developers can audit this report for detailed information on detected security concerns.
38+
The developer's local environment is scanned directly using the SCRUB tool. After scanning, a report containing detected security issues is generated. Developers can audit this report for detailed information on detected security concerns.
3939

4040
#### Steps
4141
1. **Installation**
42-
- Install the release version of [SCRUB](https://nasa.github.io/scrub/installation.html).
42+
- Install the release version of [SCRUB](https://nasa.github.io/scrub/installation.html)
4343
```bash
4444
pip3 install --upgrade --user nasa-scrub
4545
```
4646

4747
2. **Configuration**
48-
- Create a `scrub.cfg` configuration file. This file must be populated with project specific configuration values, depending on the tool that is being used. More information can be found in the [SCRUB documentation](https://nasa.github.io/scrub/configuration.html).
48+
- Create a `scrub.cfg` configuration file. This file must be populated with project specific configuration values, depending on the tool that is being used. More information can be found in the [SCRUB documentation](https://nasa.github.io/scrub/configuration.html)
4949

5050
``` bash
5151
scrub get-conf --output scrub.cfg
@@ -69,13 +69,13 @@ The developer's local environment is scanned directly using the `SCRUB` tool. Af
6969

7070
> ℹ️ **Note**: Any confirmed security issues should be addressed and mitigated before pushing to remote repositories.
7171

72-
### GitHub.com Actions Analysis on Push and Pull Request
72+
### GitHub Actions Analysis on Push and Pull Request
7373

74-
Code is scanned for security risks within the repository. It leverages [GitHub Action](https://github.com/features/actions). The scan is triggered during a push or pull request and any detected security vulnerabilities are reported while blocking merges or pushes to protected branches.
74+
Code is scanned for security risks within the repository. It leverages [GitHub Actions](https://github.com/features/actions). The scan is triggered during a push or pull request and any detected security vulnerabilities are reported while blocking merges or pushes to protected branches.
7575

7676
#### Steps
7777
1. **Workflow Creation**
78-
- The first step is to create a `scrub.yaml` workflow file in the `.github/workflows` directory to define the GitHub action. Copy and paste the below to your new file while ensuring the correct branch of your codebase is referenced. For example, the following configuration scans for CodeQL security and quality checks for Python language code. Note: a version of the below is also available through the [SLIM Python Starter Kit](https://github.com/NASA-AMMOS/slim-starterkit-python/blob/main/.github/workflows/codeql.yml):
78+
- The first step is to create a `scrub.yaml` workflow file in the `.github/workflows` directory to define a GitHub action. Copy and paste the below to your new file while ensuring the correct branch of your codebase is referenced. For example, the following configuration scans for CodeQL security and quality checks for Python language code. Note: a version of the below is also available through the [SLIM Python Starter Kit](https://github.com/NASA-AMMOS/slim-starterkit-python/blob/main/.github/workflows/codeql.yml):
7979
- This workflow is based on the default CodeQL workflow file with three modifications:
8080
1. Under the *Initialize CodeQL* step, the `queries` entity has been added to enable all of the available security queries
8181
2. A new *Post-Process Output* step has been added to generate a CSV output file that may be easily ingested by other systems
@@ -175,7 +175,7 @@ Code is scanned for security risks within the repository. It leverages [GitHub A
175175

176176
---
177177

178-
### Frequently Asked Questions (FAQ)
178+
## Frequently Asked Questions (FAQ)
179179

180180
- Q: **If security concerns are detected in my code, what should I do?**
181181

@@ -188,7 +188,7 @@ Code is scanned for security risks within the repository. It leverages [GitHub A
188188
6. _Educate and Prevent:_ To avoid such instances in the future, educate your team on the importance of code security and potential risks. Consider adopting practices or tools that identify risks early in development cycles. You may also consider if it would be helpful to modify your project's coding standard to improve code quality.
189189
190190
191-
- Q: **Where can I find more configurations and options for `SCRUB`?**
191+
- Q: **Where can I find more configurations and options for SCRUB?**
192192
193193
A: Refer to the official documentation for [SCRUB](https://nasa.github.io/scrub).
194194

0 commit comments

Comments
 (0)