AI 에이전트 보안, 커널에서 감시한다 — eBPF 기반 런타임 거버넌스 아키텍처 심층 분석
2025년 초, 한 핀테크 스타트업에서 자사 AI 에이전트가 프롬프트 인젝션 공격을 받아 목표가 하이재킹된 채 외부 결제 API를 반복 호출하는 사건이 발생했습니다. 애플리케이션 레이어의 로그에는 아무런 이상 신호가 남아 있지 않았고, 수 시간이 지나서야 이상을 파악했습니다. 에이전트가 실제로 _무엇을 했는지_를 실행 시점에 감시하는 계층이 없었기 때문입니다.
코드 한 줄 수정 없이, 커널 수준에서 에이전트의 모든 행동을 실시간으로 감시하고 차단할 수 있습니다. eBPF(extended Berkeley Packet Filter)와 OpenClaw 기반의 런타임 거버넌스 아키텍처가 이를 가능하게 합니다. 파일 접근, 네트워크 연결, 프로세스 생성 — 에이전트의 모든 행동은 결국 커널 syscall로 귀결되며, eBPF는 1~3%의 CPU 오버헤드만으로 이 모든 이벤트를 정책 엔진에 통과시킬 수 있습니다.
이 글은 프로덕션에 AI 에이전트를 배포하거나 배포를 계획 중인 백엔드·DevSecOps 엔지니어를 대상으로 합니다. Linux syscall과 컨테이너 환경에 기본적인 친숙함이 있다고 가정하며, eBPF 동작 원리부터 OpenClaw 정책 구성, 해시 체인 감사 로그 설계까지 아키텍처 패턴을 코드와 함께 살펴봅니다.
핵심 개념
왜 커널 계층인가 — syscall 수렴 원칙
에이전트가 어떤 프레임워크로 구현되어 있든, 어떤 언어로 작성되어 있든, 실제 시스템 행동은 결국 커널 syscall로 수렴됩니다.
| 에이전트 행동 | 커널 syscall |
|---|---|
| 파일 읽기/쓰기 | openat(), read(), write() |
| 외부 API 호출 | connect(), sendto() |
| 서브프로세스 실행 | execve(), clone() |
| 다른 에이전트 스폰 | fork(), execve() |
커널 레이어에서 이 호출들을 가로채면, 에이전트 코드를 수정하지 않고도 모든 행동을 통제할 수 있습니다. 이것이 eBPF 기반 런타임 거버넌스의 근본 전제입니다.
런타임 거버넌스(Runtime Governance): 에이전트가 실행 중인 동안 모든 도구 호출, 파일 접근, 네트워크 요청, 서브프로세스 생성 이벤트를 정책 엔진에 통과시켜 허용/차단 여부를 결정하는 제어 계층. 모델 평가나 프롬프트 보호와는 독립적으로 동작합니다.
eBPF — 커널을 재부팅 없이 계측하는 기술
eBPF (extended Berkeley Packet Filter): Linux 커널 내에서 안전하게 실행되는 샌드박스 가상 머신입니다. 커널 소스를 수정하거나 재부팅 없이 syscall, 네트워크 패킷, 프로세스 이벤트를 관찰·차단할 수 있으며, 일반적으로 1% 미만의 CPU 오버헤드를 가집니다.
eBPF 프로그램이 커널에서 안전하게 실행될 수 있는 이유는 커널 내장 검증기(verifier) 덕분입니다. 검증기는 eBPF 바이트코드를 로드 시점에 정적 분석해 무한 루프, 범위 초과 메모리 접근, 허용되지 않은 커널 함수 호출을 사전에 차단합니다. 이 메커니즘 덕분에 eBPF 프로그램은 커널 패닉 없이 안전하게 실행됩니다.
eBPF 프로그램은 다양한 훅 포인트에 부착됩니다. AI 에이전트 거버넌스에서 핵심적으로 활용되는 훅은 다음과 같습니다.
| 훅 타입 | 이벤트 예시 | 활용 |
|---|---|---|
tracepoint/syscalls |
sys_enter_openat, sys_enter_connect |
파일 접근, 네트워크 연결 추적 |
kprobe/kretprobe |
do_execve, tcp_connect |
프로세스 생성, TCP 연결 추적 |
uprobes |
SSL_read, SSL_write |
LLM 통신 캡처 (아래 설명 참고) |
LSM 훅 |
bpf_lsm_file_open, bpf_lsm_socket_connect |
커널 수준 접근 제어 결정 |
uprobes와 TLS 트래픽 캡처에 대한 주의: uprobe를 SSL 라이브러리(libssl)의 SSL_write/SSL_read 함수 진입 시점에 부착하면 암호화되기 이전의 평문 데이터를 캡처할 수 있습니다. 커널이 TLS를 직접 복호화하는 것이 아니라, SSL 함수가 호출되는 순간 이미 평문 상태인 메모리를 읽는 방식입니다. 따라서 라이브러리 버전이나 정적 링킹 여부에 따라 uprobe 부착 지점이 달라질 수 있습니다.
BPF LSM(Linux Security Module) 훅은 Linux 5.7(2020년 5월)부터 지원됩니다. 이후 ARMO, AccuKnox 등 주요 플랫폼들이 이를 AI 에이전트 거버넌스에 본격 활용하기 시작했습니다. bpf_lsm_socket_connect에서 0을 반환하면 연결이 허용되고, -EPERM을 반환하면 커널 수준에서 직접 차단됩니다.
// 환경: Linux 5.7+, libbpf 0.8+, BTF 지원 커널 필요
// eBPF LSM 훅으로 에이전트의 네트워크 연결 차단 예시
// 허용 목적지 IP를 관리하는 BPF 해시 맵
struct {
__uint(type, BPF_MAP_TYPE_HASH);
__type(key, __u32); // IPv4 주소 (네트워크 바이트 오더)
__type(value, __u8); // 1 = 허용
__uint(max_entries, 256);
} allowed_ips SEC(".maps");
struct agent_policy {
__u8 network_restricted;
};
struct {
__uint(type, BPF_MAP_TYPE_HASH);
__type(key, __u32); // PID
__type(value, struct agent_policy);
__uint(max_entries, 1024);
} agent_policies SEC(".maps");
// 허용 IP 조회 헬퍼 함수
static __always_inline int is_allowed_destination(
struct sockaddr *addr, struct agent_policy *policy)
{
if (!policy->network_restricted) return 1; // 제한 정책 없으면 통과
if (addr->sa_family != AF_INET) return 0; // IPv4만 허용 예시
struct sockaddr_in *addr4 = (struct sockaddr_in *)addr;
__u32 dst_ip = addr4->sin_addr.s_addr;
// BPF 맵에서 허용 IP 조회
return bpf_map_lookup_elem(&allowed_ips, &dst_ip) != NULL;
}
SEC("lsm/socket_connect")
int BPF_PROG(restrict_agent_connect, struct socket *sock,
struct sockaddr *address, int addrlen)
{
u32 pid = bpf_get_current_pid_tgid() >> 32;
struct agent_policy *policy = bpf_map_lookup_elem(&agent_policies, &pid);
if (!policy) return 0; // 비에이전트 프로세스는 통과
if (!is_allowed_destination(address, policy)) {
bpf_printk("BLOCKED: agent %d attempted unauthorized connection\n", pid);
return -EPERM; // 커널 수준 차단
}
return 0;
}OpenClaw와 그 보안 레이어
OpenClaw: 오픈소스 자기 호스팅(self-hosted) AI 에이전트 게이트웨이입니다. 에이전트 실행을 격리된 샌드박스에서 처리하며, Landlock LSM, seccomp-BPF, 네트워크 네임스페이스 격리를 기본 보안 레이어로 내장합니다. 2026년 초 기준 빠르게 진화 중인 생태계로, 프로덕션 도입 전 각 도구의 릴리스 안정성과 호환성을 반드시 확인하는 것을 권장합니다.
OpenClaw의 보안 아키텍처는 세 가지 커널 기술의 조합으로 구성됩니다.
┌──────────────────────────────────────────────┐
│ AI 에이전트 프로세스 │
├──────────────────────────────────────────────┤
│ seccomp-BPF │ 허용된 syscall 화이트리스트 │
├──────────────────────────────────────────────┤
│ Landlock LSM │ 선언적 파일시스템 접근 제한 │
├──────────────────────────────────────────────┤
│ 네트워크 NS │ 에이전트별 독립 네트워크 스택 │
├──────────────────────────────────────────────┤
│ eBPF 감사 │ 모든 이벤트 JSONL 로깅 + 차단 │
└──────────────────────────────────────────────┘seccomp-BPF: "secure computing mode with BPF"의 약자로, 프로세스가 호출할 수 있는 syscall 목록을 화이트리스트로 제한하는 Linux 커널 기능입니다. 에이전트가
execve()로 임의 프로세스를 실행하거나ptrace()로 다른 프로세스를 조작하는 것을 사전에 방지할 수 있습니다.
| 기술 | 제어 대상 | 특징 |
|---|---|---|
| seccomp-BPF | 허용 syscall 목록 | 허용되지 않은 syscall 호출 시 프로세스 종료 |
| Landlock LSM | 파일시스템 경로 | 선언적 규칙으로 접근 가능 경로 제한 |
| 네트워크 NS | 네트워크 스택 전체 | 에이전트 간 네트워크 완전 격리 |
| eBPF 감사 | 모든 커널 이벤트 | 관찰·기록·차단 통합 |
감사 아키텍처 — 불변 해시 체인 로그
Clawprint 프로젝트가 구현하는 해시 체인 감사 로그는 각 이벤트가 이전 이벤트의 해시를 포함해 체인을 형성하는 구조입니다. 체인의 어느 지점이라도 변조되면 이후 모든 해시 검증이 실패합니다.
// JSONL 감사 로그 형식 (한 줄 = 한 이벤트)
{
"seq": 1,
"timestamp": "2026-04-14T09:23:01.234Z",
"agent_id": "agent-abc123",
"event_type": "file_open",
"path": "/etc/passwd",
"pid": 4821,
"action": "BLOCKED",
"policy_rule": "no_sensitive_files",
"hash_prev": "0000000000000000000000000000000000000000000000000000000000000000",
"hash_self": "a3f8d2c1e9b47056f3a2d1c8e6b4f9a2c7d3e8f1b5a9c2d6e4f7b3a8c1d5e9f2"
}병렬로 이벤트가 발생하는 고빈도 환경에서는 seq 번호 충돌이나 이벤트 순서 역전이 발생할 수 있습니다. 단일 스레드 수집기가 이벤트를 직렬화하는 방식이 권장되며, 고빈도 환경에서는 eBPF ring buffer의 순서 보장 옵션을 함께 활용하는 것이 좋습니다.
# 환경: Python 3.9+
# 해시 체인 검증 유틸리티
import hashlib
import json
def verify_audit_chain(log_path: str) -> bool:
"""감사 로그의 해시 체인 무결성을 검증합니다."""
prev_hash = "0" * 64
line_num = 0 # 빈 파일 처리를 위해 미리 초기화
with open(log_path) as f:
for line_num, line in enumerate(f, 1):
event = json.loads(line.strip())
# hash_prev가 직전 이벤트의 hash_self와 일치하는지 확인
if event["hash_prev"] != prev_hash:
print(f"체인 무결성 위반: {line_num}번째 이벤트")
return False
# 현재 이벤트의 hash_self 재계산
payload = json.dumps(
{k: v for k, v in event.items() if k != "hash_self"},
sort_keys=True
)
expected_hash = hashlib.sha256(payload.encode()).hexdigest()
if event["hash_self"] != expected_hash:
print(f"이벤트 위변조 감지: {line_num}번째 이벤트")
return False
prev_hash = event["hash_self"]
if line_num == 0:
print("감사 로그가 비어 있습니다.")
return True
print(f"감사 로그 무결성 확인 완료: {line_num}개 이벤트")
return True실전 적용
세 가지 도구를 다룹니다. 요구사항에 따라 선택 기준이 다르므로, 먼저 아래 매트릭스를 참고하시기 바랍니다.
| 요구사항 | 권장 도구 |
|---|---|
| 빠른 관찰, 프레임워크 무관 | AgentSight |
| 감사 가능성(auditability) 요건, 해시 체인 로그 | Clawprint + OpenClaw |
| LangChain/AutoGen 기존 스택 통합 | Microsoft Agent Governance Toolkit |
| Kubernetes 환경, 컨테이너 기반 에이전트 | ARMO (KubeArmor) |
세 예시는 관찰 → 정책 시행 → 베이스라인 학습의 흐름으로 구성되어 있습니다.
예시 1: AgentSight로 AI 코딩 에이전트 행동 추적
AgentSight는 Claude Code, Gemini CLI 등의 AI 코딩 에이전트를 eBPF로 계측하는 오픈소스 프로젝트입니다. SSL 라이브러리의 SSL_read/SSL_write uprobes를 활용해 LLM 통신 내용을 평문으로 캡처하고, sched_process_exec tracepoint로 프로세스 트리를 구성합니다.
# 환경: Linux 5.15+, Rust 1.70+, CAP_BPF 권한 필요
# AgentSight 설치 및 에이전트 모니터링 시작
git clone https://github.com/eunomia-bpf/agentsight
cd agentsight
# eBPF 데몬 빌드 (Rust + C)
cargo build --release
# 에이전트 모니터링 시작
# --capture-tls: libssl SSL_write/SSL_read 함수 진입점 후킹으로 평문 캡처
# --trace-process: sched_process_exec으로 프로세스 트리 구성
sudo ./target/release/agentsight monitor \
--pid $(pgrep -f "claude") \
--capture-tls \
--trace-process \
--output jsonl \
--output-file /var/log/agent-audit.jsonl// 주의: 아래 SDK는 현재 개발 중이며 API가 변경될 수 있습니다.
// 실제 사용 전 저장소에서 최신 설치 방법과 API를 확인하세요.
const ALLOWED_ENDPOINTS = ['api.openai.com', 'api.anthropic.com'];
const SENSITIVE_PATHS = ['/etc/', '/root/', '/.ssh/'];
// AgentSight 이벤트 핸들러 예시 (실제 SDK API는 저장소 README 참고)
function onAgentEvent(event: AgentEvent): void {
// 비정상적인 외부 연결 탐지
if (event.type === 'network_connect' &&
!ALLOWED_ENDPOINTS.includes(event.destination)) {
console.warn(`비허가 외부 연결 시도: ${event.destination}`);
// blockAgent(event.pid);
}
// 민감 파일 접근 탐지
if (event.type === 'file_open' &&
SENSITIVE_PATHS.some(p => event.path.startsWith(p))) {
console.error(`민감 파일 접근 시도: ${event.path}`);
// blockAgent(event.pid);
}
}| 구성 요소 | 역할 |
|---|---|
--capture-tls |
libssl uprobe로 암호화 이전 평문 캡처 (TLS 복호화가 아닌 함수 후킹) |
--trace-process |
sched_process_exec tracepoint로 프로세스 계보 추적 |
--output jsonl |
실시간 JSONL 스트림으로 SIEM 연동 가능 |
AgentSight는 관찰(observation) 중심 도구입니다. 정책 시행 전에 현재 에이전트의 실제 행동 패턴을 파악하는 단계로 활용하면 좋습니다.
예시 2: OpenClaw 엔터프라이즈 게이트웨이 — 위험도별 승인 워크플로
관찰 단계를 마쳤다면, 다음 단계는 정책 시행입니다. 기업 환경에서 모든 에이전트 요청이 동일한 정책을 따를 필요는 없습니다. 위험도에 따라 자동 허용, 인간 승인, 자동 차단으로 분기하는 게이트웨이를 구성할 수 있습니다.
# openclaw-policy.yaml — 게이트웨이 위험도 분류 정책
version: "1.0"
agent_id: "finance-agent-v2"
policies:
# 저위험: 자동 허용
- name: read_internal_docs
match:
tool: ["file_read", "search"]
path_prefix: ["/workspace/docs/"]
action: ALLOW
audit: true
# 중위험: 자동 허용 + 상세 로깅
- name: internal_api_calls
match:
tool: ["http_request"]
destination_domain: ["*.internal.company.com"]
action: ALLOW
audit: true
log_level: VERBOSE
# 고위험: 인간 승인 필요
- name: production_db_query
match:
tool: ["db_query"]
database: ["prod-*"]
action: HUMAN_APPROVAL
approval_channel: "#agent-approvals" # Slack 알림
timeout_seconds: 300 # 5분 내 미승인 시 자동 차단
# 최고위험: 즉시 차단
- name: block_external_payments
match:
tool: ["http_request"]
destination_domain: ["stripe.com", "paypal.com"]
action: BLOCK
alert: true# 주의: openclaw 패키지는 현재 개발 중이며 API가 변경될 수 있습니다.
# 실제 도입 전 공식 문서와 릴리스 노트를 확인하세요.
# OpenClaw 정책 엔진 Python SDK 활용
from openclaw import PolicyEngine, AuditLogger
engine = PolicyEngine.from_config("openclaw-policy.yaml")
logger = AuditLogger(
output="/var/log/openclaw/audit.jsonl",
hash_chain=True # SHA-256 해시 체인 활성화
)
@engine.intercept
async def handle_tool_call(agent_id: str, tool: str, params: dict):
"""모든 도구 호출이 이 핸들러를 통과합니다."""
decision = await engine.evaluate(agent_id, tool, params)
# 감사 로그 기록
await logger.record(
agent_id=agent_id,
tool=tool,
params=params,
decision=decision
)
if decision.action == "HUMAN_APPROVAL":
approved = await request_human_approval(
channel=decision.channel,
context={"agent": agent_id, "tool": tool, "params": params},
timeout=decision.timeout_seconds
)
return approved
return decision.action == "ALLOW"예시 3: ARMO 방식의 에이전트 행동 베이스라인 학습
에이전트의 정상 행동을 사전에 완벽히 정의하기는 어렵습니다. ARMO의 접근처럼 관찰 기간 동안 행동 패턴을 학습해 "Application Profile DNA"를 생성한 후, 이를 정책으로 전환하는 방법이 효과적입니다.
# 환경: Kubernetes 1.24+, KubeArmor 설치 필요
# 1단계: 관찰 모드로 에이전트 실행 (정책 시행 없이 행동만 기록)
kubectl annotate pod my-agent-pod \
kubearmor-policy=audit \
kubearmor-visibility=process,file,network
# 72시간 관찰 후 생성된 프로파일 확인
kubectl get applicationprofile my-agent-pod -o yaml# 학습된 Application Profile DNA를 기반으로 생성된 KubeArmor 정책
apiVersion: security.kubearmor.com/v1
kind: KubeArmorPolicy
metadata:
name: agent-learned-policy
spec:
selector:
matchLabels:
app: my-agent
# 관찰된 정상 프로세스만 허용
process:
matchPaths:
- path: /usr/bin/python3
- path: /usr/local/bin/node
action: Allow
# 관찰된 정상 파일 접근만 허용
file:
matchDirectories:
- dir: /workspace/
recursive: true
action: Allow
# 민감 경로 차단
file:
matchPaths:
- path: /etc/
- path: /root/
action: Block이 접근 방식은 에이전트의 정상 행동 범위를 일일이 사전 정의하기 어려운 경우에 특히 유용합니다. 관찰 기간을 충분히 확보한 후 정책으로 전환하는 것을 권장합니다. 최소 48~72시간, 이상적으로는 대표적인 업무 사이클 전체를 포함하는 것이 좋습니다.
장단점 분석
장점
| 항목 | 내용 |
|---|---|
| 프레임워크 독립성 | LangChain, AutoGen, 커스텀 에이전트 등 모든 프레임워크에 동일하게 적용됩니다 |
| 무코드 계측 | 애플리케이션 코드 수정 없이 기존 시스템에 사이드카처럼 부착할 수 있습니다 |
| 낮은 오버헤드 | AI 워크로드 기준 1~3% CPU 추가 부하로 프로덕션 적용이 가능합니다 |
| 커널 레벨 강도 | 에이전트 코드에서 우회하거나 비활성화할 수 없는 강도 높은 제어를 제공합니다 |
| 불변 감사 로그 | SHA-256 해시 체인 JSONL로 사후 위·변조 방지 및 법적 증거 능력을 확보합니다 |
| 실시간 차단 | 감지뿐 아니라 이상 행동을 실행 직전에 차단하는 능동적 방어가 가능합니다 |
단점 및 주의사항
| 항목 | 내용 | 대응 방안 |
|---|---|---|
| 의미론적 맹점 | 프로세스 스폰과 네트워크 연결은 보이지만, 프롬프트 인젝션이 발생한 _이유_는 파악이 어렵습니다 | 애플리케이션 레이어 LLM 호출 분석과 병행하는 것을 권장합니다 |
| Linux 전용 | eBPF는 Linux 커널에 종속됩니다 | macOS·Windows 환경에서는 Falco 규칙 기반 대안 또는 컨테이너 환경 활용을 고려할 수 있습니다 |
| 운영 복잡도 | NemoClaw 공식 문서조차 "정확한 프로덕션 설정은 전문가 수준"이라 경고합니다 | 관찰 모드(audit)로 시작해 점진적으로 시행(enforce) 강도를 높이는 접근이 안전합니다 |
| 과잉 차단 위험 | 에이전트의 정상 행동 범위를 좁게 정의하면 업무 연속성이 저하될 수 있습니다 | ARMO 방식의 베이스라인 학습으로 false positive를 줄이는 것이 효과적입니다 |
| 암호화 트래픽 | TLS 트래픽 내부를 보려면 SSL uprobe 설정이 필요하며 복잡도가 증가합니다 | AgentSight의 uprobe 구현을 참고하거나, 아웃바운드 도메인 제어만으로 시작해볼 수 있습니다 |
| 이른 생태계 | OpenClaw 생태계 자체가 2026년 초 기준 빠르게 진화 중입니다 | 프로덕션 도입 전 각 도구의 릴리스 안정성과 호환성을 확인하는 것을 권장합니다 |
실무에서 가장 흔한 실수
- 시행 모드로 즉시 전환하기: 관찰 기간 없이 바로
enforce모드를 활성화하면 에이전트의 정상 동작까지 차단되어 운영 장애로 이어질 수 있습니다. 최소 48~72시간의 관찰 기간을 거치는 것이 좋습니다. - eBPF만으로 충분하다고 판단하기: 앞서 살펴본 의미론적 맹점처럼, 커널 이벤트는 무엇*을 했는지는 알려주지만 *왜 그랬는지(프롬프트 인젝션, 목표 하이재킹 등)는 알려주지 않습니다. L7 애플리케이션 레이어 분석과 반드시 병행해야 완전한 맥락을 얻을 수 있습니다.
- 에이전트 신원(Identity) 추적 생략하기: 멀티 에이전트 환경에서 어떤 에이전트가, 어떤 자격증명으로, 어떤 액션을 수행했는지 추적하지 않으면 사고 원인 분석이 불가능해집니다. 에이전트별 고유 식별자와 자격증명 범위를 감사 로그에 포함하는 것이 중요합니다.
마치며
런타임 거버넌스는 AI 에이전트 보안의 마지막 방어선이 아닙니다. 의미론적 맹점에서 살펴봤듯, 커널 이벤트는 에이전트가 무엇을 했는지 알려주지만 왜 그랬는지는 알려주지 않습니다. 런타임 거버넌스는 프롬프트 보호, 모델 평가, 애플리케이션 레이어 검증 등 기존 보안 레이어가 닿지 못하는 실행 시점을 담당하는 필수 계층으로 이해하는 것이 정확합니다. 모든 보안 계층은 서로를 보완합니다.
EU AI Act 고위험 의무조항이 4개월 후인 2026년 8월 발효됩니다. 에이전트 행동의 감사 가능성(auditability)은 선택이 아닌 규정 준수 요건이 되어가고 있습니다. 지금이 런타임 거버넌스 아키텍처를 도입하기에 적절한 시점입니다.
지금 바로 시작해볼 수 있는 3단계:
- 단독 관찰만 원한다면, AgentSight로 현재 에이전트 행동을 파악하는 것부터 시작해볼 수 있습니다.
git clone https://github.com/eunomia-bpf/agentsight후sudo ./agentsight monitor --pid $(pgrep -f "your-agent")명령어로 현재 실행 중인 에이전트의 모든 syscall과 네트워크 요청을 관찰해볼 수 있습니다. 정책 시행 없이 현황을 먼저 파악하는 가장 빠른 방법입니다. - 감사 가능성(auditability) 요건이 있다면, Clawprint로 SHA-256 해시 체인 감사 로그를 구성해볼 수 있습니다.
github.com/cyntrisec/clawprint의 JSONL 스키마를 참고해 기존 에이전트 로그에hash_prev/hash_self필드를 추가하고, 위에서 소개한 Python 검증 유틸리티로 무결성 검증 파이프라인을 구성해볼 수 있습니다. - LangChain·AutoGen 기반 스택을 운영 중이라면, Microsoft Agent Governance Toolkit을 연동해볼 수 있습니다.
github.com/microsoft/agent-governance-toolkit은 주요 에이전트 프레임워크와 통합할 수 있는 미들웨어를 제공합니다. 처음에는audit모드로만 설정해두고 OWASP 에이전틱 AI Top 10 항목별 이벤트 발생 현황을 먼저 파악해보시기를 권장합니다.
다음 글: OWASP 에이전틱 AI Top 10 심층 분석 — 목표 하이재킹, 메모리 포이즈닝, 계단식 실패를 방어하는 구체적인 아키텍처 패턴
참고 자료
- AgentSight: System-Level Observability for AI Agents Using eBPF | arXiv
- AgentSight: eBPF-Powered AI Agent Observability | eunomia
- eBPF for AI Agent Enforcement: What Kernel-Level Security Catches (and What It Misses) | ARMO
- Introducing the Agent Governance Toolkit | Microsoft Open Source Blog
- Top Runtime AI Governance & Security Platforms for Production LLMs & Agentic AI (2026) | AccuKnox
- OWASP Top 10 for Agentic Applications 2026 | OWASP Gen AI Security Project
- Defensible Design for OpenClaw: Securing Autonomous Tool-Invoking Agents | arXiv
- OpenClaw Security Architecture and Hardening Guide | Nebius
- NemoClaw Architecture — OpenShell Runtime & Security Layers Deep Dive
- GitHub: cyntrisec/clawprint — Tamper-Evident Audit Trail for OpenClaw
- GitHub: knostic/openclaw-telemetry — JSONL + SIEM Telemetry for OpenClaw
- GitHub: microsoft/agent-governance-toolkit
- AI Agents Are Actors, Not Tools: Why Enterprises Need Runtime Governance | StrongDM
- eBPF Foundation 2025 Year in Review