You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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. ...
Copy file name to clipboardExpand all lines: docs/guides/software-lifecycle/security/security-scanning/README.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,24 +7,24 @@
7
7
**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.
8
8
9
9
**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
12
12
- Discovering security risks in code, such as:
13
13
- Improper input validation
14
14
- Weak encryption
15
15
- Use of dangerous library functions
16
16
- Other issues that may be difficult to identify via unit testing.
17
17
- 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
19
19
20
20
---
21
21
22
22
## Prerequisites
23
-
To get the most out of `SCRUB`, you'll need:
23
+
To get the most out of SCRUB, you'll need:
24
24
25
25
* Python 3 with the `pip` tool installed
26
26
* 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
28
28
* (Optional) Familiarity with BASH and/or Python for potential customizations
29
29
* (Optional) A GitHub repository supporting GitHub Actions
30
30
@@ -35,17 +35,17 @@ To get the most out of `SCRUB`, you'll need:
35
35
SCRUB may be run locally or as a CI workflow action, such as in GitHub Actions. Please see below sections for further details.
36
36
37
37
### 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.
39
39
40
40
#### Steps
41
41
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)
43
43
```bash
44
44
pip3 install --upgrade --user nasa-scrub
45
45
```
46
46
47
47
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)
49
49
50
50
``` bash
51
51
scrub get-conf --output scrub.cfg
@@ -69,13 +69,13 @@ The developer's local environment is scanned directly using the `SCRUB` tool. Af
69
69
70
70
> ℹ️ **Note**: Any confirmed security issues should be addressed and mitigated before pushing to remote repositories.
71
71
72
-
### GitHub.com Actions Analysis on Push and Pull Request
72
+
### GitHub Actions Analysis on Push and Pull Request
73
73
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.
75
75
76
76
#### Steps
77
77
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):
79
79
- This workflow is based on the default CodeQL workflow file with three modifications:
80
80
1. Under the *Initialize CodeQL* step, the `queries` entity has been added to enable all of the available security queries
81
81
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
175
175
176
176
---
177
177
178
-
### Frequently Asked Questions (FAQ)
178
+
## Frequently Asked Questions (FAQ)
179
179
180
180
- Q: **If security concerns are detected in my code, what should I do?**
181
181
@@ -188,7 +188,7 @@ Code is scanned for security risks within the repository. It leverages [GitHub A
188
188
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.
189
189
190
190
191
-
- Q: **Where can I find more configurations and options for `SCRUB`?**
191
+
- Q: **Where can I find more configurations and options for SCRUB?**
192
192
193
193
A: Refer to the official documentation for [SCRUB](https://nasa.github.io/scrub).
0 commit comments