diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml new file mode 100644 index 0000000..a7e3899 --- /dev/null +++ b/.github/workflows/security.yml @@ -0,0 +1,52 @@ +name: Security + +on: + push: + branches: + - main + - dev + + pull_request: + branches: + - dev + - main + +env: + SCAN_PYTHON_VERSION: '3.9' + +permissions: + contents: read + +jobs: + codeql: + name: CodeQL (SAST) + runs-on: ubuntu-22.04 + permissions: + security-events: write + actions: read + contents: read + steps: + - uses: actions/checkout@v4 + - name: Set up Python ${{ env.SCAN_PYTHON_VERSION }} + uses: actions/setup-python@v5 + with: + python-version: ${{ env.SCAN_PYTHON_VERSION }} + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: python + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + + dependency-review: + name: Dependency Review (SCA) + runs-on: ubuntu-22.04 + # dependency-review-action requires a PR base ref to diff against + if: github.event_name == 'pull_request' + permissions: + contents: read + pull-requests: write + steps: + - uses: actions/checkout@v4 + - name: Dependency Review + uses: actions/dependency-review-action@v4 diff --git a/CHANGELOG.md b/CHANGELOG.md index be07abe..1bd6044 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- CodeQL (SAST) scan +- Dependency Review (SCA) scan ## [0.8] - 2026-05-27 ### Changed - `upload` method in `uploader.py`