-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
security fixes and openssf best practice setup
- Loading branch information
Showing
10 changed files
with
137 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: "CodeQL Advanced" | ||
|
||
on: | ||
push: | ||
branches: ["main"] | ||
pull_request: | ||
branches: ["main"] | ||
schedule: | ||
- cron: "28 19 * * 0" | ||
|
||
jobs: | ||
analyze: | ||
name: Analyze (${{ matrix.language }}) | ||
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} | ||
permissions: | ||
security-events: write | ||
packages: read | ||
actions: read | ||
contents: read | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- language: go | ||
build-mode: autobuild | ||
- language: javascript-typescript | ||
build-mode: none | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
|
||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0 | ||
with: | ||
languages: ${{ matrix.language }} | ||
build-mode: ${{ matrix.build-mode }} | ||
|
||
- if: matrix.build-mode == 'manual' | ||
shell: bash | ||
run: | | ||
echo 'If you are using a "manual" build mode for one or more of the' \ | ||
'languages you are analyzing, replace this with the commands to build' \ | ||
'your code, for example:' | ||
echo ' make bootstrap' | ||
echo ' make release' | ||
exit 1 | ||
- name: CodeQL Analysis | ||
uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0 | ||
with: | ||
category: "/language:${{matrix.language}}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Security Policy | ||
|
||
## Supported Versions | ||
|
||
The pal project is currently under active development. The following table provides information about the status of each release branch: | ||
|
||
| Version | Supported | | ||
| ----------- | ------------------ | | ||
| `v2025.*.*` | :heavy_check_mark: | | ||
|
||
**Note:** We only provide security updates for the current year CalVer releases or the latest release. Older versions/release branches are not actively supported. | ||
|
||
## Reporting a Vulnerability | ||
|
||
**DO NOT CREATE A PUBLIC GITHUB ISSUE FOR SECURITY VULNERABILITIES.** | ||
|
||
Instead, please report any security vulnerabilities directly to GitHub Advisories on the pal GitHub page here: https://github.com/marshyski/pal/security/advisories/new | ||
|
||
**When reporting a vulnerability, please provide the following information:** | ||
|
||
- **Description:** A clear and concise description of the vulnerability. | ||
- **Steps to Reproduce:** Detailed steps to reproduce the vulnerability, including any necessary code snippets, environment setup, or specific inputs. | ||
- **Affected Version(s):** The version(s) of the project affected by the vulnerability (if known). | ||
- **Potential Impact:** An assessment of the potential impact of the vulnerability. | ||
- **Possible Mitigation:** If you have any suggestions for mitigating the vulnerability, please include them. | ||
|
||
**Vulnerability Handling Process:** | ||
|
||
1. **Acknowledgement:** We will acknowledge your report within 48 hours. | ||
2. **Verification:** We will investigate and verify the reported vulnerability. | ||
3. **Fix Development:** If the vulnerability is confirmed, we will develop a fix as soon as possible. | ||
4. **Release:** We will release a new version of the project that includes the fix. | ||
5. **Disclosure:** We will publicly disclose the vulnerability after the fix has been released. We will credit you for the discovery (unless you prefer to remain anonymous). | ||
|
||
**We kindly request that you refrain from publicly disclosing the vulnerability until we have had sufficient time to address it and release a fix.** | ||
|
||
## Security Best Practices | ||
|
||
This project uses Go (Golang) for the backend and JavaScript for the frontend. We strive to follow security best practices for both languages: | ||
|
||
**Go (Golang):** | ||
|
||
- **Dependency Management:** We use Go modules to manage dependencies and keep them up-to-date. Dependabot is used for automated dependency updates. | ||
- **Input Validation:** All user inputs are carefully validated and sanitized to prevent common vulnerabilities like Cross-Site Scripting (XSS), SQL injection, and command injection. | ||
- **Secure Coding Practices:** We adhere to secure coding guidelines for Go, including those outlined in the [OWASP Secure Coding Practices Quick Reference Guide](https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/migrated_content) | ||
- **Error Handling:** Proper error handling is implemented to avoid leaking sensitive information. | ||
- **Cryptography:** We use strong, well-established cryptographic libraries (e.g., Go's `crypto` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters