agentguard은(는) 무엇을 하나요?
AI 에이전트를 위한 보안 가드 — 악성 스킬 차단, 데이터 유출 방지, 비밀 보호. 24개의 탐지 규칙, 런타임 액션 평가, 신뢰 레지스트리.
개요
agentguard는 AI 에이전트(예: Claude Code, Cursor, Codex)를 보호하는 보안 레이어입니다.
- 악성 스킬 차단: 프롬프트 인젝션, 원치 않는 파일 접근 등을 탐지하여 차단합니다.
- 데이터 유출 방지: API 키, 비밀번호, 토큰 등 민감한 정보가 외부로 유출되는 것을 방지합니다.
- 비밀 보호: 에이전트가 비밀 정보를 로그나 파일에 기록하지 못하도록 보호합니다.
- 신뢰 레지스트리: 신뢰할 수 있는 스킬과 액션을 관리하여 안전한 환경을 유지합니다.
주요 기능
24개의 탐지 규칙
- 프롬프트 인젝션: 악의적인 프롬프트 주입 시도 탐지 및 차단
- 파일 시스템 공격: 허용되지 않은 파일 읽기/쓰기 시도 차단
- 네트워크 요청 모니터링: 의심스러운 네트워크 요청 탐지
- 비밀 누출 방지: 환경 변수, 설정 파일 등에서 비밀 정보가 노출되지 않도록 보호
런타임 액션 평가
에이전트가 실행하는 모든 액션(파일 읽기/쓰기, 명령 실행, 네트워크 요청 등)을 실시간으로 평가하여 위험도를 결정합니다. 설정에 따라 차단, 경고, 허용 등의 조치를 취합니다.
신뢰 레지스트리
- 신뢰할 수 있는 스킬과 액션을 관리할 수 있습니다.
- 특정 스킬이나 액션을 명시적으로 허용하거나 차단할 수 있습니다.
- 레지스트리는 설정 파일이나 외부 저장소에서 관리할 수 있습니다.
설치 및 사용법
설치
pip install agentguard
또는 소스에서 직접 설치:
git clone https://github.com/GoPlusSecurity/agentguard.git
cd agentguard
pip install -r requirements.txt
기본 사용법
from agentguard import AgentGuard
# AgentGuard 인스턴스 생성
guard = AgentGuard()
# 에이전트 액션 평가
action = {
'type': 'file_write',
'path': '/tmp/test.txt',
'content': 'some data'
}
result = guard.evaluate(action)
if result['action'] == 'block':
print('액션이 차단되었습니다:', result['reason'])
설정 파일 예제 (config.yaml)
# agentguard 설정
general:
mode: 'strict' # 'strict', 'moderate', 'permissive'
log_level: 'info'
rules:
prompt_injection:
enabled: true
severity: 'high'
secret_leak:
enabled: true
patterns:
- 'API_KEY'
- 'PASSWORD'
- 'TOKEN'
file_access:
allowed_paths:
- '/tmp/'
- '/home/user/work/'
blocked_paths:
- '/etc/passwd'
- '/root/'
trust_registry:
skills:
- name: 'allowed-skill-1'
hash: 'abc123'
- name: 'allowed-skill-2'
hash: 'def456'
actions:
- type: 'network_request'
allowed_domains:
- 'api.example.com'
- 'cdn.trusted.com'
통합 방법
Claude Code
Claude Code와 통합하려면 환경 변수에 AGENTGUARD_MODE를 설정하거나, agentguard를 Python 패키지로 임포트하여 사용할 수 있습니다.
Cursor
Cursor 설정에서 agentguard를 활성화하면 모든 AI 액션이 보호됩니다.
Codex
Codex와 함께 사용할 때는 agentguard를 미들웨어로 설정하여 요청을 가로채고 평가할 수 있습니다.
API 문서
AgentGuard.evaluate(action)
- action: 딕셔너리 형태의 액션 정보 (
type,path,content,url등) - 반환값:
{'action': 'allow'|'block'|'warn', 'reason': '...'}
AgentGuard.update_registry(registry)
신뢰 레지스트리를 업데이트합니다.
- registry: 신뢰할 스킬/액션 목록을 포함한 딕셔너리
AgentGuard.add_rule(rule)
사용자 정의 탐지 규칙을 추가합니다.
- rule:
{'name': '...', 'condition': lambda action: ..., 'action': 'block'|'warn'}
로깅 및 모니터링
agentguard는 모든 평가 결과를 로그로 기록합니다. 로그 레벨을 조정하여 상세한 정보를 확인할 수 있습니다.
# 환경 변수로 로그 레벨 설정
export AGENTGUARD_LOG_LEVEL=debug
기여하기
기여는 언제나 환영합니다! 버그 리포트, 기능 제안, 풀 리퀘스트를 보내주세요.
라이선스
이 프로젝트는 MIT 라이선스로 배포됩니다.
연락처
- GitHub: GoPlusSecurity/agentguard
- 이슈 트래커: GitHub Issues