|
2 | 2 | <br> |
3 | 3 | <b>PROJECT NAME:     MSDO Central Repo<br> |
4 | 4 | CREATED BY:      THEANGRYTECH-GIT<br> |
5 | | -REPO:         [([link to repo](https://github.com/theangrytech-git/MSDO))]<br><br> |
6 | | -DESCRIPTION:</b>      This repo will be used as a central repo for <bR>setting up security scanning in other repos<br> |
| 5 | +REPO:         [([MSDO Repo](https://github.com/theangrytech-git/MSDO))]<br><br> |
| 6 | +DESCRIPTION:</b>      This repo is used to centrally manage and deploy<br>GitHub Action-based Microsoft Security DevOps (MSDO) scanning pipelines,<br> including secret scanning and SARIF reporting.<br> |
7 | 7 | <br> |
8 | 8 | *******************************************************************************<br> |
9 | 9 | <br> |
@@ -31,48 +31,63 @@ DevOps scanning tools (MSDO) in your own environment.</b><br> |
31 | 31 | <br> |
32 | 32 | <b>HOW TO SET UP:</b><br> |
33 | 33 | <br> |
34 | | -<b>1. Fork the repository</b> <br> |
35 | | -> [Click here to fork](https://github.com/theangrytech-git/MSDO/fork)<br> |
36 | | -<br> |
37 | | -<b>2. Add a `GH_TOKEN` secret:</b> <br> |
38 | | -Go to **Settings → Secrets and variables → Actions**, then add:<br> |
39 | | -<br> |
40 | | -| Name | Description |<br> |
41 | | -|-----------|------------------------------------|<br> |
42 | | -| GH_TOKEN | GitHub PAT with `repo` permissions (optional, usually not needed if using `${{ secrets.GITHUB_TOKEN }}`) |<br> |
43 | | -<br> |
| 34 | +<ol> |
| 35 | + <li><strong>Create a Central MSDO Security Repo:</strong><br> |
| 36 | + Create a new repository in your org called <code>MSDO-Security</code> (or a name of your choosing), and copy these files from this repository: |
| 37 | + <ul> |
| 38 | + <li><code>.github/workflows/msdo-main-pipeline.yml</code></li> |
| 39 | + <li><code>.github/workflows/msdo-reusable.yml</code></li> |
| 40 | + <li><code>.github/workflows/secret-scanning.yml</code></li> |
| 41 | + <li><code>.github/actions/upload-sarif/</code> (folder)</li> |
| 42 | + </ul> |
| 43 | + </li><br> |
| 44 | + <li><strong>Add a GH_TOKEN secret (if needed):</strong><br> |
| 45 | + Navigate to <em>Settings → Secrets and variables → Actions</em> in the central repo and add: |
| 46 | + <table border="1" cellpadding="5"> |
| 47 | + <tr><th>Name</th><th>Description</th></tr> |
| 48 | + <tr><td>GH_TOKEN</td><td>GitHub PAT with <code>repo</code> permissions (optional; usually <code>${{ secrets.GITHUB_TOKEN }}</code> is sufficient)</td></tr> |
| 49 | + </table> |
| 50 | + </li><br> |
| 51 | + <li><strong>In each repo you want to scan:</strong> |
| 52 | + <ul> |
| 53 | + <li>Create a new file: <code>.github/workflows/msdo-repo-pipeline.yml</code></li> |
| 54 | + <li>Create a Workflow Action called <code>msdo-repo-pipeline.yml</code></li> |
| 55 | + <li>Copy and paste the <code>msdo-repo-pipeline.yml</code> into your newly created workflow</li> |
| 56 | + <li>This should trigger and run - review pipeline to confirm that it runs and completes</li> |
| 57 | + </ul> |
| 58 | + |
44 | 59 | ---<br> |
45 | 60 | <br> |
46 | 61 | <b>INCLUDED WORKFLOWS:</b><br> |
47 | | -<br> |
48 | | -| Workflow Name | Purpose |<br> |
49 | | -|-------------------------|-----------------------------------------------|<br> |
50 | | -| `msdo-main-pipeline.yml` | Orchestrates all security scans + uploads |<br> |
51 | | -| `msdo-reusable.yml` | Performs MSDO scans on infra/code/containers |<br> |
52 | | -| `msdo-secret-scanning.yml` | Runs `credscan` for secret detection |<br> |
53 | | -| `.github/actions/upload-sarif/` | Composite action to upload SARIF locally |<br> |
54 | | -<br> |
| 62 | +<table border="1" cellpadding="5"> |
| 63 | + <tr><th>Workflow Name</th><th>Purpose</th></tr> |
| 64 | + <tr><td><code>msdo-main-pipeline.yml</code></td><td>Orchestrates all security scans + uploads</td></tr> |
| 65 | + <tr><td><code>msdo-reusable.yml</code></td><td>Performs MSDO scans on infra/code/containers</td></tr> |
| 66 | + <tr><td><code>msdo-secret-scanning.yml</code></td><td>Runs <code>credscan</code> for secret detection</td></tr> |
| 67 | + <tr><td><code>.github/actions/upload-sarif/</code></td><td>Composite action to upload SARIF locally</td></tr> |
| 68 | + <tr><td><code>msdo-repo-pipeline.yml</code></td><td>To be added into each Repo you want to scan as a Workflow Action</td></tr> |
| 69 | +</table> |
55 | 70 | ---<br> |
56 | 71 | <br> |
57 | 72 | <b>HOW TO RUN:</b><br> |
58 | 73 | <br> |
59 | | -- Trigger automatically on push to `main`<br> |
60 | | -- Or manually from the **Actions** tab → Select **workflow** → Click **Run workflow**<br> |
| 74 | +- Triggers automatically on push/commit to <code>main</code> within the Repo<br> |
| 75 | +- Or run manually via <strong>Actions</strong> tab → Select workflow → Click <strong>Run workflow</strong><br> |
61 | 76 | <br> |
62 | 77 | ---<br> |
63 | 78 | <br> |
64 | 79 | <b>SYSTEM REQUIREMENTS:</b><br> |
65 | 80 | <br> |
66 | | -- Runner: `ubuntu-latest`<br> |
| 81 | +- Runner: <code>ubuntu-latest</code><br> |
67 | 82 | - .NET 6 SDK is installed via script in workflow<br> |
68 | | -- `gh` CLI is already available on GitHub-hosted runners<br> |
| 83 | +- <code>gh</code> CLI is available by default on GitHub-hosted runners<br> |
69 | 84 | <br> |
70 | 85 | ---<br> |
71 | 86 | <br> |
72 | 87 | <b>OUTPUT:</b><br> |
73 | 88 | <br> |
74 | | -- Results are uploaded to **GitHub Code Scanning Alerts**<br> |
75 | | -- Optionally ingested into **Microsoft Defender for Cloud**<br> |
| 89 | +- Results are uploaded to <strong>GitHub Code Scanning Alerts</strong><br> |
| 90 | +- Optionally ingested into <strong>Microsoft Defender for Cloud if configured</strong><br> |
76 | 91 | <br> |
77 | 92 | ---<br> |
78 | 93 | <br> |
|
0 commit comments