Skip to content

Commit 93b69ff

Browse files
committed
fix(security): SHA-pin all GitHub Actions in ci.yml for OpenSSF compliance
- Pin dtolnay/rust-toolchain to SHA (was @stable) - Pin Swatinem/rust-cache to SHA (was @v2) - Pin actions/upload-artifact to v4.6.2 SHA (was @v6) - Update SECURITY.md with project-specific policy (was boilerplate) - Update STATE.scm with session history
1 parent cec59cf commit 93b69ff

File tree

3 files changed

+57
-23
lines changed

3 files changed

+57
-23
lines changed

.github/workflows/ci.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ jobs:
2121
contents: read
2222
steps:
2323
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
24-
- uses: dtolnay/rust-toolchain@stable
25-
- uses: Swatinem/rust-cache@v2
24+
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
25+
- uses: Swatinem/rust-cache@ad397744b0d591a723ab90405b7247fac0e6b8db # v2
2626
- run: cargo check --workspace
2727

2828
test:
@@ -32,8 +32,8 @@ jobs:
3232
contents: read
3333
steps:
3434
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
35-
- uses: dtolnay/rust-toolchain@stable
36-
- uses: Swatinem/rust-cache@v2
35+
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
36+
- uses: Swatinem/rust-cache@ad397744b0d591a723ab90405b7247fac0e6b8db # v2
3737
- run: cargo test --workspace
3838

3939
fmt:
@@ -43,7 +43,7 @@ jobs:
4343
contents: read
4444
steps:
4545
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
46-
- uses: dtolnay/rust-toolchain@stable
46+
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
4747
with:
4848
components: rustfmt
4949
- run: cargo fmt --all -- --check
@@ -55,10 +55,10 @@ jobs:
5555
contents: read
5656
steps:
5757
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
58-
- uses: dtolnay/rust-toolchain@stable
58+
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
5959
with:
6060
components: clippy
61-
- uses: Swatinem/rust-cache@v2
61+
- uses: Swatinem/rust-cache@ad397744b0d591a723ab90405b7247fac0e6b8db # v2
6262
- run: cargo clippy --workspace -- -D warnings
6363

6464
build:
@@ -68,10 +68,10 @@ jobs:
6868
contents: read
6969
steps:
7070
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
71-
- uses: dtolnay/rust-toolchain@stable
72-
- uses: Swatinem/rust-cache@v2
71+
- uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
72+
- uses: Swatinem/rust-cache@ad397744b0d591a723ab90405b7247fac0e6b8db # v2
7373
- run: cargo build --release --workspace
74-
- uses: actions/upload-artifact@v6
74+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
7575
with:
7676
name: conative-cli
7777
path: target/release/conative

SECURITY.md

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,45 @@
22

33
## Supported Versions
44

5-
Use this section to tell people about which versions of your project are
6-
currently being supported with security updates.
7-
85
| Version | Supported |
96
| ------- | ------------------ |
10-
| 5.1.x | :white_check_mark: |
11-
| 5.0.x | :x: |
12-
| 4.0.x | :white_check_mark: |
13-
| < 4.0 | :x: |
7+
| 0.1.x | :white_check_mark: |
8+
9+
## Security Measures
10+
11+
This project follows RSR (Rhodium Standard Repository) security practices:
12+
13+
- **SHA-pinned GitHub Actions**: All workflow actions use commit SHA pins for supply chain security
14+
- **SPDX License Headers**: All source files contain SPDX license identifiers
15+
- **OpenSSF Scorecard Compliance**: Continuous security monitoring via OSSF Scorecard
16+
- **CodeQL Analysis**: Automated static analysis for security vulnerabilities
17+
- **Dependency Scanning**: Automated alerts via Dependabot and cargo-audit
18+
- **No Weak Cryptography**: SHA256+ required for security purposes (no MD5/SHA1)
19+
- **HTTPS Only**: All external URLs must use HTTPS
1420

1521
## Reporting a Vulnerability
1622

17-
Use this section to tell people how to report a vulnerability.
23+
If you discover a security vulnerability, please report it responsibly:
24+
25+
1. **Do NOT** create a public GitHub issue for security vulnerabilities
26+
2. Email the maintainer at: jonathan.jewell@gmail.com
27+
3. Include:
28+
- Description of the vulnerability
29+
- Steps to reproduce
30+
- Potential impact assessment
31+
- Suggested fix (if any)
32+
33+
### Response Timeline
34+
35+
- **Initial Response**: Within 48 hours
36+
- **Triage**: Within 7 days
37+
- **Resolution**: Depending on severity
38+
- Critical: Within 7 days
39+
- High: Within 30 days
40+
- Medium/Low: Within 90 days
41+
42+
### Disclosure Policy
1843

19-
Tell them where to go, how often they can expect to get an update on a
20-
reported vulnerability, what to expect if the vulnerability is accepted or
21-
declined, etc.
44+
- We follow coordinated disclosure practices
45+
- Credit will be given to reporters in the security advisory (unless anonymity is requested)
46+
- Public disclosure after patch is released and users have reasonable time to update

STATE.scm

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
'((version . "0.1.0")
1616
(schema-version . "1.0")
1717
(created . "2025-12-15")
18-
(updated . "2025-12-15")
18+
(updated . "2025-12-17")
1919
(project . "conative-gating")
2020
(repo . "github.com/hyperpolymath/conative-gating")))
2121

@@ -151,6 +151,15 @@
151151

152152
(define session-history
153153
'((snapshots
154+
((date . "2025-12-17")
155+
(session . "scm-security-review")
156+
(accomplishments
157+
("SHA-pinned all actions in ci.yml (dtolnay/rust-toolchain, Swatinem/rust-cache, actions/upload-artifact)"
158+
"Updated SECURITY.md with project-specific policy (was boilerplate)"
159+
"Verified all SCM files (ECOSYSTEM.scm, META.scm, STATE.scm)"
160+
"Verified Nix flake configuration"
161+
"Full OpenSSF Scorecard Pinned-Dependencies compliance"))
162+
(notes . "Security audit and SCM review session"))
154163
((date . "2025-12-15")
155164
(session . "security-fixes")
156165
(accomplishments
@@ -197,6 +206,6 @@
197206
(next-milestone . "v0.2 - Core Functionality")
198207
(critical-blockers . 0)
199208
(high-priority-issues . 0)
200-
(updated . "2025-12-15")))
209+
(updated . "2025-12-17")))
201210

202211
;;; End of STATE.scm

0 commit comments

Comments
 (0)