Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
JoySafety — JoySafety | Kitploit
Strumenti/GitHubGitHub/joysafety/joysafety
Sicurezza dei ContenitoriSicurezza CloudDevSecOpsMachine LearningApprendimento e FormazioneSicurezza delle APISicurezza dell'IA
GitHubjoysafety/joysafety

JoySafety

JoySafety

Vedi Repository
1.3k943 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

JoySafety — Framework di Sicurezza per i Grandi Modelli


📋 Indice

  • Introduzione del Progetto
  • ✨ Caratteristiche
  • 🚀 Avvio Rapido
  • 📖 Guida all'Uso
  • 🏆 Best Practices
  • 🏗️ Architettura
  • 🛠️ Sviluppo
  • 📄 Licenza
  • 📅 Piano
  • Star History

nuova release

  • ✅ Aggiornamento completo del modello di rilevamento dell'iniezione di prompt: Il sistema di addestramento è stato ricostruito basandosi su un meccanismo di confronto tra squadre rosse e blu, con un duplice miglioramento nella precisione del riconoscimento degli attacchi e nella velocità di risposta; il più recente modello di rilevamento dell'iniezione di prompt è stato aggiornato a un'architettura a tre classi, in grado di distinguere con precisione: richieste normali, attacchi di iniezione di prompt chiari (maligni), sospetti attacchi di iniezione di prompt (rischio potenziale). Indirizzo del modello: (https://huggingface.co/jdopensource/JoySafety/tree/main)

Introduzione del Progetto

Con la diffusione delle applicazioni di intelligenza artificiale generativa, i rischi legati alla sicurezza dei contenuti, alla fuga di dati, agli attacchi di iniezione di prompt, ecc., stanno diventando sempre più evidenti. Come garantire che l'output dei grandi modelli sia conforme ai requisiti normativi e prevenire le vulnerabilità di sicurezza è diventata una sfida critica per le aziende. Per questo motivo, JD ha ufficialmente reso open source il framework di sicurezza per i grandi modelli — JoySafety. Questo framework è ampiamente utilizzato all'interno di JD, coprendo scenari come assistenti AI per lo shopping, servizio clienti logistico, assistente alle vendite, consulenza medica, piattaforma di lavoro per i venditori, consulenza legale, FAQ sulla sicurezza, ecc., supportando miliardi di chiamate giornaliere con un tasso di intercettazione degli attacchi superiore al 95%. Si impegna a fornire alle aziende una soluzione di protezione matura, affidabile e gratuita per i grandi modelli.


✨ Caratteristiche

🚀 Livello di Produzione

Validazione pratica a livello aziendale

  • ✅ Garantisce il funzionamento sicuro e stabile di molteplici applicazioni AI in produzione di JD
  • ✅ Validazione in scenari aziendali complessi, con iterazione e ottimizzazione continue
  • ✅ Il dispiegamento dei servizi supporta l'espansione orizzontale, soddisfacendo le esigenze aziendali ad alta concorrenza
  • ✅ Accesso aziendale a costo zero, le modifiche alle policy supportano l'aggiornamento a caldo in pochi minuti

Alta affidabilità

  • 🔄 Hot-plug delle capacità atomiche, senza interruzione del servizio
  • ⚡ Configurazione dinamica, risposta rapida ai cambiamenti aziendali
  • 📊 Stabilità a lungo termine verificata in ambiente di produzione

📈 Alta Estensibilità

Progettazione architetturale flessibile

  • 🧩 Supporta molteplici moduli di capacità atomica (BERT/FastText/Transformer e altri modelli mainstream)
  • 🔌 Interfaccia standardizzata per le capacità atomiche, facile da estendere con nuovi modelli
  • 🏗️ Supporta due modalità: dispiegamento indipendente o centralizzato
  • ⚙️ Motore di orchestrazione leggero, configurabile in base alle esigenze

Bilanciamento del carico intelligente

  • 🌐 Dispiegamento clusterizzato con supporto per scalabilità orizzontale
  • ⚡ Meccanismo di rilevamento asincrono, migliora la capacità di elaborazione concorrente
  • 🎯 Strategia di rilevamento a finestra, bilancia prestazioni e accuratezza

💡 Facilità d'Uso

Pronto all'uso

  • 🐳 Avvio con un clic tramite Docker Compose, nessuna configurazione richiesta
  • 📱 Orchestrazione DAG
  • 🔧 API standardizzate, integrazione rapida con i sistemi esistenti

🎯 Punti Salienti delle Tecnologie Core

Innovazioni di Rottura

1. Riconoscimento intelligente di conversazioni multi-turno con grandi modelli

2. Adozione della modalità di output asincrono Free-Taxi, che migliora notevolmente la risposta di rilevamento, realizzando un perfetto equilibrio tra esperienza utente e sicurezza

3. Matrice di strategie di risposta multidimensionale

  • 🎯 Intercettazione precisa - Blocco immediato di contenuti ad alto rischio
  • ⏸️ Risposta sostitutiva con linea rossa - Risposta tramite knowledge base di linea rossa
  • 🔄 Correzione intelligente - Guida automatica verso risposte positive

🚀 Avvio Rapido

Dipendenze Ambientali

Assicurarsi di avere installato il seguente software:

  • git
  • git-lfs per scaricare i file del modello
  • docker
  • docker compose

0. Clonare il progetto

root@kitploit:~
  #1.
  git clone https://github.com/jd-opensource/JoySafety.git
  
  #2. Entrare nella directory del progetto
  cd JoySafety
  
  #3. Impostare la variabile d'ambiente (si consiglia di copiare ed eseguire; gli script/servizi successivi la riconosceranno automaticamente)
  export SAFETY_ROOT_PATH=`pwd`
  #Normalmente è la directory radice di JoySafety
  echo ${SAFETY_ROOT_PATH}

=======

1. Scaricare i file del modello (Huggingface)

  • Spiegazione dei modelli
  • Si consiglia di utilizzare git-lfs per scaricare i file dei modelli di grandi dimensioni
root@kitploit:~

  #Entrare nella directory del progetto
  cd $SAFETY_ROOT_PATH

  #
  git lfs install

  #Opzione 1
  git clone https://huggingface.co/jdopensource/JoySafety ${SAFETY_ROOT_PATH}/data/models

  #Opzione 2
  #Se si verificano problemi di rete, è possibile scaricare da [ModelScope](https://modelscope.cn/models/syf20240814/joysafety/files))
  

2. Configurare il file .env

  • [Nella directory radice del progetto] Copiare .env.example o creare manualmente .env:
root@kitploit:~
   # Nota: Se si cambia finestra Shell, reimpostare SAFETY_ROOT_PATH
   cd $SAFETY_ROOT_PATH
   
   cp -f .env.example .env
    
   # Per i test, modificare solo la variabile SAFETY_MODEL_DIR nel file .env; il percorso deve corrispondere a quello effettivo di download del modello [percorso assoluto]
   SAFETY_MODEL_DIR=

3. Avvio con un clic (Docker Compose)

root@kitploit:~
   docker-compose --env-file .env up

4. Test delle API

Per i casi di test dettagliati delle API e le istruzioni d'uso, consultare quickstart/README.md.

Fare riferimento alla documentazione nella directory quickstart per gli script di test API più recenti e la spiegazione dei casi.


📖 Guida all'Uso

Come Integrare un Servizio Aziendale

Il progetto può supportare più servizi aziendali contemporaneamente; ciascuno può essere aggiunto dinamicamente con effetto in pochi minuti.

  1. Registrare le capacità atomiche (se la capacità atomica necessaria non è stata ancora registrata), fare riferimento a function_api.md
  2. Aggiungere un servizio aziendale (fare riferimento a business_api.md)
  3. Aggiungere una strategia per il servizio aziendale (fare riferimento a dag_api.md, esempi di strategie)

Un esempio di codice completo: example.py

Come Configurare le Strategie (DAG)

La strategia di riconoscimento nel suo complesso è un DAG; partendo dal nodo corrispondente a rootId, viene eseguita la strategia di riconoscimento livello per livello; ogni nodo della strategia è composto da due parti: function e router; function è la capacità specifica eseguita dal nodo corrente, router decide il nodo successivo da eseguire in base al risultato di riconoscimento del nodo corrente.

Le categorie di function includono single_label_pred (supporta due implementazioni pronte all'uso), keyword, kb_search, rag_answer, multi_turn_detect. Le modalità di configurazione e il significato sono descritti nell'esempio completo della sezione precedente Come Integrare un Servizio Aziendale. Inoltre, è supportata una categoria virtuale parallel per consentire l'esecuzione parallela di più function all'interno di un singolo nodo.

Le categorie di router comunemente utilizzate includono stupid_end e groovy. La prima indica la terminazione diretta, mentre la seconda utilizza uno script groovy basato sul risultato di riconoscimento per restituire il node_id del passo successivo. La variabile incorporata nello script groovy è ctx, la cui struttura è descritta nell'oggetto SessionContext.java.

Esempi tipici di orchestrazione delle strategie sono disponibili in: README.md

Come Gestire le Parole Sensibili

Supporta la gestione delle parole sensibili per gruppo + servizio aziendale. Inoltre, le parole sensibili sotto il servizio all sono valide per tutti i servizi aziendali.

Per le modalità di gestione delle parole sensibili, fare riferimento a: sensitive_words_api.md

Come Gestire la Knowledge Base

La gestione delle conoscenze in questo progetto è suddivisa in due livelli: Primo livello: utilizzo del database MySQL per la persistenza dei dati; Secondo livello: utilizzo di safety_knowledge + vearch per la vettorizzazione delle conoscenze e il recupero semantico.

Per le modalità di gestione delle conoscenze nel database, fare riferimento a: knowledge_api.md; per la vettorizzazione delle conoscenze e l'archiviazione in vearch, fare riferimento a: index_all.py (corretto: il percorso è example/safety-skills/safety-knowledge/index_all.py)

Chiamata API

Fare riferimento alla Documentazione API

Chiamate in più lingue:

  • Python: python/demo.py
  • Go: golang/main.go
  • Java: java demo

FAQ

Domande frequenti e soluzioni sono disponibili in FAQ

In base alle caratteristiche del prodotto, gli esempi nel progetto sono solo per illustrare le funzionalità del prodotto e non devono essere utilizzati in altri ambiti; non rappresentano le opinioni degli sviluppatori del progetto.


🏆 Best Practices

Per le best practice, consultare best_practice.md


🏗️ Architettura

Struttura delle Directory del Progetto

root@kitploit:~
.
├── README.md
├── deploy
│         ├── docker-compose.yml    // Servizi di confezionamento e avvio (ogni modulo può anche essere avviato singolarmente)
│         └── thirdparty            // Configurazioni e documentazione relative alle dipendenze di terze parti
│             ├── mysql
│             ├── redis
│             └── vearch
├── safety
│         ├── safety-admin           // Servizio backend per la gestione delle configurazioni e dei dati
│         ├── safety-api             // Servizio API per fornire capacità all'esterno
│         ├── safety-basic            // Pacchetto jar principale, utilizzato da safety-admin, safety-basic e dalla parte Java di safety-demo
│         ├── safety-demo            // Esempi multilingua per l'utilizzo di safety-api
│         │         ├── golang
│         │         ├── java
│         │         └── python
│         └── safety-skills          // Implementazione e dispiegamento di varie competenze supportate da safety-api
│             ├── safety-bert        // Servizio per il dispiegamento del modello BERT
│             ├── safety-fasttext    // Servizio per il dispiegamento del modello FastText
│             ├── safety-keywords    // Implementazione della capacità di parole sensibili
│             └── safety-knowledge   // Supporto per il recupero di conoscenze, la risposta basata su conoscenze e il rilevamento di conversazioni multi-turno
└── quickstart                      // Script per una rapida esperienza utente

Descrizione dell'Architettura Tecnica

1. Diagramma di flusso della fase di configurazione

Coinvolge solo la gestione backend, la registrazione delle capacità atomiche, la configurazione delle strategie / scenari aziendali, la scrittura dei dati. L'utente / il sistema aziendale non partecipa; tutti i dati di configurazione vengono infine scritti nel database, per essere caricati durante la fase di esecuzione.

root@kitploit:~
flowchart TD
    Quickstart[quickstart/script]
    Admin[safety-admin<br/>Gestione backend]
    Bert[safety-bert<br/>Servizio indipendente]
    FastText[safety-fasttext<br/>Servizio indipendente]
    Keywords[safety-keywords<br/>Servizio indipendente]
    Knowledge[safety-knowledge<br/>Servizio indipendente]
    DB[(MySQL/Redis)]
    Vearch[(Vearch database vettoriale)]
    Strategy[Orchestrazione strategie difensive]
    Business[Configurazione scenari aziendali]

    Quickstart-->|Inizializzazione/Registrazione|Admin
    Admin-->|Registra capacità atomica|Bert
    Admin-->|Registra capacità atomica|FastText
    Admin-->|Registra capacità atomica|Keywords
    Admin-->|Registra capacità atomica|Knowledge
    Admin-->|Gestione parole sensibili|Keywords
    Admin-->|Gestione knowledge base|Knowledge
    Admin-->|Scrittura configurazioni|DB
    Admin-->|Orchestrazione strategie|Strategy
    Admin-->|Configurazione scenari aziendali|Business
    Bert-->|Modello/Configurazione|DB
    FastText-->|Modello/Configurazione|DB
    Keywords-->|Dati parole sensibili|DB
    Knowledge-->|Conoscenze/Configurazione|DB
    Knowledge-->|Recupero vettoriale|Vearch

2. Diagramma di flusso della fase di esecuzione

L'utente / il sistema aziendale invia una richiesta, il servizio API carica le configurazioni e le strategie dal database e chiama i vari servizi Skill per completare il rilevamento / l'elaborazione. safety-admin non partecipa alla catena di esecuzione, scrive solo i dati durante la fase di configurazione.

root@kitploit:~
flowchart TD
    User[Utente / Sistema aziendale]
    API[safety-api<br/>Servizio API]
    Core[safety-basic<br/>Libreria Java]
    Bert[safety-bert<br/>Servizio indipendente]
    FastText[safety-fasttext<br/>Servizio indipendente]
    Keywords[safety-keywords<br/>Servizio indipendente]
    Knowledge[safety-knowledge<br/>Servizio indipendente]
    DB[(MySQL/Redis)]
    Vearch[(Vearch database vettoriale)]

    User-->|HTTP/SDK|API
    API-->|Dipendenza|Core
    API-->|Lettura strategie/configurazioni|DB
    API-->|HTTP/RESTful|Bert
    API-->|HTTP/RESTful|FastText
    API-->|HTTP/RESTful|Keywords
    API-->|HTTP/RESTful|Knowledge
    Bert-->|Modello/Dati|DB
    FastText-->|Modello/Dati|DB
    Keywords-->|Dati parole sensibili|DB
    Knowledge-->|Conoscenze/Configurazione|DB
    Knowledge-->|Recupero vettoriale|Vearch

Spiegazione delle dipendenze tra moduli:

  • safety-api dipende solo da safety-basic (libreria Java), ottiene strategie/configurazioni dal database, non dipende da safety-admin.
  • safety-admin si occupa solo della gestione backend e della scrittura delle configurazioni nel database, non partecipa alla catena di richieste degli utenti.
  • Ciascuno Skill (safety-bert, safety-fasttext, safety-keywords, safety-knowledge) è un servizio indipendente; safety-api li chiama tramite interfacce HTTP/RESTful.
  • Il database (MySQL/Redis) e il database vettoriale (Vearch) forniscono capacità di persistenza e recupero per ogni servizio.

Spiegazione delle dipendenze tra moduli:

  • safety-basic funge solo da libreria Java, è una dipendenza dei moduli di servizio principali come safety-api e safety-admin, non viene eseguito come servizio indipendente.
  • Ciascuno Skill (safety-bert, safety-fasttext, safety-keywords, safety-knowledge) è un servizio indipendente, chiamato rispettivamente dai servizi principali tramite interfacce HTTP/RESTful; non ci sono dipendenze dirette tra i servizi.
  • I servizi principali (safety-api, safety-admin) utilizzano safety-basic per l'orchestrazione unificata delle capacità e la gestione delle strategie; i servizi Skill si concentrano sull'implementazione delle capacità atomiche.
  • Il database (MySQL/Redis) e il database vettoriale (Vearch) forniscono capacità di persistenza e recupero per ogni servizio.

Descrizione dei Moduli Principali


🛠️ Sviluppo

Fare riferimento ai documenti README in ciascun modulo


🤝 Contributi

Accogliamo con favore qualsiasi idea o suggerimento! Se desideri diventare co-costruttore del progetto, puoi inviare una Pull Request in qualsiasi momento, firmando anche il Contributore License Agreement (CLA). Per qualsiasi questione, contattare via email: [email protected].

Co-costruttori del Progetto

  • JD.com
  • L'elenco dei contributori è disponibile in CONTRIBUTORS.md (da integrare)

📄 Licenza

Questo progetto è rilasciato sotto licenza Apache License 2.0, benvenuti aziende e privati a utilizzarlo, modificarlo e svilupparlo liberamente.


📅 Piano

JoySafety mira a costruire una soluzione completa di sicurezza per i grandi modelli. Questa release open source riguarda principalmente le capacità di protezione per i grandi modelli. Successivamente verranno rilasciati:

Modello di audit di sicurezza per i grandi modelli Parte del modello di audit di sicurezza per i grandi modelli è stato reso open source sulla piattaforma Huggingface. In futuro, Joysafety integrerà questa serie di modelli per realizzare capacità di audit di conformità del rischio per i grandi modelli.

Valutazione della sicurezza dei grandi modelli: Rilevamento dei rischi di sicurezza prima del lancio delle applicazioni dei grandi modelli, coprendo 5 categorie principali e 31 sottocategorie di tipi di rischio secondo i "Requisiti di base per la sicurezza dei servizi di intelligenza artificiale generativa".

Protezione della sicurezza degli agenti: Include gestione di identità e autorizzazioni, protezione di dati e memoria, sicurezza degli strumenti e dell'esecuzione, rilevamento della sicurezza del codice MCP, sicurezza della catena di approvvigionamento e dei protocolli, ecc.

Benvenuti nel gruppo di chat ufficiale WeChat di JoySafety:

Gruppo di chat ufficiale WeChat

Star History

Star History Chart

Scarica lo strumento
ModuloLinguaggioFunzione Principale
safety-adminJavaGestione delle configurazioni e dei dati
safety-apiJavaServizio API esterno, orchestrazione delle strategie, rilevamento in streaming
safety-basicJavaLibreria core, utilizzata dal servizio principale e dal demo
safety-skills/safety-bertPythonServizio modello di classificazione BERT
safety-skills/safety-fasttextPythonServizio modello di classificazione FastText
safety-skills/safety-keywordsJavaServizio di rilevamento parole sensibili
safety-skills/safety-knowledgePythonRecupero conoscenze, RAG, rilevamento conversazioni multi-turno
quickstartPython/YAMLScript e esempi per esperienza rapida
deployDockerDispiegamento containerizzato e gestione delle dipendenze