
# GitOps stiliaus atitikties valdymas su AI varoma klausimynų automatizacija

*Pasaulyje, kuriame saugumo klausimynai kaupia greičiau, nei kūrėjai sugeba atsakyti, organizacijos reikia sisteminio, pakartojamo ir audituojamo metodo atitikties artefaktų valdymui. Susijungus **GitOps** — praktikai naudoti Git kaip vienintelį šaltinį infrastruktūros tiesai — su **generatyviu AI**, įmonės gali paversti klausimyno atsakymus į kodo‑panašius turtus, kurie yra versijuojami, patikrinami skirtumais ir automatiškai atstatomi, jei reguliavimo pokytis padaro ankstesnį atsakymą neteisingą.*

---  

## Kodėl tradiciniai klausimynų darbo procesai nepatenka

| Problema | Įprastas Požiūris | Paslėpta Kaina |
|------------|-----------------------|-------------|
| **Fragmentuota įrodymų saugykla** | Failai išsiblaškyti po SharePoint, Confluence, el. paštą | Dublikuotas darbas, prarastas kontekstas |
| **Rankinis atsakymų rašymas** | Srities ekspertai rašo atsakymus | Nenuosekli kalba, žmogaus klaidos |
| **Menkas audito takas** | Keitimų žurnalai izoliuotose priemonėse | Sunku įrodyti „kas, ką, kada“ |
| **Lėtas reagavimas į reguliavimo atnaujinimus** | Komandos skuba redaguoti PDF failus | Dėlų vykdymas, atitikties rizika |

Šie neveiksmingumai ypač ryškūs **greitai augančioms SaaS įmonėms**, kurios turi atsakyti į dešimtis tiekėjų klausimynų kiekvieną savaitę, išlaikydamos savo viešą pasitikėjimo puslapį atnaujintą.

## GitOps atitikties srityje  

GitOps susideda iš trijų pagrindų:

1. **Deklaratyvi intencija** – Norima būsena išreiškiama kode (YAML, JSON ir pan.).
2. **Versijuojamas tiesos šaltinis** – Visi pakeitimai yra įrašomi į Git saugyklą.
3. **Automatinis suderinimas** – Kontrolierius nuolat užtikrina, kad realus pasaulis atitinka saugyklą.

Taikant šiuos principus saugumo klausimynams, **kiekvienas atsakymas, įrodymo failas ir politikos nuoroda tampa deklaratyviu artefaktu, saugomų Git**. Rezultatas – atitikties saugykla, kuri gali:

* **Peržiūrima per pull request’us** – Saugumo, teisės ir inžinerijos suinteresuotosios šalys komentuoja prieš sujungimą.  
* **Tikrinama skirtumų atžvilgiu** – Kiekvienas pakeitimas matomas, todėl lengva pastebėti regresijas.  
* **Atstatoma** – Jei naujas reglamentas panaikina ankstesnį atsakymą, paprastas `git revert` atkuria ankstesnę saugią būseną.  

## AI sluoksnis: atsakymų generavimas ir įrodymų susiejimas  

* **Skatinama atsakymų rašymu** – LLM naudoja klausimyno tekstą, įmonės politikos saugyklą ir ankstesnius atsakymus, kad pasiūlytų pirmąjį juodraštį.  
* **Automatinis įrodymų susiejimas** – Modelis žymi kiekvieną atsakymą su atitinkamais artefaktais (pvz., [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) ataskaitomis, architektūros diagramomis) saugomais toje pačioje Git saugykloje.  
* **Pasitikėjimo įvertinimas** – AI įvertina, kaip gerai juodraštis atitinka šaltų politiką, atskleidžia skaitinį pasitikėjimo lygį, galintį būti naudojamas CI kaip vartas.  

AI generuoti artefaktai tada **įrašomi** į atitikties saugyklą, kur perima įprastas GitOps procesas.

## Pilnas GitOps‑AI darbo srautas  

```mermaid
graph LR
    A["Naujas Klausimynas Atvyksta"] --> B["Išanalizuoti Klausimus (LLM)"]
    B --> C["Generuoti Juodraštinius Atsakymus"]
    C --> D["Automatiškai Susieti Įrodymus"]
    D --> E["Sukurti PR Atitikties Saugykloje"]
    E --> F["Žmogaus Peržiūra ir Patvirtinimai"]
    F --> G["Sujungti į Main"]
    G --> H["Vietų Botas Publikuoja Atsakymus"]
    H --> I["Nuolatinė Stebėsena dėl Reglamentų Pokyčių"]
    I --> J["Paleisti Perkūrimą, jei Reikia"]
    J --> C
```

### Žingsnis po žingsnio suskaldymas  

1. **Įsisavinimas** – Webhook iš įrankių, tokių kaip Procurize, arba paprastas el. pašto analizatorius paleidžia pipeline'ą.  
2. **LLM analizavimas** – Modelis išgauna svarbius terminus, susieja juos su vidiniais politikos ID ir rašo atsakymą.  
3. **Įrodymų susiejimas** – Naudojant vektorinį panašumą, AI suranda svarbiausius atitikties dokumentus, saugomus saugykloje.  
4. **Pull request'o sukūrimas** – Juodraštinis atsakymas ir įrodymų nuorodos tampa commit'u; atveriamas PR.  
5. **Žmogaus vartas** – Saugumo, teisinės ar produkto savininkai prideda komentarus, prašo pakeitimų arba patvirtina.  
6. **Sujungti ir publikuoti** – CI darbas sugeneruoja galutinį markdown/JSON atsakymą ir įkelia jį tiekėjo portalui arba viešajam pasitikėjimo puslapiui.  
7. **Reguliacinė stebėsena** – At skira paslauga stebi standartus (pvz., [NIST CSF](https://www.nist.gov/cyberframework), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/)) dėl pokyčių; jei pokytis paveikia atsakymą, pipeline paleidžiamas iš naujo nuo 2 žingsnio.  

## Skaičiai – Privalumai  

| Metrika | Prieš GitOps‑AI | Po Įdiegimo |
|--------|------------------|----------------|
| Vidutinis atsakymo vykdymo laikas | 3‑5 dienos | 4‑6 valandos |
| Rankinis redagavimo darbas | 12 valandų per klausimyną | < 1 valanda (tik peržiūra) |
| Audito paruošta versijų istorija | Fragmentuoti, ad‑hoc žurnalai | Pilnas Git commitų takas |
| Atstatymo laikas nebegaliojančiam atsakymui | Dainos ieškoti ir pakeisti | Minutes (`git revert`) |
| Atitikties pasitikėjimas (vidinis balas) | 70 % | 94 % (AI pasitikėjimas + žmogaus patvirtinimas) |

## Architektūros įgyvendinimas  

### 1. Saugyklos struktūra  

```
compliance/
├── policies/
│   ├── soc2.yaml
│   ├── iso27001.yaml          # contains the declarative ISO 27001 controls
│   └── gdpr.yaml
├── questionnaires/
│   ├── 2025-11-01_vendorA/
│   │   ├── questions.json
│   │   └── answers/
│   │       ├── q1.md
│   │       └── q2.md
│   └── 2025-11-07_vendorB/
└── evidence/
    ├── soc2_report.pdf
    ├── architecture_diagram.png
    └── data_flow_map.svg
```

*Kiekvienas atsakymas (`*.md`) turi front‑matter su metaduomenimis: `question_id`, `source_policy`, `confidence`, `evidence_refs`.*

### 2. CI/CD pipeline (GitHub Actions pavyzdys)

```yaml
name: Compliance Automation

on:
  pull_request:
    paths:
      - 'questionnaires/**'
  schedule:
    - cron: '0 2 * * *' # nightly regulatory scan

jobs:
  generate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run LLM Prompt Engine
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        run: |
          python scripts/generate_answers.py \
            --repo . \
            --target ${{ github.event.pull_request.head.ref }}

  review:
    needs: generate
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run Confidence Threshold Check
        run: |
          python scripts/check_confidence.py \
            --repo . \
            --threshold 0.85

  publish:
    if: github.event_name == 'push' && github.ref == 'refs/heads/main'
    needs: review
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Deploy to Trust Center
        run: |
          ./scripts/publish_to_portal.sh
```

*Pipeline užtikrina, kad būtų sujungiami tik atsakymai, viršijantys pasitikėjimo slenkstį, tačiau žmogaus recenzentai gali perrašyti.*

### 3. Automatizuota atstatymo strategija  

Kai reguliacinė skenavimo paslauga pažymi politikos konfliktą, botas sukuria **atstatymo PR**:

```bash
git revert <commit‑sha> --no-edit
git push origin HEAD:rollback‑<date>
```

*Atstatymo PR seka tą patį recenzavimo kelią, užtikrinant, kad atstatymas būtų dokumentuotas ir patvirtintas.*

## Saugumo ir valdymo apsvarstymai  

| Rizika | Sumažinimas |
|--------|-------------|
| Modelio haliucinacijos | Įgyvendinti griežtą šaltinio politikos pagrindimą; vykdyti po‑generavimo faktų tikrinimo skriptus. |
| Slaptų duomenų nutekėjimas | Laikyti kredencialus GitHub Secrets; niekada neįrašyti neapdorotų API raktų. |
| AI tiekėjo atitiktis | Pasirinkti tiekėjus su [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) Type II patvirtinimu; saugoti audito žurnalus apie API kreipinius. |
| Nekeičiamas audito takas | Įjungti Git pasirašymą (`git commit -S`) ir išlaikyti pasirašytus tag’us kiekvienam klausimyno leidimui. |

## Realus pavyzdys: Vykdymo laiko sumažinimas 70 %

*Acme Corp., vidutinio dydžio SaaS startuolis, integravo GitOps‑AI darbo eigą į Procurize 2025 m. kovo mėn. Prieš integraciją, vidutinis laikas atsakyti į [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) klausimyną buvo **4 dienos**. Po šešių savaičių naudojimo:*

* **Vidutinis vykdymo laikas** sumažėjo iki **8 valandų**.  
* **Žmogaus peržiūros laikas** sumažėjo nuo **10 valandų** per klausimyną iki **45 minučių**.  
* **Audito žurnalas** išaugo iš fragmentuotų el. pašto gijų į vieną Git commitų istoriją, supaprastinant išorės auditoriams pateikti užklausas.

Sėkmės istorija pabrėžia, kad **procesų automatizavimas + AI = matomas ROI**.

## Geriausios praktikos sąrašas  

- [ ] Laikyti visas politikas **deklaratyvioje YAML** formatu (pvz., ISO 27001, GDPR).  
- [ ] Versijuoti **AI promptų biblioteką** kartu su saugykla.  
- [ ] Įgyvendinti **mažiausią pasitikėjimo slenkstį** CI.  
- [ ] Naudoti **pasirašytus commit'us** teisinės apsaugos tikslais.  
- [ ] Planuoti kas naktį **reguliacinių pokyčių skenavimus** (pvz., per [NIST CSF](https://www.nist.gov/cyberframework) atnaujinimus).  
- [ ] Sukurti **atstatymo politiką**, dokumentuojančią, kada ir kas gali inicijuoti revertą.  
- [ ] Suteikti **tik skaitymui viešą peržiūrą** sujungtų atsakymų klientams (pvz., Trust Center puslapyje).  

## Ateities kryptys  

1. **Daugiavuoto valdymas** – Išplėsti saugyklos modelį, kad palaikytų atskirus atitikties srautus pagal produktų linijas, kiekvienam su savo CI pipeline.  
2. **Federaciniai LLM** – Vykdyti LLM konfidencialioje skaičiavimo aplinkoje, kad nėra būtina siųsti politikos duomenų į trečiųjų šalių API.  
3. **Rizikos pagrindu paruošta peržiūros eilė** – Naudoti AI pasitikėjimo balą, kad prioritetizuoti žmonių peržiūrą ten, kur modelis yra mažiau užtikrintas.  
4. **Dviejų krypčių sinchronizacija** – Stumti atnaujinimus iš Git saugyklos atgal į Procurize UI, sukuriant vienintelį tiesos šaltinį.  

---  

## Žiūrėti taip pat  

- [NIST CSF Version 2 – Framework Documentation](https://www.nist.gov/cyberframework)