<div align="center">
<a href="https://splx.ai">
<img src="https://github.com/splx-ai/agentic-radar/raw/main/docs/logo.png" alt="logo" width="600" height="auto" />
</a>
<p>
에이전트 워크플로우(agentic workflows)를 위한 보안 스캐너!
</p>
<!-- Badges -->
<p>
<a href="https://github.com/splx-ai/agentic-radar/graphs/contributors">
<img src="https://img.shields.io/github/contributors/splx-ai/agentic-radar" alt="기여자" />
</a>
<a href="">
<img src="https://img.shields.io/github/last-commit/splx-ai/agentic-radar" alt="최신 업데이트" />
</a>
<a href="https://github.com/splx-ai/agentic-radar/network/members">
<img src="https://img.shields.io/github/forks/splx-ai/agentic-radar" alt="포크 수" />
</a>
<a href="https://github.com/splx-ai/agentic-radar/stargazers">
<img src="https://img.shields.io/github/stars/splx-ai/agentic-radar" alt="스타 수" />
</a>
<a href="https://github.com/splx-ai/agentic-radar/issues/">
<img src="https://img.shields.io/github/issues/splx-ai/agentic-radar" alt="열린 이슈" />
</a>
<a href="https://github.com/splx-ai/agentic-radar/blob/main/LICENSE">
<img src="https://img.shields.io/github/license/splx-ai/agentic-radar.svg" alt="라이선스" />
</a>
<a href="https://pypi.org/project/agentic-radar">
<img src="https://img.shields.io/pypi/v/agentic-radar" alt="PyPI - 버전" />
</a>
<a href="https://pypi.org/project/agentic-radar">
<img src="https://static.pepy.tech/badge/agentic-radar" alt="PyPI - 다운로드 수" />
</a>
<br />
<a href="https://discord.gg/tR2d54utZc">
<img src="https://img.shields.io/discord/1346578514177949767?style=for-the-badge&logo=discord&logoColor=white&label=Discord&labelColor=5865F2&color=555555" alt="Discord" />
</a>
<a href="https://join.slack.com/t/splxaicommunity/shared_invite/zt-31b3hc3mt-A0v78qztTIMSNBg6y~WOAA">
<img src="https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white" alt="Slack" />
</a>
</p>
<h4
<a href="https://github.com/splx-ai/agentic-radar/">데모 보기</a>
<span> · </span>
<a href="https://github.com/splx-ai/agentic-radar">문서(도)</a>
<span> · </span>
<a href="https://github.com/splx-ai/agentic-radar/issues/">버그 신고</a>
<span> · </span>
<a href="https://github.com/splx-ai/agentic-radar/issues/">기능 요청</a>
</h4>
</div>
<img src="https://raw.githubusercontent.com/splx-ai/agentic-radar/HEAD/docs/overview_image.png" alt="에이전트 워크플로우 보안 스캐너 개요 이미지"/>
<!-- 목차 -->
<details>
<summary>목차</summary>
<ol>
<li>
<a href="#description-">설명</a>
</li>
<li>
<a href="#agentic-visualizer-">에이전트 시각화기 (Agentic Visualizer)</a>
</li>
<li>
<a href="#getting-started-">시작하기</a>
<ul>
<li><a href="#prerequisites">전제 조건</a></li>
<li><a href="#installation">설치</a></li>
</ul>
</li>
<li>
<a href="#advanced-installation">고급 설치</a>
<ul>
<li><a href="#crewai-installation">CrewAI 설치</a></li>
<li><a href="#openai-agents-installation">OpenAI Agents 설치</a></li>
</ul>
</li>
<li><a href="#usage">사용법</a></li>
<li>
<a href="#advanced-features-">고급 기능</a>
<ul>
<li><a href="#agentic-prompt-hardening">에이전트 프롬프트 강화 (Agentic Prompt Hardening)</a></li>
<li><a href="#-test-for-vulnerabilities-in-agentic-workflows">에이전트 워크플로우 취약점 테스트</a></li>
<li><a href="#cicd-workflow">CI/CD 워크플로우</a></li>
</ul>
</li>
<li><a href="#roadmap-">로드맵</a></li>
<li><a href="#blogs-and-tutorials-">블로그 및 튜토리얼</a></li>
<li><a href="#community-">커뮤니티</a></li>
<li><a href="#frequently-asked-questions-">자주 묻는 질문 (FAQ)</a></li>
<li><a href="#contributing-">기여하기</a></li>
<li><a href="#code-of-conduct-">행동 강령 (Code Of Conduct)</a></li>
</ol>
</details>
<li><a href="#license-">라이선스</a></li>
</ol>
</details>
설명 📝
Agentic Radar는 에이전트 시스템의 보안 및 운영 통찰력을 분석하고 평가하도록 설계되었습니다. 개발자, 연구원, 보안 전문가가 에이전트 시스템의 작동 방식을 이해하고 잠재적인 취약점을 식별하는 데 도움을 줍니다.
사용자는 다음을 포함하여 에이전트 시스템에 대한 보안 보고서를 생성할 수 있습니다:
- 워크플로우 시각화 (Workflow Visualization) - 에이전트 시스템의 워크플로우 그래프✅
- 도구 식별 (Tool Identification) - 시스템에서 사용되는 모든 외부 및 사용자 지정 도구 목록✅
- MCP 서버 탐지 (MCP Server Detection) - 시스템 에이전트에 의해 사용되는 모든 MCP 서버 목록✅
- 취약점 매핑 (Vulnerability Mapping) - 식별된 도구를 알려진 취약점과 연결하여 보안 개요를 제공하는 표✅
포괄적인 HTML 보고서는 모든 발견 사항을 요약하며, 쉬운 검토 및 공유가 가능합니다.
전체 보고서 예시 보기
Agentic Radar는 탐지된 취약점을 잘 알려진 보안 프레임워크에 매핑하는 기능을 포함합니다 🛡️.
Agentic Visualizer 🎆
시각화에만 관심이 있다면, Agentic Visualizer를 사용해 보세요.
이는 에이전트 워크플로우를 사용자 친화적인 방식으로 시각화할 수 있게 해주는 웹 기반 도구입니다.
시작하기 🚀
필수 조건
없습니다! 단지 컴퓨터에 Python (pip)이 설치되어 있는지 확인하세요.
설치
pip install agentic-radar
...
일부 기능은 대상 에이전트 프레임워크에 따라 추가 설치가 필요합니다. 더 자세한 내용은 아래를 참조하세요.
고급 설치
CrewAI 설치
CrewAI의 추가 종속성(extras)은 다음 기능 중 하나를 CrewAI와 함께 사용할 때 필요합니다:
다음 명령어를 실행하여 추가 종속성을 갖춘 Agentic Radar를 설치할 수 있습니다:
pip install "agentic-radar[crewai]"
[!WARNING]
이 명령어는 crewai-tools 패키지를 설치하며, 이는 Python 버전 >= 3.10 및 < 3.13에서만 지원됩니다.
다른 파이썬 버전을 사용하는 경우, 도구 설명서가 상세하지 않거나 아예 누락될 수 있습니다.
OpenAI Agents 설치
다음 기능 중 하나를 OpenAI Agents와 함께 사용할 때 OpenAI Agents 추가 종속성이 필요합니다:
다음 명령어를 실행하여 추가 종속성을 갖춘 Agentic Radar를 설치할 수 있습니다:
pip install "agentic-radar[openai-agents]"
사용법 (Usage)
Agentic Radar는 이제 두 가지 주요 명령어를 지원합니다:
1. scan
에이전트 워크플로우의 코드를 스캔하고 보고서를 생성합니다.
agentic-radar scan [OPTIONS] FRAMEWORK:{langgraph|crewai|n8n|openai-agents|autogen}
예시:
agentic-radar scan langgraph -i path/to/langgraph/example/folder -o report.html
2. test
에이전트 워크플로우 내의 에이전트를 다양한 취약점(vulnerabilities)에 대해 테스트합니다.
OPENAI_API_KEY가 환경 변수로 설정되어 있어야 합니다.
agentic-radar test [OPTIONS] FRAMEWORK:{openai-agents} ENTRYPOINT_SCRIPT_WITH_ARGS
예시:
agentic-radar test openai-agents "path/to/openai-agents/example.py"
이 기능에 대한 자세한 내용은 여기를 참조하십시오.
고급 기능 ✨
Agentic Prompt Hardening (에이전트 프롬프트 강화)
Agentic Prompt Hardening은 에이전트 워크플로우에서 감지된 시스템 프롬프트(system prompts)를 자동으로 개선하고 보고서에 표시합니다. 이 기능은 단순한 에이전트 지침을 최고의 프롬프트 엔지니어링(prompt engineering) 관행을 따르는 고품질의 구조화된 시스템 프롬프트로 변환합니다.
[주의]
현재 지원되는 프레임워크 (추가 예정): OpenAI Agents, CrewAI, Autogen
사용하기 매우 간단합니다:
-
export OPENAI_API_KEY=<api_key>를 실행하여 환경 변수(environment variable)인 OPENAI_API_KEY를 설정합니다. 또는 --env-file path/to/.env를 사용하여 .env 파일을 명시적으로 전달할 수 있습니다 (Agentic Radar는 자동으로 .env 파일을 로드하지 않습니다).
-
--harden-prompts 플래그를 사용하여 Agentic Radar를 실행합니다. 예를 들면:
agentic-radar scan openai-agents --harden-prompts -i examples/openai-agents/basic/lifecycle_example -o report.html
- 생성된 보고서에서 강화된(hardened) 시스템 프롬프트(system prompts)를 검사합니다:
<img src="https://raw.githubusercontent.com/splx-ai/agentic-radar/HEAD/docs/prompt_hardening.png"/>
🔍 에이전트 워크플로우의 취약점 테스트
Agentic Radar는 이제 시뮬레이션된 적대적 입력(adversarial inputs)을 통해 중요한 취약점을 식별하기 위해 워크플로우를 **실행 시간(runtime)**에 테스트하는 것을 지원합니다.
여기에는 다음 항목에 대한 자동화된 테스트가 포함됩니다:
- Prompt Injection (프롬프트 주입)
- PII Leakage (개인 식별 정보 유출)
- Harmful Content Generation (유해 콘텐츠 생성)
- Fake News Generation (가짜 뉴스 생성)
현재 지원 대상:
- OpenAI Agents ✅ (더 많은 프레임워크 곧 출시 예정)
🛠 작동 방식
이 테스트 명령어는 악성 또는 적대적 입력을 시뮬레이션하도록 설계된 테스트 스위트(test suite)와 함께 에이전트 워크플로우를 실행합니다. 이러한 테스트는 OWASP LLM Top 10에 맞춰진 실제 공격 시나리오를 기반으로 설계되었습니다.
[주의]
이 기능은 환경 변수(environment variable)로 OPENAI_API_KEY 또는 AZURE_OPENAI_API_KEY가 설정되어야 합니다. 명령줄을 통해 설정하거나 --env-file path/to/.env를 사용하여 .env 파일에서 로드할 수 있습니다.
테스트는 다음과 같이 실행됩니다:
agentic-radar test <framework> "<path/to/the/workflow/main.py any-necessary-args>"
예를 들면:
agentic-radar test openai-agents "examples/openai-agents/basic/lifecycle_example.py"
이 도구는 사용자가 제공한 에이전트 워크플로우에 자신을 주입(inject)하여 필요한 정보를 감지하고 준비된 테스트를 실행합니다.
구성 가능한 테스트
다음 구조를 가진 YAML 파일을 생성하여 Agentic Radar에 사용자 지정 테스트(custom tests)를 전달할 수 있습니다:
include_default_tests: false
tests:
- name: TestA
...
여기서 name은 테스트의 이름이며, input은 에이전트에게 전달될 입력 텍스트이고, success_condition은 성공적인 공격을 구성하는 내용에 대한 설명입니다 (이는 오라클 LLM(oracle LLM)이 테스트가 통과했는지 실패했는지를 판단하는 데 사용됩니다).
그런 다음 --config 옵션을 사용하여 YAML 파일 경로를 지정하여 Agentic Radar 테스트를 실행할 수 있습니다:
agentic-radar test openai-agents --config custom_tests.yaml "examples/openai-agents/basic/lifecycle_example.py"
기본적으로 Agentic Radar는 내장된 테스트(built-in tests)도 포함합니다. 이들을 비활성화하려면 YAML 파일에서 include_default_tests를 false로 설정하면 됩니다.
📊 상세 테스트 결과 (Rich Test Results)
모든 테스트 결과는 터미널에 시각적으로 풍부한 표 형식으로 출력됩니다. 각 행에는 다음 정보가 표시됩니다:
- 에이전트 이름(Agent name)
- 테스트 유형(Type of test)
- 주입된 입력(Injected input)
- 에이전트 출력(Agent output)
- ✅ 테스트 통과 여부 (성공/실패)
- 🛑 결과에 대한 간략한 설명
이는 특히 다중 에이전트 시스템(multi-agent systems)에서 취약점을 한눈에 파악하기 쉽게 만듭니다.
<img src="https://raw.githubusercontent.com/splx-ai/agentic-radar/HEAD/docs/test_results.png" alt="Test Results Example" />
CI/CD 워크플로우 (CI/CD Workflow)
Agentic Radar를 CI/CD 파이프라인에 통합하려면, 제공된 GitHub Actions 워크플로우 예제를 사용할 수 있습니다. 이 YAML을 저장소의 .github/workflows 디렉토리에 붙여넣기만 하면 됩니다.
이 워크플로우는 코드가 저장소에 푸시될 때마다 자동으로 Agentic Radar 스캔을 실행합니다. 생성된 보고서는 GitHub Actions 실행에서 아티팩트(artifact)로 업로드됩니다.
로드맵 (Roadmap) 📈
이 매트릭스는 어떤 에이전틱 프레임워크(agentic frameworks)가 모든 Agentic Radar 기능을 지원하는지 보여줍니다. 시간이 지남에 따라 기존의 모든 기능으로 현재 존재하는 모든 프레임워크를 포괄하는 한편, 새로운 프레임워크도 도입할 수 있도록 노력하겠습니다.
| 기능 (Feature) | 스캔 (Scan) | MCP 탐지 (MCP Detection) | 프롬프트 강화 (Prompt Hardening) | 에이전틱 테스트 (Agentic Test) |
|---|
| OpenAI Agents | ✅ | ✅ | ✅ | ✅ |
| CrewAI | ✅ | ✅ | ✅ | ❌ |
| ... | | | | |
| 가장 먼저 구현되기를 원하는 기능이 있습니까? 익명으로 투표하거나 여기를 클릭하여 투표하거나, GitHub 이슈 열기를 통해 제안해 주세요. | | | | |
블로그 및 튜토리얼 💡