Back to list
khjohns

static-analysis

by khjohns

1🍴 0📅 Jan 24, 2026

SKILL.md


name: static-analysis description: Statiske analyseverktøy for drift-sjekk, sikkerhetsscan og kodekvalitet. Bruk før commit eller for å finne synkroniseringsproblemer. allowed-tools: Bash, Read, Grep

Statisk Analyse

Oversikt

Prosjektet har flere statiske analyse-verktøy i /scripts som hjelper med å oppdage drift, TODOs, sikkerhetsproblemer og andre potensielle feil.

Tilgjengelige verktøy

ScriptFormålNår bruke
check_drift.pySamlet drift-sjekkFør commit, etter større endringer
contract_drift.pyEnum/union synkEtter endring av event-typer
state_drift.pyState-modell synkEtter endring av state-strukturer
constant_drift.pyHardkodede verdierVed mistanke om duplikater
label_coverage.pyLabel-dekningEtter nye enum-verdier
todo_tracker.pyTODO/FIXME-sporingJevnlig, før release
security_scan.pySikkerhetssårbarheterFør commit, før release
docs_drift.pyDokumentasjon vs kodeFør release, etter refaktorering

Avanserte flagg

ScriptFlaggBeskrivelse
security_scan.py--include-lowInkluder low-severity funn (ekskludert som default)
contract_drift.py--verbose, -vVis hvilke unions/enums som ble funnet
state_drift.py--verbose, -vVis hvilke interfaces/models som ble funnet
constant_drift.py--min NMinimum forekomster for å rapportere (default: 3)
docs_drift.py--verbose, -vVis alle funn inkludert info-nivå

Bruksmønster

Standard output

python scripts/todo_tracker.py
python scripts/security_scan.py

JSON output (for videre prosessering)

python scripts/check_drift.py --format json
python scripts/todo_tracker.py --format json

CI-modus (exit 1 ved kritiske funn)

python scripts/check_drift.py --ci
python scripts/security_scan.py --ci
python scripts/todo_tracker.py --ci --severity critical

Når kjøre hva

Før hver commit

# Minimumsjekk
python scripts/check_drift.py
npm run lint

Etter endring av event-typer

python scripts/contract_drift.py
python scripts/label_coverage.py

Etter endring av state-modeller

python scripts/state_drift.py

Før PR / code review

python scripts/check_drift.py
python scripts/docs_drift.py
python scripts/todo_tracker.py
python scripts/security_scan.py

Periodisk (ukentlig/sprint)

python scripts/constant_drift.py     # Finn dupliserte verdier
python scripts/todo_tracker.py       # Spor teknisk gjeld

Tolke output

check_drift.py

============================================================
  DRIFT CHECK REPORT
============================================================

CONTRACT DRIFT (Enums/Unions)
----------------------------------------
  OK - Ingen drift                    <- Alt synkronisert

STATE MODEL DRIFT (Interfaces/Models)
----------------------------------------
  DRIFT FUNNET: 2 modeller            <- Må fikses!
    - SakState: 3 kritiske, 1 advarsler
    - VederlagTilstand: 1 kritiske, 0 advarsler

Handling ved drift:

  1. Kjør individuelt script for detaljer
  2. Oppdater enten frontend eller backend for å matche
  3. Kjør sjekk igjen for å verifisere

todo_tracker.py

TODO TRACKER REPORT
==================

CRITICAL (2):
  backend/services/catenda_service.py:69
    FIXME: Azure Service Bus mangler

  backend/services/webhook_service.py:280
    FIXME: Azure Service Bus integration needed

HIGH (3):
  ...

Severity-nivåer:

  • CRITICAL - Må fikses før produksjon
  • HIGH - Bør fikses snart
  • MEDIUM - Planlegg å fikse
  • LOW - Nice to have

security_scan.py

SECURITY SCAN REPORT
====================

CRITICAL:
  Math.random() for ID generation
    src/api/forsering.ts:240
    src/pages/OpprettSakPage.tsx:64

HIGH:
  Sensitive data in localStorage
    src/context/UserRoleContext.tsx:75

Handling:

  • CRITICAL - Fiks umiddelbart
  • HIGH - Fiks før produksjon
  • MEDIUM - Vurder risiko

CI/CD Integrasjon

Anbefalt GitHub Actions workflow:

name: Static Analysis

on: [push, pull_request]

jobs:
  analysis:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Drift Check
        run: python scripts/check_drift.py --ci

      - name: Security Scan
        run: python scripts/security_scan.py --ci

      - name: TODO Check (warn only)
        run: python scripts/todo_tracker.py --severity critical
        continue-on-error: true

Legge til nye sjekker

Alle scripts følger samme mønster:

  1. --format parameter (text/json/markdown)
  2. --ci parameter for exit code 1 ved kritiske funn
  3. Finner prosjektrot via package.json
  4. Hopper over node_modules, .git, dist, etc.

Se eksisterende scripts for template.

Kjente begrensninger

  • Scripts er Python-baserte, krever Python 3.11+
  • Noen sjekker er regex-baserte og kan gi false positives
  • state_drift.py sammenligner kun navnede felt, ikke logikk

Score

Total Score

60/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon