Skip to content
KitploitKITPLOIT
도구블로그
Log in
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
JoySafety — JoySafety | Kitploit
도구/GitHubGitHub/joysafety/joysafety
Container SecurityCloud SecurityDevSecOpsMachine LearningLearning & EducationAPI SecurityAI Security
GitHubjoysafety/joysafety

JoySafety

JoySafety

저장소 보기
1.3k94234개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

JoySafety —— 대형 언어 모델 보안 프레임워크


📋 목차

  • 프로젝트 소개
  • ✨ 특징
  • 🚀 빠른 시작
  • 📖 사용 가이드
  • 🏆 모범 사례
  • 🏗️ 아키텍처 설계
  • 🛠️ 개발
  • 📄 라이선스
  • 📅 계획
  • Star History

new release

  • ✅ 프롬프트 인젝션 탐지 모델 전면 업그레이드: 레드팀-블루팀 대항 메커니즘 기반 훈련 체계 재구축, 공격 식별 정확도와 응답 속도 이중 돌파; 최신 프롬프트 인젝션 탐지 모델이 3분류 아키텍처로 업그레이드되어 정상 요청, 명확한 프롬프트 인젝션 공격(악성), 의심스러운 프롬프트 인젝션 공격(잠재적 위험)을 정밀하게 구분할 수 있습니다. 모델 주소: (https://huggingface.co/jdopensource/JoySafety/tree/main)

프로젝트 소개

생성형 AI 애플리케이션이 널리 보급됨에 따라 콘텐츠 안전, 데이터 유출, 프롬프트 공격 등의 위험이 점점 더 부각되고 있습니다. 대형 언어 모델의 출력이 법규 요구사항을 준수하고 보안 취약점을 방지하는 방법은 기업이 반드시 해결해야 할 핵심 과제가 되었습니다. 이에 JD.com에서 대형 언어 모델 보안 프레임워크인 JoySafety를 정식 오픈소스로 공개합니다. 이 프레임워크는 JD.com 내부에서 널리 사용되며 AI 쇼핑 가이드, 물류 고객센터, 영업 어시스턴트, 의료 문진, 판매자 작업대, 법률 상담, 보안 Q&A 등 다양한 시나리오를 포괄합니다. 일일 수억 건의 호출과 95% 이상의 공격 차단율을 지원하며, 기업에 성숙하고 신뢰할 수 있으며 무료인 대형 언어 모델 보안 솔루션을 제공하는 것을 목표로 합니다.


✨ 특징

🚀 프로덕션 레벨

엔터프라이즈급 실전 검증

  • ✅ JD.com의 여러 프로덕션 AI 애플리케이션 안정적 운영 보장
  • ✅ 복잡한 비즈니스 시나리오 검증, 지속적인 반복 최적화
  • ✅ 서비스 배포 시 수평 확장 지원, 높은 동시성 비즈니스 요구 충족
  • ✅ 비즈니스 연동 제로 장벽, 정책 변경 시 핫 업데이트 분 단위 지원

고신뢰성 보장

  • 🔄 원자적 기능 핫 플러그 앤 플레이, 비즈니스 중단 없음
  • ⚡ 동적 구성 적용, 비즈니스 변화에 신속 대응
  • 📊 프로덕션 환경 장기 안정성 검증

📈 높은 확장성

유연한 아키텍처 설계

  • 🧩 다양한 원자적 기능 모듈 지원 (BERT/FastText/Transformer 등 주요 모델)
  • 🔌 표준화된 원자적 기능 인터페이스, 새로운 모델 확장 용이
  • 🏗️ 독립 배포 또는 집중 배포 두 가지 모드 지원
  • ⚙️ 경량 오케스트레이션 엔진, 필요에 따라 유연하게 구성

지능형 로드 밸런싱

  • 🌐 클러스터 배포로 수평 확장 지원
  • ⚡ 비동기 탐지 메커니즘, 동시 처리 성능 향상
  • 🎯 윈도우 기반 탐지 전략, 성능과 정확성 균형

💡 사용 편의성

설치 즉시 사용

  • 🐳 원클릭 Docker Compose 시작, 구성 필요 없음
  • 📱 DAG 오케스트레이션
  • 🔧 표준화된 API 인터페이스, 기존 시스템에 빠르게 통합

🎯 핵심 기술 하이라이트

혁신적인 기능

1. 대형 언어 모델 다중 턴 대화 지능형 인식

2. Free-Taxi 비동기 출력 모드 도입으로 탐지 응답 대폭 향상, 사용자 경험과 보안의 완벽한 균형 실현

3. 다차원 응답 전략 매트릭스

  • 🎯 정밀 차단 - 고위험 콘텐츠 즉시 차단
  • ⏸️ 레드라인 대체 응답 - 레드라인 지식 베이스 응답
  • 🔄 지능형 수정 - 자동으로 긍정적 답변 유도

🚀 빠른 시작

환경 의존성

다음 소프트웨어가 설치되어 있는지 확인하세요:

  • git
  • git-lfs (모델 파일 다운로드용)
  • docker
  • docker compose

0. 프로젝트 클론

  #1.
  git clone https://github.com/jd-opensource/JoySafety.git
  
  #2. 프로젝트 경로로 이동
  cd JoySafety
  
  #3. 환경 변수 설정 (복사하여 실행 권장, 이후 스크립트/서비스에서 자동 인식)
  export SAFETY_ROOT_PATH=`pwd`
  #일반적으로 JoySafety 루트 경로
  echo ${SAFETY_ROOT_PATH}

=======

1. 모델 파일 다운로드 (Huggingface)

  • 모델 설명
  • git-lfs 사용하여 대용량 모델 파일 가져오기 권장

  #프로젝트 경로로 이동
  cd $SAFETY_ROOT_PATH

  #
  git lfs install

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

  #방법2
  #네트워크 문제로 인해 [ModelScope](https://modelscope.cn/models/syf20240814/joysafety/files)에서도 다운로드 가능
  

2. .env 파일 구성

  • 【프로젝트 루트 경로】에서 .env.example을 복사하거나 수동으로 .env 생성:
   # 참고: Shell 창 전환 시 SAFETY_ROOT_PATH 재설정
   cd $SAFETY_ROOT_PATH
   
   cp -f .env.example .env
    
   # 테스트 시 .env 파일에서 변수 SAFETY_MODEL_DIR만 수정, 경로는 실제 모델 다운로드 경로와 일치해야 함【절대 경로】
   SAFETY_MODEL_DIR=

3. 원클릭 시작 (Docker Compose)

   docker-compose --env-file .env up

4. API 테스트

자세한 API 테스트 사례 및 사용 설명은 quickstart/README.md를 참조하세요.

quickstart 디렉토리의 문서를 참조하여 최신 API 테스트 스크립트와 사례 설명을 확인하세요.


📖 사용 가이드

비즈니스 연동 방법

이 프로젝트는 여러 비즈니스를 동시에 지원하며, 각 비즈니스를 동적으로 추가할 수 있고 분 단위로 적용됩니다.

  1. 원자적 기능 등록 (사용하려는 원자적 기능이 등록되지 않은 경우), 원자적 기능 관리 참조: function_api.md
  2. 비즈니스 추가 (참조: business_api.md)
  3. 비즈니스에 정책 추가 (참조: dag_api.md, 정책 예시)

완전한 코드 예제: example.py

정책 구성 방법 (DAG)

인식 정책은 전체적으로 DAG이며, rootId에 해당하는 node에서 시작하여 계층적으로 인식 정책을 실행합니다. 정책의 각 node는 function과 router로 구성됩니다. function은 현재 노드에서 실행되는 구체적인 기능이고, router는 현재 노드의 인식 결과를 기반으로 다음에 실행할 노드를 결정합니다.

function 유형에는 single_label_pred (즉시 사용 가능한 두 가지 구현 제공), keyword, kb_search, rag_answer, multi_turn_detect가 포함되며, 구성 방식과 의미는 위의 비즈니스 연동 방법의 전체 예제를 참조하세요. 또한, 단일 노드 내에서 여러 function을 병렬로 실행할 수 있도록 가상 유형 parallel을 지원합니다.

일반적인 router 유형으로는 stupid_end와 groovy가 있습니다. 전자는 직접 종료를 의미하며, 후자는 groovy 스크립트가 인식 결과를 기반으로 다음 node_id를 반환합니다. groovy 스크립트의 내장 변수는 ctx이며, 그 구조는 객체 SessionContext.java를 참조하세요.

전형적인 정책 오케스트레이션 예시는 README.md를 참조하세요.

민감 단어 관리 방법

그룹+비즈니스별로 민감 단어를 관리할 수 있으며, all 비즈니스의 민감 단어는 모든 비즈니스에 적용됩니다.

민감 단어 관리 방법은 sensitive_words_api.md를 참조하세요.

지식 베이스 관리 방법

이 프로젝트는 지식을 두 계층으로 관리합니다. 첫 번째 계층: 데이터 영속성을 위해 MySQL 데이터베이스 사용; 두 번째 계층: safety_knowledge+vearch를 사용하여 지식의 벡터화 및 의미 검색 구현.

데이터베이스에서 지식 관리 방법은 knowledge_api.md를 참조하세요. 지식 벡터화 및 vearch 저장은 index_all.py를 참조하세요.

API 인터페이스 호출

API 문서 참조

다국어 호출:

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

FAQ

자주 묻는 질문과 해결 방법은 FAQ를 참조하세요.

제품 특성 상, 프로젝트 내 예제는 제품 기능 설명 용도로만 사용되며 다른 분야에 사용할 수 없으며, 프로젝트 개발자의 견해가 아닙니다.


🏆 모범 사례

모범 사례는 best_practice.md를 참조하세요.


🏗️ 아키텍처 설계

프로젝트 디렉토리 구조

.
├── README.md
├── deploy
│         ├── docker-compose.yml    // 패키지 시작 서비스 (각 모듈은 개별 시작 가능)
│         └── thirdparty            // 타사 종속성 관련 구성 및 문서
│             ├── mysql
│             ├── redis
│             └── vearch
├── safety
│         ├── safety-admin           // 구성 및 데이터 관리를 위한 백엔드 서비스
│         ├── safety-api             // 외부에 기능을 제공하는 API 서비스
│         ├── safety-basic            // 핵심 jar 패키지, safety-admin, safety-basic 및 safety-demo의 Java 부분 서비스
│         ├── safety-demo            // safety-api를 사용하는 다국어 예제
│         │         ├── golang
│         │         ├── java
│         │         └── python
│         └── safety-skills          // safety-api가 지원하는 각종 스킬 구현 및 배포
│             ├── safety-bert        // bert 모델 배포 서비스
│             ├── safety-fasttext    // fasttext 모델 배포 서비스
│             ├── safety-keywords    // 민감 단어 기능 구현
│             └── safety-knowledge   // 지식 검색, 지식 기반 대체 응답 및 다중 턴 대화 탐지 지원
└── quickstart                      // 사용자 빠른 체험 용

기술 아키텍처 설명

1. 구성 시점 흐름도

백엔드 관리, 원자적 기능 등록, 정책/비즈니스 시나리오 구성, 데이터 쓰기만 포함됩니다. 사용자/비즈니스 시스템은 참여하지 않으며, 모든 구성 데이터는 최종적으로 데이터베이스에 기록되어 실행 시점에 로드됩니다.

도구 다운로드