audit notes work completed, test fixes work (95% done), new sprints, new data sources setup and configuration

This commit is contained in:
master
2026-01-14 10:48:00 +02:00
parent d7be6ba34b
commit 95d5898650
379 changed files with 40695 additions and 19041 deletions

View File

@@ -0,0 +1,55 @@
Archived: 2026-01-14. Sprint sync: docs/implplan/SPRINT_20260112_001_DOCS_audit_evidence_pack_gaps.md\n\nHere’s why this matters right now: leading regulatory frameworks and supplyâ€chain security practices are converging on **auditâ€ready evidence packages that are cryptographically verifiable, traceable, and retentionâ€fit for rules like NIS2, DORA, and ISOâ€27001**.
![Image](https://media.beehiiv.com/cdn-cgi/image/fit%3Dscale-down%2Cformat%3Dauto%2Conerror%3Dredirect%2Cquality%3D80/uploads/asset/file/5866467b-a0c2-41f2-aa32-b76b2ab34cd7/ssc_blog.png)
![Image](https://miro.medium.com/1%2A_58rnrnKABBfg7bUUAzwlQ.jpeg)
![Image](https://miro.medium.com/v2/resize%3Afit%3A1200/1%2Abdz7tUqYTQecioDQarHNcw.png)
![Image](https://alphasec.io/content/images/2022/11/How-sigstore-works.png)
At the core of modern supplyâ€chain assurance is a **standardsâ€first stack** that lets you prove *what* ran, *how* it was built, *when* it existed, and that nothing was tampered with — without involving live systems during an audit. This aligns with riskâ€based audit trails regulators increasingly expect.
**SBOM + VEX:**
* A **CycloneDX SBOM (1.6)** documents all components in a build — the baseline inventory an auditor will ask for. ([cyclonedx.org][1])
* **OpenVEX** expresses contextual vulnerability exploitability data tied to those components, reducing noise and prioritizing real risks. ([cyclonedx.org][1])
**Attestation & Provenance:**
* **inâ€toto** defines a signed **attestation framework** for each step of your supply chain, including custom or standard predicates. ([SLSA][2])
* **SLSA Provenance** captures *how* the build was performed and ties source to artifact, making builds verifiable endâ€toâ€end. ([SLSA][2])
**Transparency & Timestamps:**
* Use **Rekor’s transparency logs** to record signatures and attestations immutably and publicly — essential for reproducible audit proofs and tamper evidence. ([blog.sigstore.dev][3])
* Anchor artifact existence with **RFCâ€3161 timestamps** from a trusted TSA to prove *the time* evidence existed, a requirement in keyless signing and transparency contexts. ([goteleport.com][4])
**Immutable Storage & Chainâ€ofâ€Custody:**
* Store artifacts, logs, and attestations in **immutable/WORM storage** (e.g., S3 Object Lock or Azure immutable blobs) so you can *prove* retention and nonâ€modification over time — a practical audit safeguard that fits both ISOâ€27001’s riskâ€based expectations and DORA’s retention principles. ([Ignyte][5])
**Regulatory Alignment:**
* **ENISA’s NIS2 guidance** emphasizes robust supply chain risk management and traceability — good practice for SBOM, vulnerability context, and supplier security evidence. ([ENISA][6])
* **DORA RTS** stresses operational resilience and evidence retention based on risk and business needs, with sevenâ€plus years typical in financial contexts. ([European Commission][7])
* **ISOâ€27001** doesn’t dictate specific retention periods, but it *requires defined documented retention, storage protection, and traceability of records mapped to controls* — exactly what an evidence pack built this way provides. ([Sprinto][8])
**Practical evidence pack structure:**
Deliver auditors a **signed archive** with:
* **index.json manifest** listing all artifacts, Rekor entry IDs, and timestamps.
* **proof artifacts** (e.g., binary diff reports, hash pairs) tied to SBOM/VEX/provenance.
* **audit checklist** showing exact cosign/rekor verify commands, RFCâ€3161 timestamp checks, and steps to validate immutability in object storage.
This transforms your supplyâ€chain record from adâ€hoc files into a *replayable, cryptographically anchored audit trail* regulators and auditors can verify without needing access to your live infrastructure.
[1]: https://cyclonedx.org/capabilities/vex/?utm_source=chatgpt.com "Vulnerability Exploitability eXchange (VEX)"
[2]: https://slsa.dev/blog/2023/05/in-toto-and-slsa?utm_source=chatgpt.com "in-toto and SLSA"
[3]: https://blog.sigstore.dev/its-ten-o-clock-do-you-know-where-your-private-keys-are-5c869cf53234/?utm_source=chatgpt.com "It's ten o'clock, do you know where your private keys are?"
[4]: https://goteleport.com/docs/reference/machine-workload-identity/workload-identity/sigstore-attestation/?utm_source=chatgpt.com "Sigstore Workload Attestation"
[5]: https://www.ignyteplatform.com/blog/iso-27001/iso-27001-record-retention/?utm_source=chatgpt.com "ISO 27001 Audit Record Retention Requirements"
[6]: https://www.enisa.europa.eu/sites/default/files/publications/Good%20Practices%20for%20Supply%20Chain%20Cybersecurity.pdf?utm_source=chatgpt.com "Good practices for supply chain cybersecurity - ENISA"
[7]: https://ec.europa.eu/finance/docs/level-2-measures/dora-regulation-rts--2024-1532_en.pdf?utm_source=chatgpt.com "dora-regulation-rts--2024-1532_en.pdf - European Commission"
[8]: https://sprinto.com/blog/iso-27001-data-retention-policy/?utm_source=chatgpt.com "Data Retention Policy for ISO 27001: A Simple Guide ..."

View File

@@ -0,0 +1,139 @@
Heres a quick, practical add-on for your pipelines: simple guardrails for AIassisted code so you dont ship security/IP/license problems without slowing teams down.
---
# Why this matters (super short)
AI coding tools boost output but can introduce:
* **Security issues** (hardcoded secrets, unsafe APIs, promptplanted vulns)
* **IP leakage** (copied proprietary snippets)
* **License conflicts** (incompatible OSS brought by the model)
---
# Three fast checks (under ~13s per change)
1. **Secrets & Unsafe Patterns**
* Detect credentials, tokens, and highrisk calls (e.g., weak crypto, eval/exec, SQL concat).
* Flag “new secrets introduced” vs “preexisting” to reduce noise.
* Require fix or approved suppression with evidence.
2. **Attribution & Similarity**
* Fuzzy match new/changed hunks against a vetted “allowlist” (your repos) and a “denylist” (company IP you cant disclose).
* If similarity > threshold to denylist, block; if unknown origin, require justification note.
3. **License Hygiene (deps + snippets)**
* On dependency diffs, compute SBOM, resolve licenses, evaluate policy matrix (e.g., **OK**: MIT/BSD/Apache2.0; **Review**: MPL/LGPL; **Block**: GPL3.0 for closed components).
* For pasted code blocks > N lines, enforce “license/attribution comment” presence or ticket link proving provenance.
---
# Lightweight policy you can ship today
**Policy goals**
* Be **explainable** (every fail has a short reason + link to evidence)
* Be **configurable** per repo/env
* Support **override with audit** (who, why, for how long)
**Example (YAML)**
```yaml
stellaops:
ai_code_guard:
enabled: true
thresholds:
similarity_block: 0.92
similarity_review: 0.80
max_paste_lines_without_provenance: 12
licenses:
allow: [MIT, BSD-2-Clause, BSD-3-Clause, Apache-2.0]
review: [MPL-2.0, LGPL-2.1, LGPL-3.0]
block: [GPL-3.0-only, AGPL-3.0-only]
checks:
- id: secrets_scan
required: true
- id: unsafe_api_scan
required: true
- id: snippet_similarity
required: true
- id: dep_sbom_license
required: true
overrides:
require_issue_link: true
max_duration_days: 14
```
**Gate outcomes**
***Pass**: merge/release continues
* 🟡 **Review**: needs approver with role `SecurityReviewer`
***Block**: only `SecurityOwner` can override with issue link + timeboxed waiver
---
# Minimal evidence you store (per change)
* Hashes of changed hunks + similarity scores
* Secret/unsafe findings with line refs
* SBOM delta + license verdicts
* Override metadata (who/why/expiry)
This feeds Stella Ops **deterministic replay**: same inputs → same verdicts → auditready.
---
# Dropin CI snippets
**GitHub Actions**
```yaml
jobs:
ai-guard:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: stella-ops/cli-action@v1
with:
args: guard run --policy .stellaops.yml --format sarif --out guard.sarif
- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v3
with: { sarif_file: guard.sarif }
```
**GitLab CI**
```yaml
ai_guard:
image: stellaops/cli:latest
script:
- stella guard run --policy .stellaops.yml --format gitlab --out guard.json
- test "$(jq -r .status guard.json)" = "pass"
```
---
# Small UX that wins trust
* **Inline PR annotations** (secret types, API names, license rule hit)
* **Oneclick “request waiver”** (requires ticket link + expiry)
* **Policy badges** in PR (“AI Code Guard: Pass / Review / Block”)
---
# How this plugs into Stella Ops
* **Scanner**: run the 3 checks; emit evidence (JSON + DSSE).
* **Policy/Lattice Engine**: combine verdicts (e.g., *Block if secrets OR blocklicense; Review if similarity_review*).
* **Authority**: sign the gate result; attach to release attestation.
* **Replay**: store inputs + rule versions to reproduce decisions exactly.
If you want, Ill turn this into:
* a readytouse **`.stellaops.yml`**,
* a **CLI subcommand spec** (`stella guard run`),
* and **UI wireframes** for the PR annotations + waiver flow.