AI 에이전트에 루트 접근 권한을 부여하면 어떻게 될까?
Source: Dev.to
Why I built Cordum
저는 AI 에이전트에 집착합니다 – 챗봇이 아니라 실제로 무언가를 수행하는 에이전트 말이죠:
- 풀 리퀘스트 머지
- 쿠버네티스에 배포
- 데이터베이스 레코드 업데이트
- 여러분을 대신해 슬랙 메시지 전송
기술은 준비돼 있지만, 프로덕션에 배포하려고 할 때마다 같은 일이 일어났습니다:
보안 팀이 거부했습니다.
솔직히 말해서, 그들은 옳았습니다.
감사 로그, 승인 워크플로, 강제 정책 없이 AI에게 프로덕션 시스템에 쓰는 권한을 주는 것은 인턴에게 루트 권한을 주고 최선을 기대하는 것과 같습니다. 팀들은 제가 “PoC Purgatory”(증명 개념 지옥) 라 부르는 상황에 빠집니다 – 거버넌스 스토리가 없어서 절대 배포되지 않는 인상적인 데모들 말이죠.
모든 AI 행동이 실행되기 전에 정책 검사를 통과해야 한다면 어떨까요?
그것이 Cordet의 핵심 아이디어입니다.
Architecture
┌─────────────┐ ┌──────────────┐ ┌─────────────┐
│ AI Agent │ --> │ Safety Kernel │ --> │ Action │
└─────────────┘ └──────────────┘ └─────────────┘
│
┌──────┴──────┐
│ Policy │
│ (as code) │
└─────────────┘
어떤 작업이 실행되기 전에, Safety Kernel은 여러분의 정책을 평가하고 다음 중 하나를 반환합니다:
- ✅ Allow – 정상적으로 진행
- ❌ Deny – 이유와 함께 차단
- 👤 Require Approval – 인간이 개입
- ⏳ Throttle – 속도 제한
Example Policy (policy.yaml)
rules:
- id: require-approval-for-prod
match:
risk_tags: [prod, write]
decision: require_approval
reason: "Production writes need human approval"
- id: block-destructive
match:
capabilities: [delete, drop, destroy]
decision: deny
reason: "Destructive operations not allowed"
- id: allow-read-only
match:
risk_tags: [read]
decision: allow
에이전트가 위험한 작업을 시도하면, Cordet가 개입합니다:
{
"job_id": "job_abc123",
"decision": "require_approval",
"reason": "Production writes need human approval",
"matched_rule": "require-approval-for-prod"
}
작업은 대시보드에서 인간이 승인할 때까지 대기합니다 – 전체 감사 로그가 남고, 규정 준수에 적합합니다.
제어 플레인 (에이전트 프레임워크가 아님)
Cordet는 에이전트를 오케스트레이션하고 관리합니다; LangChain, CrewAI 등을 대체하지 않습니다.
┌─────────────────────────────────────────────────────────┐
│ Cordet Control Plane │
├─────────────────────────────────────────────────────────┤
│ ┌───────────┐ ┌──────────────┐ ┌─────────────────┐ │
│ │ Scheduler │ │ Safety Kernel │ │ Workflow Engine │ │
│ └───────────┘ └──────────────┘ └─────────────────┘ │
├─────────────────────────────────────────────────────────┤
│ ┌───────────────┐ ┌───────────────────────────────┐ │
│ │ NATS Bus │ │ Redis (State) │ │
│ └───────────────┘ └───────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
│ │ │
┌────┴────┐ ┌────┴────┐ ┌───┴────┐
│ Worker │ │ Worker │ │ Worker │
│ (Slack) │ │ (GitHub)│ │ (K8s) │
└─────────┘ └─────────┘ └────────┘
기술 스택
| 구성 요소 | 기술 |
|---|---|
| 핵심 제어 플레인 | Go (~15 K lines) |
| 메시지 버스 | NATS JetStream (at‑least‑once delivery) |
| 상태 저장소 | Redis |
| 대시보드 | React (실시간 업데이트) |
성능
dashboard– 바로 당신의 대시보드입니다.
더 큰 그림
나는 처음에 거버넌스를 규정 준수를 위한 “불가피한 악”으로 보았다. 이제는 이를 feature로 본다. 모든 AI 행동이 정책에 따라 평가되고 기록되었음을 증명할 수 있을 때, 이전에는 불가능했던 사용 사례를 열 수 있다:
- 은행은 AI 에이전트를 안전하게 사용할 수 있다.
- 헬스케어는 AI 에이전트를 자신 있게 도입할 수 있다.
“쓰기 권한”은 경쟁 우위가 된다.
오픈‑소스, SaaS가 아니라
처음부터 폐쇄형 SaaS로 만들 수도 있었지만, 오픈‑소스는:
- 코드를 검토할 수 있어 신뢰를 구축합니다
- 커뮤니티 기여를 장려합니다
- 누구든지 제어 플레인을 사내에서 실행할 수 있게 합니다
Cordet – 오픈‑소스 AI 에이전트 프레임워크
- 셀프‑호스팅 가능 – 기업들은 온‑프레미스에서 실행할 수 있는 점을 선호합니다.
- 커뮤니티 퍼널 – 기여와 생태계 성장을 장려합니다.
- 오픈‑코어 비즈니스 모델
- 셀프‑호스팅 버전: 영구 무료.
- 클라우드/엔터프라이즈 기능: 유료 플랜.
로드맵
- 쿠버네티스 배포를 위한 Helm 차트.
- Cordet Cloud – 완전 관리형 SaaS 제공.
- 대시보드에 통합된 시각적 워크플로우 편집기.
- 추가 통합 팩 (AWS, GCP, PagerDuty 등).
빠른 링크
- 🌐 웹사이트:
- 📦 GitHub:
- 📋 프로토콜 (CAP):
- 📚 문서:
AI 에이전트를 구축하고 내장된 거버넌스가 필요하다면 Cordet을 사용해 보세요.
⭐ 레포지토리에 스타를 눌러 유용하다고 생각하면 알려 주세요!
피드백을 환영합니다 – 무엇이 빠졌나요? 프로젝트에 더 유용하게 만들려면 어떤 점이 필요할까요?
읽어 주셔서 감사합니다! 댓글로 언제든 질문에 답변해 드리겠습니다.