Commit Graph

48 Commits

Author SHA1 Message Date
dependabot[bot]
649ead1079 chore(deps): bump github/codeql-action from 4.35.3 to 4.35.4 (#3919)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.3 to 4.35.4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](e46ed2cbd0...68bde559de)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-09 14:43:47 +02:00
dependabot[bot]
56290b15c0 chore(deps): bump step-security/harden-runner from 2.19.0 to 2.19.1 (#3811)
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.19.0 to 2.19.1.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](8d3c67de8e...a5ad31d6a1)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.19.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-06 08:01:44 +02:00
dependabot[bot]
dee75bd2a5 chore(deps): bump github/codeql-action from 4.35.2 to 4.35.3 (#3815)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.2 to 4.35.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](95e58e9a2c...e46ed2cbd0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-06 08:00:42 +02:00
dependabot[bot]
4e84f302b4 chore(deps): bump step-security/harden-runner from 2.17.0 to 2.19.0 (#3690)
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.17.0 to 2.19.0.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](f808768d15...8d3c67de8e)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.19.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-27 18:47:05 +02:00
LearningCircuit
54ccb0736c docs(ci): add concurrency-omission rationale to workflow files (#3600)
Documents why no concurrency group is set in 22 PR-triggered workflows,
preventing well-meaning re-addition without addressing the underlying
trigger-interaction issue.

Two comment variants:
- workflow_call workflows (12): dual-trigger conflict — direct PR runs
  and ci-gate/release-gate-called runs would share a key and cancel
  each other mid-flight.
- PR-only workflows (10): cancel-in-progress was too aggressive,
  killing runs before they produced useful results. Scheduled/push-only
  triggers are safe candidates for future concurrency.

Ref #3554 (reverted in #3599).
2026-04-23 23:28:42 +02:00
LearningCircuit
4b3a3fad4f Revert "perf(ci): cancel in-progress runs on PR workflows (#3554)" (#3599)
This reverts commit eb6c1ef8fd.
2026-04-23 00:51:48 +02:00
LearningCircuit
eb6c1ef8fd perf(ci): cancel in-progress runs on PR workflows (#3554)
Adds a `concurrency:` block to 22 PR-triggered workflows so that
successive pushes to the same PR cancel the previous run instead
of queueing. Previously only 2/55 workflows had concurrency
groups, meaning every push-push iteration doubled Actions minutes.

The group key uses `${{ github.head_ref || github.run_id }}`:
- On PR events, `head_ref` is the source branch — pushes to the
  same PR share a group → second run cancels the first.
- On push/release/schedule events, `head_ref` is empty and falls
  back to `run_id` (unique per run) — each run gets its own group
  and is never cancelled.

This makes the pattern safe for workflows like
`backwards-compatibility.yml` that run on both PR and push:main —
main-branch signal is preserved, only PR-iteration runs are
cancellable.

Excluded by design:
- release.yml / publish.yml / docker-publish.yml — release
  pipelines; mid-publish cancellation is destructive.
- ci-gate.yml / release-gate.yml — `workflow_call`-only,
  cancellation propagates badly through nested workflows.
- dependency-review.yml — already has a concurrency block.
2026-04-21 23:59:43 +02:00
dependabot[bot]
4d6295650a chore(deps): bump github/codeql-action from 4.35.1 to 4.35.2 (#3566)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.1 to 4.35.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](c10b8064de...95e58e9a2c)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-21 23:25:29 +02:00
dependabot[bot]
4761d38e65 chore(deps): bump step-security/harden-runner from 2.16.0 to 2.17.0 (#3466)
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.16.0 to 2.17.0.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](fa2e9d605c...f808768d15)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: LearningCircuit <185559241+LearningCircuit@users.noreply.github.com>
2026-04-14 21:13:14 +02:00
dependabot[bot]
f4cc373b84 chore(deps): bump github/codeql-action from 4.33.0 to 4.35.1 (#3302)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.33.0 to 4.35.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b1bff81932...c10b8064de)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: LearningCircuit <185559241+LearningCircuit@users.noreply.github.com>
2026-04-03 09:03:25 +02:00
LearningCircuit
035f89d906 ci: add timeout-minutes to security scan workflows (#2916)
All security scan workflows relied on GitHub's default 360-min timeout,
meaning a hung scan could block releases for 6 hours.

Added explicit timeouts:
- SAST scans (codeql, semgrep, bearer, devskim): 30 min
- Container scans (container-security, grype): 30 min
- DAST scans (owasp-zap): 45 min, (nuclei): 40 min
- Other (gitleaks, zizmor): 30 min
- Docker multiarch build: 60 min, summary: 5 min

Workflows that already had timeouts (checkov: 10, dockle: 30,
npm-audit: 10, retirejs: 15, security-headers: 15, security-tests: 25)
are unchanged.
2026-03-21 14:52:30 +01:00
dependabot[bot]
9fc0c79a75 chore(deps): bump github/codeql-action from 4.31.11 to 4.32.6 (#2807)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.11 to 4.32.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.31.11...0d579ffd059c29b07949a3cce3983f0780820c98)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.32.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-18 00:31:33 +00:00
LearningCircuit
03c39d73f3 fix: bump step-security/harden-runner v2.15.1 → v2.16.0 across all workflows (#2827)
Updates the pinned SHA from 58077d3c7e43986b6b15fba718e8ea69e387dfcc
(v2.15.1) to fa2e9d605c4eeb9fcad4c99c224cee0c6c7f3594 (v2.16.0) in all
53 workflow files (79 occurrences).

Resolves all 158 zizmor known-vulnerable-actions code scanning alerts.
2026-03-17 23:34:00 +01:00
dependabot[bot]
355e5c3898 chore(deps): bump step-security/harden-runner from 2.14.2 to 2.15.1 (#2635)
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.14.2 to 2.15.1.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](5ef0c079ce...58077d3c7e)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.15.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-09 17:58:32 +01:00
LearningCircuit
a71e96b020 refactor(ci): consolidate security + test gates into unified release gate (#2226)
Merge the separate security-gate, test-gate (Playwright WebKit), and
e2e-test-gate (Puppeteer) jobs from release.yml into a single
release-gate.yml workflow. All checks are now blocking — no more
advisory-only gates that silently pass on failure.

Key changes:
- Rename security-release-gate.yml → release-gate.yml
- Add playwright-webkit-tests job to the unified gate
- Add secrets declaration (OPENROUTER_API_KEY, SERPER_API_KEY)
- Remove test-gate and e2e-test-gate jobs from release.yml
- Update build job to depend only on release-gate
- Update all 19 child workflow comments to reference release-gate.yml
- Update README badge URL
2026-02-15 18:16:44 +01:00
dependabot[bot]
648de89b4e chore(deps): bump step-security/harden-runner from 2.14.1 to 2.14.2 (#2126)
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.14.1 to 2.14.2.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](e3f713f2d8...5ef0c079ce)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.14.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: LearningCircuit <185559241+LearningCircuit@users.noreply.github.com>
2026-02-10 20:13:05 +01:00
LearningCircuit
aa22ca176f ci: add PR trigger for CodeQL scanning (#1911)
Add push and pull_request triggers to catch security vulnerabilities
before they're merged to main, rather than only at release time.

This provides shift-left security - vulnerabilities like path injection
(CWE-22) will now be flagged during PR review instead of being
discovered days later by scheduled scans.
2026-02-03 07:35:53 +01:00
dependabot[bot]
322c77774c chore(deps): bump step-security/harden-runner from 2.13.3 to 2.14.1 (#1903)
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.13.3 to 2.14.1.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](https://github.com/step-security/harden-runner/compare/v2.13.3...e3f713f2d8f53843e71c69a996d56f51aa9adfb9)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.14.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 11:59:16 +01:00
dependabot[bot]
7ca34d53e5 chore(deps): bump github/codeql-action from 3 to 4 (#1904)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-02 08:35:29 +01:00
LearningCircuit
3b7685e85e Merge pull request #1804 from LearningCircuit/dependabot/github_actions/github/codeql-action-4.31.11
chore(deps): bump github/codeql-action from 4.31.2 to 4.31.11
2026-01-26 09:08:50 +01:00
dependabot[bot]
ead81db4cc chore(deps): bump github/codeql-action from 4.31.2 to 4.31.11
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.31.2 to 4.31.11.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.31.2...19b2f06db2b6f5108140aeb04014ef02b648f789)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 04:18:08 +00:00
dependabot[bot]
8323975937 chore(deps): bump actions/checkout from 6.0.1 to 6.0.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](8e8c483db8...de0fac2e45)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-26 04:16:57 +00:00
LearningCircuit
24368b985d Remove push triggers from security workflows
Security workflows were running on every push to main, causing GitHub
Actions rate limiting. Per the security gate philosophy, these scans
should run at the release gate (via workflow_call) rather than on every
push - vulnerabilities can be fixed before release.

Removed push triggers from:
- codeql.yml (was: push to main/dev)
- devskim.yml (was: push to main/dev)
- bearer.yml (was: push to main/dev)
- zizmor-security.yml (was: push with workflow path filter)
- hadolint.yml (was: push with Dockerfile path filter)
- checkov.yml (was: push with Docker/IaC path filter)
- npm-audit.yml (was: push with package.json path filter)
- retirejs.yml (was: push with JS/TS path filter)

Preserved:
- workflow_call triggers (for security-release-gate integration)
- workflow_dispatch triggers (for manual runs)
- schedule triggers (for early warning and compliance audit trail)
- gitleaks push trigger (secrets in main = permanent exposure)
2026-01-25 11:37:10 +01:00
LearningCircuit
7587e8f050 ci: consolidate security scans to release gate only
Move most security scans from PR-level to release gate only to reduce
PR CI time while maintaining release security.

Philosophy:
- Secrets (gitleaks) remain on PRs - secrets in main = permanent exposure
- All other scans run at release gate - issues can be fixed before release

Changes:
- Remove pull_request triggers from: codeql, checkov, devskim, hadolint,
  zizmor-security, retirejs, npm-audit, osv-scanner
- Add workflow_call to all security workflows for release gate integration
- Update security-release-gate.yml to call 14 security scans in parallel:
  - Core: security-tests, semgrep, container-security, owasp-zap
  - SAST: codeql, devskim
  - Dependencies: osv-scanner, npm-audit, retirejs
  - Container/IaC: dockle, hadolint, checkov
  - Workflow: zizmor
  - Secrets: gitleaks
- Keep dependency-review on PRs only (requires PR context to compare changes)

Benefits:
- Faster PR CI (only gitleaks + non-security checks run)
- Same security coverage at release time
- All scans run in parallel (~25-30 min total)
2026-01-24 13:18:55 +01:00
LearningCircuit
67e0ea5adf fix(ci): resolve checkov hash pinning and codeql-action impostor-commit issues
- Remove --require-hashes from checkov pip install (fails due to transitive dependencies)
- Update codeql-action hash from tag object (32f7c15...) to actual commit (0499de3...)
  in 8 workflows to resolve zizmor impostor-commit security alerts
2026-01-21 23:09:27 +01:00
dependabot[bot]
92c2c3750b chore(deps): bump step-security/harden-runner from 2.13.3 to 2.14.0
Bumps [step-security/harden-runner](https://github.com/step-security/harden-runner) from 2.13.3 to 2.14.0.
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](df199fb7be...20cf305ff2)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-version: 2.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-05 04:22:18 +00:00
dependabot[bot]
82b9dcef9b chore(deps): bump actions/checkout from 5.0.0 to 6.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...8e8c483db84b4bee98b60c0593521ed34d9990e8)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-29 04:20:06 +00:00
StepSecurity Bot
c14d216549 [StepSecurity] ci: Harden GitHub Actions
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
2025-12-14 18:01:21 +01:00
LearningCircuit
293393ac16 security: add persist-credentials: false to all checkout actions
This prevents Git credentials from being persisted in the checkout
directory, which could leak into artifacts (artipacked vulnerability).

Fixes zizmor/artipacked security alerts.
2025-12-08 02:46:24 +01:00
LearningCircuit
0d26c46c8a Merge dev into sync-main-to-dev - resolve conflicts
Resolved conflicts:
- .gitleaks.toml: Combined regex patterns from both branches, added path allowlists
- pyproject.toml: Kept updated versions from dev + added hypothesis from main
- __version__.py: Keep 1.3.0 from dev
- news.js: Removed duplicate toggleExpanded function (already exists at line 1291)
- pdm.lock: Regenerated with pdm lock
2025-11-29 19:36:36 +01:00
LearningCircuit
5c8ff0cb70 fix: improve OSSF Scorecard scores for Signed-Releases and Token-Permissions
Signed-Releases (currently 0 -> target 10):
- Add SLSA provenance generation using slsa-github-generator
- Restructure release.yml to generate provenance.intoto.jsonl files
- Future releases will include SLSA3 provenance attestations

Token-Permissions (currently 0 -> target 10):
- Set permissions: {} at workflow level across 16 workflows
- Move write permissions to job level only where needed
- Follows principle of least privilege for GitHub Actions

Updated workflows:
- ai-code-reviewer.yml
- checkov.yml
- codeql.yml
- container-security.yml
- danger-zone-alert.yml
- dependency-review.yml
- devskim.yml
- docker-publish.yml
- gitleaks.yml
- hadolint.yml
- label-fixed-in-dev.yml
- osv-scanner.yml
- publish.yml
- release.yml
- retirejs.yml
- semgrep.yml
2025-11-29 00:10:29 +01:00
LearningCircuit
e8e07709b7 fix: add job-level permissions to workflows for OSSF Scorecard compliance 2025-11-27 20:20:29 +01:00
LearningCircuit
10b063a81e fix: Resolve merge conflicts between main and dev
- Take dev version for __version__.py (1.3.0)
- Take dev version for package.json (updated deps & scripts)
- Combine best of both for ui.js (ldr- prefix + textContent for security)
2025-11-27 01:02:56 +01:00
dependabot[bot]
dc363d69cf chore(deps): bump actions/checkout from 5.0.0 to 6.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-25 21:03:47 +00:00
LearningCircuit
082906fc2e Merge dev and address djpetti's PR feedback
Merge changes from dev branch and implement djpetti's code review feedback:

Code improvements:
- Add enums for extraction fields (ExtractionMethod, ExtractionSource, ExtractionQuality)
- Add DownloadStatus enum for download management
- Add RAG config enums (DistanceMetric, IndexType, SplitterType)
- Extract duplicated password store code to helper function
- Remove excessive verification query in library_rag_service.py
- Add warning log for JSON decode errors in rag_routes.py
- Centralize User-Agent string in base downloader
- Remove redundant logging prefixes ([RESOURCE_FILTER], [LIBRARY_ROUTES])
- Refactor raw SQL SELECT/UPDATE to ORM queries where possible
- Add encryption warning to download_pdfs setting description
2025-11-24 23:35:16 +01:00
Daniel Petti
af300c397a Merge branch 'main' into fix/workflow-token-permissions 2025-11-24 15:29:01 -05:00
LearningCircuit
ee691428c5 fix: Pin all remaining GitHub Actions to commit SHAs (comprehensive supply chain security) (#1122)
* fix: Pin all remaining GitHub Actions to commit SHAs for supply chain security

Comprehensive follow-up to PR #1118. Pins 163 GitHub Action references
across 39 workflow files to immutable commit SHAs.

## Problem

After PR #1118 addressed 14 OpenSSF Scorecard alerts by pinning actions
in 9 critical workflow files, 32 additional workflow files remained with
mutable version tag references, still posing supply chain security risks.

## Solution

Pinned all remaining unpinned GitHub Actions to their commit SHAs while
preserving version information in comments for maintainability.

### Actions Pinned (25 unique action@version combinations):

**Core Actions:**
- actions/cache@v4
- actions/checkout@v5.0.0
- actions/download-artifact@v6
- actions/github-script@v8
- actions/setup-node@v6
- actions/setup-python@v6
- actions/upload-artifact@v5.0.0

**Security & Quality Actions:**
- ossf/scorecard-action@v2.4.3
- github/codeql-action/*@v4.31.2 (init, analyze, upload-sarif)
- github/ossar-action@v1
- aquasecurity/trivy-action@master
- gitleaks/gitleaks-action@v2
- hadolint/hadolint-action@v3.3.0
- microsoft/DevSkim-Action@v1.0.16
- codecov/codecov-action@v5
- pre-commit/action@v3.0.1

**Docker Actions:**
- docker/build-push-action@v6
- docker/login-action@v3
- docker/metadata-action@v5
- docker/setup-buildx-action@v3

**Tooling Actions:**
- pdm-project/setup-pdm@v4
- peter-evans/create-pull-request@v7
- pypa/gh-action-pypi-publish@release/v1

## Changes

- **39 workflow files updated** across all CI/CD pipelines
- **163 total action references pinned** to commit SHAs
- All SHAs verified against source repositories via GitHub API
- Version comments preserved for Dependabot compatibility

### Workflow Coverage:

Updated workflows include:
- Core testing: tests.yml, ui-tests.yml, api-tests.yml
- Security scanning: ossf-scorecard.yml, codeql.yml, container-security.yml,
  security-tests.yml, gitleaks.yml, devskim.yml, ossar.yml
- Performance & specialized tests: llm-tests.yml, performance-tests.yml,
  accessibility-compliance-tests.yml
- Publishing: docker-publish.yml, publish.yml, release.yml
- Automation: update-*.yml, sync-main-to-dev.yml
- And 15 more workflow files

## Security Impact

 Eliminates supply chain attack surface from mutable action tags
 Ensures reproducible builds across all CI/CD workflows
 Prevents unauthorized modifications to action code
 Follows OpenSSF Scorecard and GitHub security best practices
 Complete coverage - all GitHub Actions now SHA-pinned

## Maintainability

- Version comments enable Dependabot to detect and update pinned SHAs
- Dependabot already configured in .github/dependabot.yml
- No functional changes to any workflows
- Format consistent with PR #1118

## Verification

All SHAs verified correct via GitHub API:
```bash
# Example verifications:
gh api repos/actions/checkout/git/ref/tags/v5.0.0
gh api repos/github/codeql-action/git/ref/tags/v4.31.2
gh api repos/ossf/scorecard-action/git/ref/tags/v2.4.3
```

* chore: auto-bump version to 1.2.18

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Daniel Petti <djpetti@gmail.com>
2025-11-24 19:44:43 +00:00
LearningCircuit
bfd54d0ca2 fix: Remove redundant job-level permissions in 7 security workflows
Resolves 7 OSSF Scorecard HIGH severity alerts for token permissions.

## Changes

### Workflows Fixed:
1. codeql.yml - Removed job-level permissions, added packages:read and actions:read to top-level
2. container-security.yml - Removed job-level permissions from both jobs, added actions:read to top-level
3. devskim.yml - Removed job-level permissions, added actions:read to top-level
4. docker-publish.yml - Removed packages:write (not needed for Docker Hub)
5. gitleaks.yml - Removed job-level permissions, added actions:read to top-level
6. hadolint.yml - Removed job-level permissions, added pull-requests:write to top-level
7. semgrep.yml - Removed job-level permissions, added actions:read to top-level

## Problem

OSSF Scorecard flagged these workflows for having both top-level and job-level
permissions declarations. This pattern can lead to:
- Permission confusion and misconfiguration
- Potential privilege escalation if not carefully managed
- Violation of principle of least privilege best practices

## Solution

- Consolidated all required permissions at the top-level only
- Removed redundant job-level permission blocks
- Added necessary permissions (actions:read, packages:read, pull-requests:write) to top-level where needed
- Reduced docker-publish.yml from packages:write to contents:read (only publishing to Docker Hub, not GHCR)
- Added explanatory comments for each permission

## Security Impact

 Resolves 7 OSSF Scorecard HIGH severity alerts
 Implements principle of least privilege
 Reduces permission confusion across workflows
 Maintains all necessary functionality
 Consistent with GitHub security best practices

## Testing

- All workflows maintain same functionality with centralized permissions
- No changes to actual workflow logic or steps
- Permissions properly scoped to minimum requirements
2025-11-24 20:29:13 +01:00
LearningCircuit
3322775f01 fix: Add top-level permissions to 5 additional workflow files
Adds top-level permissions blocks to workflow files that previously
only had job-level permissions. OpenSSF Scorecard requires BOTH
top-level (restrictive) and job-level (specific) permissions.

Files Updated:
- label-fixed-in-dev.yml - Added issues: write, pull-requests: read
- publish.yml - Added contents: read, id-token: write
- ai-code-reviewer.yml - Added contents: read, pull-requests: write, issues: write
- release.yml - Added contents: write, pull-requests: read
- update-precommit-hooks.yml - Added contents: write, pull-requests: write

This completes the fix for remaining Token-Permissions alerts.
2025-11-23 20:13:21 +01:00
LearningCircuit
f46be618d7 Merge dev branch into feature/document-scheduler-integration
Resolved conflicts:
- .gitleaks.toml: Merged commit allowlists from both branches
- pdm.lock: Accepted dev version (lock files should be regenerated)
- src/local_deep_research/security/file_write_verifier.py: Accepted dev version with settings_snapshot approach
2025-11-20 23:44:18 +01:00
LearningCircuit
d08ffce7c4 Merge pull request #1046 from LearningCircuit/dependabot/github_actions/github/codeql-action-4.31.2
chore(deps): bump github/codeql-action from 3.31.2 to 4.31.2
2025-11-11 22:10:54 +01:00
dependabot[bot]
ee8abb34e2 chore(deps): bump github/codeql-action from 3.31.2 to 4.31.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.31.2 to 4.31.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Commits](https://github.com/github/codeql-action/compare/v3.31.2...v4.31.2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.31.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 04:26:32 +00:00
dependabot[bot]
12680b046a chore(deps): bump actions/checkout from 4.2.2 to 5.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Commits](https://github.com/actions/checkout/compare/v4.2.2...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 04:25:41 +00:00
LearningCircuit
a5c086edb4 fix: suppress CodeQL false positive for verified file writes
- Add CodeQL configuration to exclude file_write_verifier.py from clear-text storage alerts
- This is a security-verified utility that only writes after authorization checks
- Update CodeQL workflow to use the configuration file
2025-10-25 16:54:59 +02:00
dependabot[bot]
5fbd39a06d chore(deps): bump github/codeql-action from 3 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-13 04:29:12 +00:00
dependabot[bot]
f15587c908 chore(deps): bump actions/checkout from 4 to 5 (#664)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 06:16:26 -07:00
Sergey Zhdanov
dc2e152dcd Update codeql.yml
also scan `dev`
2025-04-01 20:37:00 +03:00
Sergey Zhdanov
6480d0f99d Create codeql.yml 2025-04-01 19:45:46 +03:00