Commit a390e26
authored
docs(security): add security assurance case and threat model for OSSF Silver (#259)
## Summary
Adds comprehensive security threat model documentation for OSSF Silver
badge compliance, aligned with GitHub's defensive architecture
principles.
Closes #244
## Changes
This PR adds **5 files**:
### Security Documentation
- **`docs/security/threat-model.md`** - Comprehensive threat model with
36 threats (STRIDE + AI-specific + RAI), 18+ controls, and MCP server
trust analysis
- **`docs/security/README.md`** - Security documentation index
- **`SECURITY.md`** - Added link to new security documentation
### Bug Fixes
- **`scripts/linting/Validate-MarkdownFrontmatter.ps1`** - Fixed
repo-relative path detection for template exclusion; updated comment
wording for clarity
- **`.github/workflows/pester-tests.yml`** - Updated Pester from 5.6.1
to 5.7.1 to resolve PSGallery availability issues
## Threat Model Highlights
- **36 identified threats** across STRIDE categories, AI/ML-specific
risks, and Responsible AI concerns
- **18+ security controls** mapped to threats with implementation
guidance
- **MCP server trust boundaries** - Analysis of ADO, GitHub, Microsoft
Docs, and Context7 integrations
- **Data flow diagrams** - Mermaid-based visualization of system
boundaries
## Testing
- ✅ All linting passes (`npm run lint`)
- ✅ All 338 Pester tests pass (`npm run test:ps`)
- ✅ Frontmatter validation passes with template exclusion fix1 parent d8337b8 commit a390e26
File tree
8 files changed
+989
-8
lines changed- .github/workflows
- docs/security
- scripts
- linting
- Modules
- tests/linting
8 files changed
+989
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
48 | 53 | | |
49 | 54 | | |
50 | 55 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
45 | | - | |
| 44 | + | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
56 | 60 | | |
57 | 61 | | |
58 | 62 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
617 | 617 | | |
618 | 618 | | |
619 | 619 | | |
| 620 | + | |
620 | 621 | | |
621 | 622 | | |
622 | | - | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
623 | 629 | | |
624 | 630 | | |
625 | 631 | | |
| |||
749 | 755 | | |
750 | 756 | | |
751 | 757 | | |
752 | | - | |
| 758 | + | |
753 | 759 | | |
754 | 760 | | |
755 | | - | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
756 | 765 | | |
757 | 766 | | |
758 | 767 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
16 | 19 | | |
17 | 20 | | |
18 | 21 | | |
| |||
41 | 44 | | |
42 | 45 | | |
43 | 46 | | |
| 47 | + | |
44 | 48 | | |
45 | | - | |
46 | 49 | | |
47 | 50 | | |
48 | 51 | | |
| |||
429 | 432 | | |
430 | 433 | | |
431 | 434 | | |
432 | | - | |
| 435 | + | |
433 | 436 | | |
434 | 437 | | |
435 | 438 | | |
| |||
731 | 734 | | |
732 | 735 | | |
733 | 736 | | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
734 | 743 | | |
735 | | - | |
| 744 | + | |
736 | 745 | | |
737 | 746 | | |
738 | 747 | | |
739 | 748 | | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
740 | 757 | | |
741 | 758 | | |
742 | 759 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
2 | 4 | | |
3 | 5 | | |
| 6 | + | |
4 | 7 | | |
5 | 8 | | |
| 9 | + | |
6 | 10 | | |
7 | 11 | | |
8 | 12 | | |
| |||
0 commit comments