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:
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.