F FabGPT-FAQ

Cos'è ai-dependency-guard e come protegge dallo slopsquatting?

AI e LLM 2 min lettura Runbook verificato

ai-dependency-guard è una GitHub Action automatizzata a zero dipendenze esterne progettata per proteggere le pipeline CI/CD dal fenomeno del Phantom Dependency Squatting (o slopsquatting).

Problema affrontato:
Quando gli sviluppatori utilizzano LLM per generare codice, i modelli allucinano frequentemente nomi di librerie non esistenti inserendole nei manifest di progetto (requirements.txt, package.json). Gli attaccanti monitorano o registrano preventivamente tali nomi fittizi su PyPI e npm, iniettando codice malevolo eseguito automaticamente alla prima build downstream.

Meccanismo di protezione a doppio livello (Dual-Tier):
1. Tier 1 (Explicit Blocklist): intercetta i pacchetti fittizi già noti o registrati da ricercatori/attaccanti che restituirebbero uno stato HTTP 200 OK, impedendo il bypass dei controlli standard.
2. Tier 2 (Real-Time Registry API Validation): interroga in tempo reale le API ufficiali di PyPI e npm. Se il pacchetto restituisce HTTP 404 Not Found, la GitHub Action blocca la Pull Request e fallisce la build in modo deterministico.

Integrazione rapida nel workflow GitHub Actions:

YAML
name: AI Dependency Guard
on: [pull_request, push]

jobs:
  audit-dependencies:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Validate Dependencies Against Hallucinations
        uses: fabriziosalmi/ai-dependency-guard@main
        with:
          manifests: 'requirements.txt,package.json'

Elimina uno dei vettori di attacco alla supply chain più insidiosi introdotti dall'uso dell'AI generativa. Action e documentazione: ai-dependency-guard.

Manifest PR(req.txt, pkg.json)AI Dependency GuardTier 1 Blocklist + APIRegistry Check(PyPI / npm 404)CI / CD GateFail su Sloprilevamento deterministico di pacchetti allucinati da LLM prima della build CI

Hai una domanda specifica su questo tema?

Interroga direttamente il motore FabGPT-FAQ con risposta in tempo reale.