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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
giskard-oss — 🐢 LLM 에이전트용 오픈소스 평가 및 테스트 라이브러리 | Kitploit
도구/GitHubGitHub/giskard-ai/giskard-oss
Vulnerability ScannersFuzzingMachine LearningRed TeamingAI SecurityAdversarial AttackAdversarial Attack #11위AI Security #6위Machine Learning #10위
5.8k536505일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
GitHub
giskard-ai/giskard-oss

giskard-oss

🐢 LLM 에이전트용 오픈소스 평가 및 테스트 라이브러리

저장소 보기웹사이트
공유

giskardlogo giskardlogo

에이전트 시스템을 위한 평가(Evals), 레드 팀(Red Teaming) 및 테스트 생성

모듈형, 경량, 동적 및 Async 우선

GitHub release License Downloads CI

Giskard on Discord

문서 • 웹사이트 • 커뮤니티


[!IMPORTANT] Giskard v3는 AI 에이전트의 동적 다중 턴 테스트를 위해 새롭게 재작성된 버전입니다. 이번 릴리스는 효율성을 높이기 위해 무거운 의존성을 제거하면서, 더 강력한 AI 취약점 스캐너와 향상된 RAG 평가를 도입했습니다. 두 기능 모두 이제 giskard-scan에 기본 내장되어 v2에 대한 의존성이 없습니다. 테이블 형식/ML 모델을 위한 레거시 스캔만 v2 전용으로 유지됩니다. Giskard v2는 계속 사용할 수 있지만 더 이상 적극적으로 유지보수되지 않습니다. 진행 상황을 팔로우하세요 → v3 발표 읽기 · 로드맵

설치

root@kitploit:~
pip install giskard           # checks (+ agents, llm, core)
pip install "giskard[scan]"   # + 취약점 / 품질 스캔
pip install "giskard[openai]" # LLM 판정/생성기를 위한 provider SDK

Python 3.12+ 필요.

Extra추가 항목
(없음)giskard-checks 및 의존성
scangiskard-scan
openai / anthropic / …provider SDK (pyproject.toml 선택 의존성 참조)

텔레메트리: giskard-core를 통한 선택적 집계 분석. 프롬프트나 출력은 전송되지 않습니다. Giskard를 import하기 전에 비활성화: export DO_NOT_TRACK=1 또는 export GISKARD_TELEMETRY_DISABLED=1. 자세한 내용: giskard-core README.


Giskard는 에이전트 시스템을 테스트하고 평가하기 위한 오픈소스 Python 라이브러리입니다. v3 아키텍처는 각각 필요한 의존성만을 포함하는 모듈형의 집중된 패키지 세트로, LLM, 블랙박스 에이전트 또는 다단계 파이프라인 등 무엇이든 래핑할 수 있도록 처음부터 구축되었습니다.

상태패키지설명
✅ 안정giskard-checks테스트 및 평가 — 시나리오 API, 내장 검사, LLM-as-judge
✅ 안정giskard-scan에이전트 취약점 스캐너 + RAG/품질 평가 — 레드 팀, 프롬프트 인젝션, 탈옥(jailbreaks) 및 유해 콘텐츠 (vulnerability_scan, v2 Scan의 후속), 지식 베이스 품질 평가 (quality_scan, v2 RAGET의 후속)

이들은 세 가지 기반 라이브러리 — giskard-core(공용 유틸리티 및 텔레메트리), giskard-llm(provider에 구애받지 않는 LLM 라우팅), giskard-agents(에이전트 및 워크플로우 오케스트레이션) — 위에 구축되며, 자동으로 설치되며 직접 사용되는 경우는 드뭅니다.

Giskard Checks — 에이전트 테스트를 위한 평가 생성 및 적용

root@kitploit:~
pip install giskard-checks

Giskard Checks 는 LLM 기반 시스템을 테스트하는 평가(evals)를 생성하기 위한 경량 라이브러리입니다. 단순한 단언(assertion)부터 LLM-as-judge 평가까지 포함합니다. 기존의 단위 테스트와 달리, 평가는 비결정적 출력을 위해 설계되었습니다. 동일한 입력이 서로 다른 유효한 응답을 생성할 수 있기 때문입니다.

Giskard Checks를 사용하여 다음을 수행할 수 있습니다:

  • 회귀(regression) 감지 — 변경 후에도 시스템이 올바르게 동작하는지 확인
  • RAG 품질 검증 — 답변이 검색된 컨텍스트에 근거하는지 확인
  • 안전 규칙 적용 — 출력이 콘텐츠 정책을 준수하는지 확인
  • 다중 턴 에이전트 평가 — 단일 교환이 아닌 전체 대화 테스트

내장 평가에는 문자열 매칭, 비교, 정규식, 의미론적 유사성 및 LLM-as-judge 검사(Groundedness, Conformity, LLMJudge)가 포함됩니다.

개념

  • Target — 테스트 대상 시스템: 모든 동기/비동기 호출 가능 객체 (inputs) -> outputs (선택적으로 trace 포함)
  • Scenario — 하나의 평가: 상호작용 + 검사
  • Check — 트레이스에 대한 단언 또는 LLM 판정
  • Suite — 함께 실행되는 여러 시나리오

giskard.agents.Generator는 워크플로우/판정을 위한 LLM 클라이언트입니다. 사용자 메시지를 합성하는 giskard.checks 입력 생성기(LLMGenerator)와는 다릅니다.

빠른 시작

root@kitploit:~
import asyncio
from giskard.checks import Scenario, Groundedness


def get_answer(inputs: str) -> str:
    return "Paris"  # 모델 / 에이전트로 교체


async def main() -> None:
    scenario = (
        Scenario("test_france_capital")
        .interact(inputs="What is the capital of France?", outputs=get_answer)
        .check(
            Groundedness(
                name="answer is grounded",
                context="France is in Western Europe. Its capital is Paris.",
            )
        )
    )
    result = await scenario.run()
    result.print_report()


asyncio.run(main())

Groundedness는 LLM 판정입니다. provider extra(예: pip install "giskard[openai]")를 설치하고 해당 API 키를 설정하세요. 기본 모델: openai/gpt-4o-mini.

Suites, LLMJudge, 다중 턴 시나리오 등에 대한 자세한 내용은 전체 문서를 참조하세요.


Giskard Scan — AI 에이전트용 취약점 스캐너

root@kitploit:~
pip install "giskard[scan]"   # 또는: pip install giskard-scan

Giskard Scan은 에이전트 시스템을 위한 레드 팀 및 취약점 스캐닝 계층입니다. 에이전트에 대한 일반 언어 설명에서 적대적 테스트 스위트를 자동으로 생성하며, 프롬프트 인젝션, 유해 콘텐츠, 고정관념, 잘못된 정보 등을 다룹니다.

Giskard Scan을 사용하여 다음을 수행할 수 있습니다:

  • 에이전트 레드 팀 — OWASP LLM Top-10 위협 범주에 걸쳐 적대적 입력 자동 생성
  • 프롬프트 인젝션 프로브 실행 — 즉시 사용 가능한 인젝션 페이로드 내장 데이터셋
  • 사용자 정의 생성기로 확장 — generate_suite에 자체 ScenarioGenerator 인스턴스를 전달하거나 vulnerability_suite_generator_registry에 등록

빠른 시작

root@kitploit:~
import asyncio
from giskard.scan import vulnerability_scan


async def my_agent(inputs: str) -> str:
    # 에이전트 / 모델 호출로 교체
    return f"Echo: {inputs}"


async def main() -> None:
    await vulnerability_scan(
        target=my_agent,
        description="A customer support chatbot for an e-commerce platform.",
        languages=["en"],
    )


asyncio.run(main())

스캔 생성기에는 위의 Checks 판정과 동일하게 LLM provider extra와 API 키도 필요합니다.

Giskard v2를 찾고 계신가요?

Giskard v2에는 Scan(자동 취약점 탐지)과 RAGET(RAG 평가 테스트 세트 생성)이 포함되어 있었습니다.

LLM 에이전트의 경우, 둘 다 v3에서 giskard-scan으로 대체되었습니다: v2 LLM 스캔 대신 vulnerability_scan을 사용하고, RAGET 대신 quality_scan(KnowledgeBase 포함)을 사용하세요.

v3는 ML 모델에서도 작동합니다. 모델을 target으로 래핑하고 giskard-checks 또는 giskard-scan으로 평가하세요. 아래 예제가 다루는 것은 v2 전용 자동 테이블 형식 스캔입니다. 이는 giskard.Model + giskard.Dataset을 검사하여 성능, 편향 및 견고성 문제를 자동 감지하는 탐지기 스위트이며, giskard.testing ML 테스트 스위트와 Giskard Hub도 포함합니다. 이러한 기능은 v3에 계획되어 있지 않습니다.

root@kitploit:~
pip install "giskard[llm]>2,<3"

Scan — 성능, 편향 및 보안 문제 자동 감지

모델을 래핑하고 스캔을 실행하세요:

root@kitploit:~
import giskard
import pandas as pd


# my_llm_chain을 실제 LLM 체인 또는 모델 추론 로직으로 교체
def model_predict(df: pd.DataFrame):
    """이 함수는 DataFrame을 받아 출력 목록(행당 하나)을 반환해야 합니다."""
    return [my_llm_chain.run({"query": question}) for question in df["question"]]


giskard_model = giskard.Model(
    model=model_predict,
    model_type="text_generation",
    name="My LLM Application",
    description="A question answering assistant",
    feature_names=["question"],
)

scan_results = giskard.scan(giskard_model)
display(scan_results)

Scan Example

RAGET — RAG 애플리케이션용 평가 데이터셋 생성

지식 베이스에서 질문, 참조 답변 및 컨텍스트를 자동 생성:

root@kitploit:~
import pandas as pd
from giskard.rag import generate_testset, KnowledgeBase

# 지식 베이스 문서 로드
df = pd.read_csv("path/to/your/knowledge_base.csv")
knowledge_base = KnowledgeBase.from_pandas(df, columns=["column_1", "column_2"])

testset = generate_testset(
    knowledge_base,
    num_questions=60,
    language="en",
    agent_description="A customer support chatbot for company X",
)

RAGET Example

전체 v2 문서

👋 커뮤니티

AI 커뮤니티의 기여를 환영합니다! 이 가이드를 읽고 시작하고, Discord에서 활발한 커뮤니티에 참여하세요.

진행 상황을 팔로우하고 피드백을 공유하세요: v3 발표 · 로드맵

🌟 별표를 남겨주세요, 프로젝트가 다른 사람들에게 발견되고 멋진 오픈소스 도구를 구축하는 데 동기부여가 됩니다! 🌟

❤️ 저희 작업이 유용하다고 생각되시면 GitHub에서 후원을 고려해 주세요. 월간 후원을 통해 스폰서 배지를 받고, 이 readme에 회사를 표시하며, 버그 보고를 우선 처리받을 수 있습니다. 또한 컨설팅 프로젝트 참여, 워크숍 진행 또는 회사에서 강연을 원하시면 일회성 후원도 제공합니다.

도구 다운로드