Skip to content

Commit e22edd4

Browse files
fix(security): resolve security issues and update roadmap (#3)
- Remove template placeholder values from SECURITY.md - Update SPDX headers to dual-license (MIT OR AGPL-3.0-or-later) - SHA-pin GitHub Actions for RSR Gold compliance: - actions/checkout@8e8c483 (v6.0.1) - github/codeql-action/*@5d4e8d1 (v4.31.9) - Fix CodeQL workflow with proper matrix configuration - Add comprehensive roadmap to STATE.scm - Update project completion status and next actions Co-authored-by: Claude <noreply@anthropic.com>
1 parent 95d0bb0 commit e22edd4

6 files changed

Lines changed: 86 additions & 125 deletions

File tree

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SPDX-License-Identifier: AGPL-3.0-or-later
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
22
version: 2
33
updates:
44
- package-ecosystem: "github-actions"

.github/workflows/codeql.yml

Lines changed: 14 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
# For most projects, this workflow file will not need changing; you simply need
2-
# to commit it to your repository.
1+
# SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
2+
# CodeQL Advanced Analysis
33
#
4-
# You may wish to alter this file to override the set of languages analyzed,
5-
# or to provide custom queries or build logic.
6-
#
7-
# ******** NOTE ********
8-
# We have attempted to detect the languages in your repository. Please check
9-
# the `language` matrix defined below to confirm you have the correct set of
10-
# supported CodeQL languages.
4+
# This workflow runs CodeQL security analysis on the repository.
5+
# For documentation templates/standards repos, we analyze GitHub Actions.
116
#
127
name: "CodeQL Advanced"
138

@@ -22,76 +17,34 @@ on:
2217
jobs:
2318
analyze:
2419
name: Analyze (${{ matrix.language }})
25-
# Runner size impacts CodeQL analysis time. To learn more, please see:
26-
# - https://gh.io/recommended-hardware-resources-for-running-codeql
27-
# - https://gh.io/supported-runners-and-hardware-resources
28-
# - https://gh.io/using-larger-runners (GitHub.com only)
29-
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
30-
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
20+
runs-on: ubuntu-latest
3121
permissions:
32-
# required for all workflows
3322
security-events: write
34-
35-
# required to fetch internal or private CodeQL packs
3623
packages: read
37-
38-
# only required for workflows in private repositories
3924
actions: read
4025
contents: read
4126

4227
strategy:
4328
fail-fast: false
4429
matrix:
4530
include:
46-
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
47-
# Use `c-cpp` to analyze code written in C, C++ or both
48-
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
49-
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
50-
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
51-
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
52-
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
53-
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
31+
- language: actions
32+
build-mode: none
33+
5434
steps:
5535
- name: Checkout repository
56-
uses: actions/checkout@v6
36+
# SHA pinned for security (RSR Gold compliance)
37+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
5738

58-
# Add any setup steps before running the `github/codeql-action/init` action.
59-
# This includes steps like installing compilers or runtimes (`actions/setup-node`
60-
# or others). This is typically only required for manual builds.
61-
# - name: Setup runtime (example)
62-
# uses: actions/setup-example@v1
63-
64-
# Initializes the CodeQL tools for scanning.
6539
- name: Initialize CodeQL
66-
uses: github/codeql-action/init@v4
40+
# SHA pinned for security (RSR Gold compliance)
41+
uses: github/codeql-action/init@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
6742
with:
6843
languages: ${{ matrix.language }}
6944
build-mode: ${{ matrix.build-mode }}
70-
# If you wish to specify custom queries, you can do so here or in a config file.
71-
# By default, queries listed here will override any specified in a config file.
72-
# Prefix the list here with "+" to use these queries and those in the config file.
73-
74-
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
75-
# queries: security-extended,security-and-quality
76-
77-
# If the analyze step fails for one of the languages you are analyzing with
78-
# "We were unable to automatically build your code", modify the matrix above
79-
# to set the build mode to "manual" for that language. Then modify this step
80-
# to build your code.
81-
# ℹ️ Command-line programs to run using the OS shell.
82-
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
83-
- name: Run manual build steps
84-
if: matrix.build-mode == 'manual'
85-
shell: bash
86-
run: |
87-
echo 'If you are using a "manual" build mode for one or more of the' \
88-
'languages you are analyzing, replace this with the commands to build' \
89-
'your code, for example:'
90-
echo ' make bootstrap'
91-
echo ' make release'
92-
exit 1
9345

9446
- name: Perform CodeQL Analysis
95-
uses: github/codeql-action/analyze@v4
47+
# SHA pinned for security (RSR Gold compliance)
48+
uses: github/codeql-action/analyze@5d4e8d1aca955e8d8589aabd499c5cae939e33c7 # v4.31.9
9649
with:
9750
category: "/language:${{matrix.language}}"

ECOSYSTEM.scm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
;; SPDX-License-Identifier: AGPL-3.0-or-later
1+
;; SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
22
;; SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell
33
;; ECOSYSTEM.scm — standards
44

META.scm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
;; SPDX-License-Identifier: AGPL-3.0-or-later
1+
;; SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
22
;; SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell
33
;;; META.scm — standards
44

SECURITY.md

Lines changed: 10 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,5 @@
11
# Security Policy
22

3-
<!--
4-
============================================================================
5-
TEMPLATE INSTRUCTIONS (delete this block before publishing)
6-
============================================================================
7-
Replace all {{PLACEHOLDER}} values with your information:
8-
{{PROJECT_NAME}} - Your project name
9-
{{OWNER}} - GitHub username or org (e.g., hyperpolymath)
10-
{{REPO}} - Repository name
11-
{{SECURITY_EMAIL}} - Security contact email
12-
{{PGP_FINGERPRINT}} - Your PGP key fingerprint (40 chars, no spaces)
13-
{{PGP_KEY_URL}} - URL to your public PGP key
14-
{{WEBSITE}} - Your website/domain
15-
{{CURRENT_YEAR}} - Current year for copyright
16-
17-
Optional: Remove sections that don't apply (e.g., PGP if you don't use it)
18-
============================================================================
19-
-->
20-
213
We take security seriously. We appreciate your efforts to responsibly disclose vulnerabilities and will make every effort to acknowledge your contributions.
224

235
## Table of Contents
@@ -40,7 +22,7 @@ We take security seriously. We appreciate your efforts to responsibly disclose v
4022

4123
The preferred method for reporting security vulnerabilities is through GitHub's Security Advisory feature:
4224

43-
1. Navigate to [Report a Vulnerability](https://github.com/{{OWNER}}/{{REPO}}/security/advisories/new)
25+
1. Navigate to [Report a Vulnerability](https://github.com/hyperpolymath/standards/security/advisories/new)
4426
2. Click **"Report a vulnerability"**
4527
3. Complete the form with as much detail as possible
4628
4. Submit — we'll receive a private notification
@@ -52,27 +34,6 @@ This method ensures:
5234
- Coordinated disclosure tooling
5335
- Automatic credit when the advisory is published
5436

55-
### Alternative: Encrypted Email
56-
57-
If you cannot use GitHub Security Advisories, you may email us directly:
58-
59-
| | |
60-
|---|---|
61-
| **Email** | {{SECURITY_EMAIL}} |
62-
| **PGP Key** | [Download Public Key]({{PGP_KEY_URL}}) |
63-
| **Fingerprint** | `{{PGP_FINGERPRINT}}` |
64-
65-
```bash
66-
# Import our PGP key
67-
curl -sSL {{PGP_KEY_URL}} | gpg --import
68-
69-
# Verify fingerprint
70-
gpg --fingerprint {{SECURITY_EMAIL}}
71-
72-
# Encrypt your report
73-
gpg --armor --encrypt --recipient {{SECURITY_EMAIL}} report.txt
74-
```
75-
7637
> **⚠️ Important:** Do not report security vulnerabilities through public GitHub issues, pull requests, discussions, or social media.
7738
7839
---
@@ -203,7 +164,7 @@ If we cannot reach agreement on disclosure timing, we default to 90 days from yo
203164

204165
The following are within scope for security research:
205166

206-
- This repository (`{{OWNER}}/{{REPO}}`) and all its code
167+
- This repository (`hyperpolymath/standards`) and all its code
207168
- Official releases and packages published from this repository
208169
- Documentation that could lead to security issues
209170
- Build and deployment configurations in this repository
@@ -322,7 +283,7 @@ Recognition includes:
322283
To stay informed about security updates:
323284

324285
- **Watch this repository**: Click "Watch" → "Custom" → Select "Security alerts"
325-
- **GitHub Security Advisories**: Published at [Security Advisories](https://github.com/{{OWNER}}/{{REPO}}/security/advisories)
286+
- **GitHub Security Advisories**: Published at [Security Advisories](https://github.com/hyperpolymath/standards/security/advisories)
326287
- **Release notes**: Security fixes noted in [CHANGELOG](CHANGELOG.md)
327288

328289
### Update Policy
@@ -348,7 +309,7 @@ To stay informed about security updates:
348309

349310
## Security Best Practices
350311

351-
When using {{PROJECT_NAME}}, we recommend:
312+
When using this project, we recommend:
352313

353314
### General
354315

@@ -370,8 +331,7 @@ When using {{PROJECT_NAME}}, we recommend:
370331

371332
## Additional Resources
372333

373-
- [Our PGP Public Key]({{PGP_KEY_URL}})
374-
- [Security Advisories](https://github.com/{{OWNER}}/{{REPO}}/security/advisories)
334+
- [Security Advisories](https://github.com/hyperpolymath/standards/security/advisories)
375335
- [Changelog](CHANGELOG.md)
376336
- [Contributing Guidelines](CONTRIBUTING.md)
377337
- [CVE Database](https://cve.mitre.org/)
@@ -383,9 +343,9 @@ When using {{PROJECT_NAME}}, we recommend:
383343

384344
| Purpose | Contact |
385345
|---------|---------|
386-
| **Security issues** | [Report via GitHub](https://github.com/{{OWNER}}/{{REPO}}/security/advisories/new) or {{SECURITY_EMAIL}} |
387-
| **General questions** | [GitHub Discussions](https://github.com/{{OWNER}}/{{REPO}}/discussions) |
388-
| **Other enquiries** | See [README](README.md) for contact information |
346+
| **Security issues** | [Report via GitHub](https://github.com/hyperpolymath/standards/security/advisories/new) |
347+
| **General questions** | [GitHub Discussions](https://github.com/hyperpolymath/standards/discussions) |
348+
| **Other enquiries** | See [README](README.adoc) for contact information |
389349

390350
---
391351

@@ -399,8 +359,8 @@ This security policy may be updated from time to time. Significant changes will
399359

400360
---
401361

402-
*Thank you for helping keep {{PROJECT_NAME}} and its users safe.* 🛡️
362+
*Thank you for helping keep this project and its users safe.*
403363

404364
---
405365

406-
<sub>Last updated: {{CURRENT_YEAR}} · Policy version: 1.0.0</sub>
366+
<sub>Last updated: 2025 · Policy version: 1.0.0</sub>

STATE.scm

Lines changed: 59 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,85 @@
1-
;; SPDX-License-Identifier: AGPL-3.0-or-later
1+
;; SPDX-License-Identifier: MIT OR AGPL-3.0-or-later
22
;; SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell
33
;;; STATE.scm — standards
44

55
(define-module (standards state)
6-
#:export (metadata project-context current-position critical-next-actions))
6+
#:export (metadata project-context current-position critical-next-actions roadmap))
77

88
(define metadata
9-
'((version . "1.0.0")
9+
'((version . "1.1.0")
1010
(schema-version . "1.0")
1111
(created . "2025-12-15")
12-
(updated . "2025-12-15")
12+
(updated . "2025-12-17")
1313
(project . "standards")
1414
(repo . "hyperpolymath/standards")))
1515

1616
(define project-context
1717
'((name . "standards")
1818
(tagline . "Hyperpolymath ecosystem standards and templates")
19-
(tech-stack . ("Documentation" "Templates"))))
19+
(tech-stack . ("Documentation" "Templates" "GitHub Actions"))))
2020

2121
(define current-position
2222
'((phase . "stable")
23-
(overall-completion . 100)
23+
(overall-completion . 90)
2424
(components
2525
((name . "Community files") (status . "complete"))
2626
((name . "License") (status . "complete"))
27-
((name . "Security policy") (status . "complete")))
27+
((name . "Security policy") (status . "complete"))
28+
((name . "SCM metadata") (status . "complete"))
29+
((name . "CI/CD workflows") (status . "complete"))
30+
((name . "README documentation") (status . "pending")))
2831
(working-features
2932
("CODE_OF_CONDUCT.md"
3033
"CONTRIBUTING.md"
3134
"SECURITY.md"
32-
"LICENSE.txt"))))
35+
"LICENSE.txt"
36+
"META.scm"
37+
"ECOSYSTEM.scm"
38+
"STATE.scm"
39+
".github/workflows/codeql.yml"
40+
".github/dependabot.yml"))))
3341

3442
(define critical-next-actions
35-
'((immediate . ())
36-
(this-week . ())
37-
(this-month . ())))
43+
'((immediate
44+
("Add README.adoc content with project overview"))
45+
(this-week
46+
("Add CHANGELOG.md for version tracking"
47+
"Add issue templates for bug reports and features"))
48+
(this-month
49+
("Create template validation CI workflow"
50+
"Add security acknowledgments file"))))
51+
52+
(define roadmap
53+
'((phase-1
54+
(name . "Foundation Complete")
55+
(status . "done")
56+
(items
57+
("Community standards files"
58+
"Dual MIT/AGPL licensing"
59+
"Security policy"
60+
"SCM metadata files"
61+
"SHA-pinned GitHub Actions")))
62+
63+
(phase-2
64+
(name . "Documentation Enhancement")
65+
(status . "in-progress")
66+
(items
67+
("README.adoc with full project documentation"
68+
"CHANGELOG.md for release tracking"
69+
"Template usage guide")))
70+
71+
(phase-3
72+
(name . "Automation")
73+
(status . "planned")
74+
(items
75+
("Template validation workflow"
76+
"Automatic version bumping"
77+
"Release automation")))
78+
79+
(phase-4
80+
(name . "Ecosystem Integration")
81+
(status . "planned")
82+
(items
83+
("Cross-repository template synchronization"
84+
"RSR compliance checker integration"
85+
"Automated security scanning reports")))))

0 commit comments

Comments
 (0)