Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
1444649
chore: update uv.lock for coreason-manifest v0.72.1
gowthamrao May 15, 2026
ddbc07c
Merge pull request #66 from CoReason-AI/develop
gowthamrao May 15, 2026
614f508
fix: resolve uv.lock conflict
gowthamrao May 15, 2026
c7cc312
fix: correctly resolve uv.lock
gowthamrao May 15, 2026
e0371e0
fix: ignore untyped import for hvac
gowthamrao May 15, 2026
4f8d8d7
test: achieve 100% test coverage in meta-engineering
gowthamrao May 15, 2026
e542e71
feat: add OSV-Scanner workflow
gowthamrao May 15, 2026
5faa1a3
feat: add security scanning suite (Scorecard, CodeQL, Bandit)
gowthamrao May 15, 2026
2fea153
chore(security): harden github actions permissions and pin actions to…
gowthamrao May 15, 2026
fcfb14c
fix(security): correct invalid github action commit SHAs
gowthamrao May 15, 2026
b02f425
fix(security): resolve osv-scanner path and bandit sarif dependencies
gowthamrao May 15, 2026
8319c3a
fix(security): remove redundant codeql.yml to resolve default setup c…
gowthamrao May 15, 2026
fce3ae5
docs: add OpenSSF Scorecard badge to README
gowthamrao May 15, 2026
9a572e6
feat(security): integrate Trivy IaC and TruffleHog secret scanning wo…
gowthamrao May 15, 2026
b006dfe
feat(security): integrate OWASP ZAP DAST scan workflow
gowthamrao May 15, 2026
3ac18d6
fix(security): remove base and head from TruffleHog to fix same-commi…
gowthamrao May 15, 2026
deb8a32
fix(security): correct osv-scanner syntax to use reusable workflow at…
gowthamrao May 15, 2026
1ce76e5
fix(ci): fix ruff linting errors to resolve CI pipeline failure
gowthamrao May 15, 2026
edb25dc
chore(deps): update coreason-manifest to >=0.74.0
gowthamrao May 15, 2026
5a0484f
docs(security): add status badges for new security scans
gowthamrao May 15, 2026
114412b
chore: update coreason-manifest dependency to version 0.75.0 from git…
gowthamrao May 15, 2026
ccf97a8
chore(release): standardization and bump coreason-manifest to 0.76.0
gowthamrao May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/advanced-security.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Advanced Security Audit
on:
pull_request:
branches: [ coreason-develop, main ]

permissions: read-all

jobs:
dependency-review:
name: Dependency Review
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Harden Runner
uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.19.1
with:
egress-policy: audit

- name: Checkout Repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Dependency Review
uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0
with:
comment-summary-in-pr: always
fail-on-severity: high
deny-licenses: AGPL-1.0, AGPL-3.0, GPL-1.0, GPL-2.0, GPL-3.0, LGPL-2.0, LGPL-2.1, LGPL-3.0


35 changes: 35 additions & 0 deletions .github/workflows/bandit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Bandit Security Scan

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '0 0 * * *'

permissions:
contents: read
security-events: write
actions: read

jobs:
bandit:
name: Bandit Scan
runs-on: ubuntu-latest
steps:
- name: "Checkout code"
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: "Install Bandit"
run: pip install bandit[sarif]

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 7: pipCommand not pinned by hash
Click Remediation section below to solve this issue
- name: "Run Bandit"
run: bandit -r src -f sarif -o bandit-results.sarif || true

- name: "Upload Bandit results"
uses: github/codeql-action/upload-sarif@458d36d7d4f47d0dd16ca424c1d3cda0060f1360 # v3.28.8
with:
sarif_file: 'bandit-results.sarif'


2 changes: 2 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,3 +134,5 @@ jobs:
- name: Verify SHA256 sum
run: sha256sum dist/*.whl
shell: bash


2 changes: 2 additions & 0 deletions .github/workflows/container-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ jobs:
with:
sarif_file: 'trivy-results.sarif'
continue-on-error: true


21 changes: 21 additions & 0 deletions .github/workflows/osv-scanner.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: OSV-Scanner
on:
push:
branches: [main, coreason-develop]
pull_request:
branches: [main, coreason-develop]
schedule:
- cron: '0 0 * * 1'

permissions: read-all

jobs:
scan:
name: OSV-Scanner
permissions:
actions: read
security-events: write
contents: read
uses: "google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@764c91816374ff2d8fc2095dab36eecd42d61638" # v1.9.1


9 changes: 9 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
push:
tags:
- 'v*.*.*'
- '*.*.*'
release:
types: [published]
workflow_dispatch:

permissions:
contents: write
Expand Down Expand Up @@ -120,6 +122,12 @@

- uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Release' step
Uses Step
uses 'docker/setup-qemu-action' with ref 'v3', not a pinned commit hash

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'Release' step
Uses Step
uses 'docker/setup-buildx-action' with ref 'v3', not a pinned commit hash

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 2: third-party GitHubAction not pinned by hash
Remediation tip: update your workflow using https://app.stepsecurity.io
Click Remediation section below for further remediation help

- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
Expand All @@ -144,6 +152,7 @@
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Scorecard supply-chain security
on:
branch_protection_rule:
schedule:
- cron: '30 1 * * 6'
push:
branches: [ "main" ]

permissions: read-all

jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-latest
permissions:
security-events: write
id-token: write
contents: read
actions: read

steps:
- name: "Checkout code"
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
with:
results_file: results.sarif
results_format: sarif
publish_results: true

- name: "Upload results"
uses: github/codeql-action/upload-sarif@458d36d7d4f47d0dd16ca424c1d3cda0060f1360 # v3.28.8
with:
sarif_file: results.sarif


2 changes: 2 additions & 0 deletions .github/workflows/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,5 @@ jobs:
pip-audit-report.html
npm-audit.json
retention-days: 14


37 changes: 37 additions & 0 deletions .github/workflows/trivy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Trivy Security Scan

on:
push:
branches: [ "main", "coreason-develop", "feat/add-security-scans" ]
pull_request:
branches: [ "main", "coreason-develop" ]

permissions: read-all

jobs:
trivy:
name: Trivy Vulnerability Scanner
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write

steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false

- name: Run Trivy vulnerability scanner in repo mode
uses: aquasecurity/trivy-action@314ff8b43182423b84c50b1670b0e10f858f2d98
with:
scan-type: 'fs'
ignore-unfixed: true
format: 'sarif'
output: 'trivy-results.sarif'
severity: 'CRITICAL,HIGH'

- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@458d36d7d4f47d0dd16ca424c1d3cda0060f1360 # v3.35.5
with:
sarif_file: 'trivy-results.sarif'
29 changes: 29 additions & 0 deletions .github/workflows/trufflehog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: TruffleHog Secret Scan

on:
push:
branches: [ "main", "coreason-develop", "feat/add-security-scans" ]
pull_request:
branches: [ "main", "coreason-develop" ]

permissions: read-all

jobs:
trufflehog:
name: TruffleHog Secret Scanner
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
persist-credentials: false

- name: TruffleHog OSS
uses: trufflesecurity/trufflehog@0fa069c12f0c7baf431041cd1e564a9c5058846c
with:
path: ./
extra_args: --debug --only-verified
38 changes: 38 additions & 0 deletions .github/workflows/zap-dast.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: OWASP ZAP DAST Scan

on:
push:
branches: [ "main", "coreason-develop", "feat/add-security-scans" ]
pull_request:
branches: [ "main", "coreason-develop" ]
workflow_dispatch:

permissions: read-all

jobs:
zap_scan:
name: OWASP ZAP Baseline Scan
runs-on: ubuntu-latest
permissions:
contents: read
issues: write
security-events: write

steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false

# Note: In a real environment, you would start your application here
# e.g., docker-compose up -d
# For now, we will scan a placeholder/demo target or skip if no target is running.
# To fully enable, replace target with your staging URL.

- name: ZAP Baseline Scan
uses: zaproxy/action-baseline@f948cb8d66e25e330a23e64e3fc72a5c0018b16d # master
continue-on-error: true # DAST scans can be noisy, so we prevent failing the build initially
with:
target: 'https://coreason.ai/' # Placeholder target for the baseline
rules_file_name: '.zap/rules.tsv'
cmd_options: '-a'
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -45,4 +45,4 @@ COPY --from=builder /wheels /wheels
# Install the application wheel
RUN uv pip install --no-cache /wheels/*.whl

CMD ["python", "-m", "coreason_meta_engineering.main"]
CMD ["coreason-meta-mcp"]
Loading
Loading