chore(compliance): consume erp-mafia/compliancemaxx@v1 (#418)
* chore(compliance): consume erp-mafia/compliancemaxx@v1
Adds the consumer side of the new compliancemaxx orchestrator:
- .github/workflows/compliance-pr.yml — single-job advisory check
that calls `uses: erp-mafia/compliancemaxx@v1` on every PR.
Threshold + skill selection live in .compliance/config.yml.
`fail-on-findings: false` keeps it strictly advisory while findings
bed in; flip to true after triage.
- .compliance/config.yml — bootstrap config: all 5 skills enabled
(oss-license, owasp-asvs-v5, iso-27001-2022, soc2, gdpr),
severity_threshold_to_block=critical, no suppressions yet.
The orchestrator code, skill manifests, and reference docs live in the
new public repo: https://github.com/erp-mafia/compliancemaxx
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* chore: retrigger compliance check
* chore(compliance): add full-swarm workflow (nightly + dispatch + label)
Adds the LLM-powered deep_audit alongside the existing PR-mode advisory
check. Triggers:
- 02:00 UTC nightly cron
- workflow_dispatch (manual)
- PRs labeled `compliance:full-audit`
Authenticates to AWS Bedrock via the existing AWS_ACCESS_KEY_ID/SECRET
repo secrets (same path swedish-compliance-review.yml already uses).
`fail-on-findings: false` keeps it observational while findings bed in.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
15d4f429f3
commit
97989285c2
@@ -0,0 +1,22 @@
|
||||
# yaml-language-server: $schema=../.claude/skills/compliance-swarm/.compliance/config.schema.yml
|
||||
|
||||
# Bootstrap config for gnubok itself. Threshold starts at "critical" so the
|
||||
# advisory PR check warns loudly without blocking merges. Tighten to "high"
|
||||
# once findings are triaged and suppressions are in place.
|
||||
|
||||
enabled_skills:
|
||||
- oss-license-compliance
|
||||
- owasp-asvs-v5-compliance
|
||||
- iso-27001-2022-compliance
|
||||
- soc2-cicd-compliance
|
||||
- gdpr-cicd-compliance
|
||||
|
||||
asvs_level: L2
|
||||
soc2_categories: [security, confidentiality]
|
||||
severity_threshold_to_block: critical
|
||||
llm_provider: bedrock
|
||||
llm_model: eu.anthropic.claude-sonnet-4-6
|
||||
|
||||
# Add suppressions here as triage progresses. Each rule needs a justification
|
||||
# and (for ISO/SOC 2 controls) a risk_id pointing at a Risk Register entry.
|
||||
suppressions: []
|
||||
@@ -0,0 +1,30 @@
|
||||
name: compliance — PR mode (advisory)
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
security-events: write
|
||||
|
||||
concurrency:
|
||||
group: compliance-pr-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
compliance:
|
||||
name: PR static checks (advisory)
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 8
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: erp-mafia/compliancemaxx@v1
|
||||
with:
|
||||
mode: pr
|
||||
base: ${{ github.event.pull_request.base.sha }}
|
||||
fail-on-findings: false # advisory while bedding in; flip to true after triage
|
||||
@@ -0,0 +1,57 @@
|
||||
name: compliance — full swarm
|
||||
|
||||
# Full hybrid audit: deterministic scanners + LLM-driven deep_audit checks
|
||||
# (RoPA drift, AGPL §13 evaluation, IDOR/access-control reasoning, ISMS clause
|
||||
# review, change-management bypass detection).
|
||||
#
|
||||
# Triggers:
|
||||
# - Nightly cron at 02:00 UTC
|
||||
# - workflow_dispatch (run anytime)
|
||||
# - PRs labeled `compliance:full-audit`
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 2 * * *'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
reason:
|
||||
description: 'Why are you running this manually?'
|
||||
required: false
|
||||
default: ''
|
||||
pull_request:
|
||||
types: [labeled]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
security-events: write
|
||||
|
||||
concurrency:
|
||||
group: compliance-swarm-${{ github.ref }}
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
swarm:
|
||||
name: Full hybrid audit
|
||||
if: |
|
||||
github.event_name != 'pull_request'
|
||||
|| github.event.label.name == 'compliance:full-audit'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: erp-mafia/compliancemaxx@v1
|
||||
with:
|
||||
mode: swarm
|
||||
llm-provider: bedrock
|
||||
fail-on-findings: false # observational while bedding in
|
||||
env:
|
||||
AWS_REGION: eu-north-1
|
||||
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
# Override default model if desired:
|
||||
# COMPLIANCE_BEDROCK_MODEL: 'eu.anthropic.claude-sonnet-4-6'
|
||||
Reference in New Issue
Block a user