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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
giskard-oss — 🐢 LLM 에이전트용 오픈소스 평가 및 테스트 라이브러리 | Kitploit
도구/GitHubGitHub/giskard-ai/giskard-oss
Vulnerability ScannersFuzzingMachine LearningRed TeamingAI SecurityAdversarial Attack
GitHubgiskard-ai/giskard-oss

giskard-oss

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

저장소 보기
5.8k5223일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

giskardlogo giskardlogo

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

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

GitHub release License Downloads CI Giskard on Discord

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


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

설치

root@kitploit:~
pip install giskard           # checks (+ agents, llm, core)
pip install "giskard[scan]"   # + vulnerability / quality scan
pip install "giskard[openai]" # provider SDK for LLM judges / generators

Python 3.12+가 필요합니다.

확장포함 내용
(없음)giskard-checks 및 의존성

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


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

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

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

root@kitploit:~
pip install giskard-checks

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

Giskard Checks를 다음과 같은 용도로 사용하세요:

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

내장 평가에는 문자열 일치, 비교, 정규식, 의미론적 유사성, 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"  # replace with your model / agent


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 판정기입니다. 공급자 확장 기능(예: pip install "giskard[openai]")을 설치하고 해당 API 키를 설정하세요. 기본 모델: openai/gpt-4o-mini.

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


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

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

Giskard Scan은 에이전트 시스템을 위한 레드 팀 및 취약점 스캐닝 계층입니다. 에이전트를 평문으로 설명하면 프롬프트 인젝션, 유해 콘텐츠, 고정관념, 허위 정보 등을 포괄하는 적대적(adversarial) 테스트 스위트를 자동으로 생성합니다.

Giskard Scan을 다음과 같은 용도로 사용하세요:

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

빠른 시작

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


async def my_agent(inputs: str) -> str:
    # Replace with your agent / model call
    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 공급자 확장 기능과 API 키가 필요합니다.

Giskard v2를 찾고 계신가요?

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

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

v3는 ML 모델에서도 작동합니다. 모델을 타깃으로 감싸서 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


# Replace my_llm_chain with your actual LLM chain or model inference logic
def model_predict(df: pd.DataFrame):
    """The function takes a DataFrame and must return a list of outputs (one per row)."""
    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

# Load your knowledge base documents
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에 회사를 표시하며, 버그 보고의 우선 처리를 받을 수 있습니다. 컨설팅 프로젝트 참여, 워크숍 진행, 또는 회사에서의 발표를 원하신다면 일회성 후원도 가능합니다.

도구 다운로드
scangiskard-scan
openai / anthropic / …공급자 SDK (pyproject.toml 선택적 의존성 참조)
상태패키지설명
✅ 베타giskard-checks테스트 및 평가 — 시나리오 API, 내장 체크, LLM-as-judge
✅ 베타giskard-scan에이전트 취약점 스캐너 + RAG/품질 평가 — 레드 팀(red teaming), 프롬프트 인젝션, 탈옥(jailbreak) 및 유해 콘텐츠 (vulnerability_scan, v2 Scan의 후속), 지식 기반 품질 평가 (quality_scan, v2 RAGET의 후속)