Quickstart

Questa guida ti porta dall'installazione alla prima PR gate in ~10 minuti.

Prerequisiti

  • Progetto Node.js con package.json
  • Repository GitHub con GitHub Actions abilitato
  • Un pack Merlonsec acquistato (es. LeakLock)

1. Installa il pack

bash
npm install --save-dev @merlonsec/leaklock

Sostituisci leaklock con il nome del pack che hai acquistato.

2. Crea policy.yml

Crea un file policy.yml nella root del progetto:

yaml
# policy.yml
leaklock:
  sourcemap:
    allow_public: false
    platforms:
      - vercel
      - netlify
  secrets:
    patterns:
      - type: api_key
        regex: '(?i)(api[_-]?key|apikey)\s*[:=]\s*["']?([a-z0-9]{32,})["']?'
  next_public:
    allowlist:
      - NEXT_PUBLIC_APP_URL

Consulta la documentazione del pack per tutte le opzioni disponibili.

3. Aggiungi GitHub Action

Crea .github/workflows/merlonsec.yml:

yaml
name: Merlonsec Check
on:
  pull_request:
    branches: [main, master]

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      
      - name: Setup Node.js
        uses: actions/setup-node@v3
        with:
          node-version: '18'
      
      - name: Install dependencies
        run: npm ci
      
      - name: Run Merlonsec
        uses: merlonsec/leaklock-action@v1
        with:
          policy: ./policy.yml
      
      - name: Upload report
        if: always()
        uses: actions/upload-artifact@v3
        with:
          name: merlonsec-report
          path: merlonsec-report.html

4. Testa localmente (opzionale)

bash
# Esegui il check localmente
npx @merlonsec/leaklock check --policy ./policy.yml

# Genera report
npx @merlonsec/leaklock report --policy ./policy.yml --output report.html

5. Crea una PR di test

Fai commit e push delle modifiche, poi crea una PR. Il GitHub Action eseguirà automaticamente il check.

Se la PR viola le policy, il check fallirà e vedrai il report nell'Artifact.

Prossimi passi