왜 당신의 AI 에이전트는 모든 것에 루트 접근 권한을 가지고 있는가 (그리고 Python 3줄로 해결하는 방법)
Source: Dev.to
개요
저는 업무에서 AI 에이전트를 만들면서 같은 문제에 계속 부딪혔습니다: 모든 프레임워크가 에이전트가 등록된 도구를 안전 검사 없이 호출하도록 허용합니다. 데이터베이스 접근 권한이 있는 에이전트가 DROP TABLE users 를 실행해도 아무것도 막지 못합니다.
그래서 저는 AgentShield‑FW 라는 런타임 방화벽을 만들었습니다. 이 방화벽은 모든 도구 호출을 가로채고 실행 전에 구성 가능한 안전 정책을 적용합니다.
- GitHub:
- PyPI:
pip install agentshield-fw
가장 간단한 사용법
import agentshield
shield = agentshield.Shield()
shield.protect # activate the firewall
def execute_sql(query: str) -> str:
return db.execute(query)
# Agent tries:
execute_sql("DROP TABLE users")
# → Blocked by AgentShield: Destructive SQL detected (ASI02)
차별점
- 필요한 종속성이 전혀 없습니다 — 코어는 Python 표준 라이브러리만 사용합니다
- 40개 이상의 사전 구축 규칙이 SQL 인젝션, 경로 탐색, 자격 증명 유출, 프롬프트 인젝션, 셸 명령, 속도 제한 등을 포괄합니다
- OWASP Agentic Security Top 10 (ASI01‑ASI10)과 매핑됩니다
- LangChain, MCP, CrewAI, OpenAI SDK 또는 모든 Python 함수와 함께 작동합니다
- 서브밀리초 지연 (< 1 ms p99)
- 94.56 % 테스트 커버리지
- 변조 탐지를 위한 해시 체인 감사 로그
“AgentShield”라는 이름을 가진 다른 프로젝트들은 정적 스캐너(구성 파일 분석)입니다. 이것은 런타임 방화벽으로, 실시간 도구 호출을 가로채며—WAF와 SAST를 비교하듯이 동작합니다.
MIT 라이선스. Python 3.10‑3.13.