
railward: 증명을 서명하는 AI 에이전트용 셀프 공격형 게이트웨이
요약
railward는 신뢰할 수 없는 AI 코딩 에이전트를 보호하기 위한 페일 클로즈(fail-closed) 방식의 게이트웨이입니다. 자체적인 적대적 공격 기능을 통해 보안성을 검증하며, Ed25519 서명을 통해 차단된 내역에 대한 반증 가능한 증명을 제공합니다.
핵심 포인트
- 페일 클로즈 방식으로 명시적 허용 외 모든 동작 차단
- 41개의 위험 명령 세트를 활용한 자체 적대적 공격 기능 포함
- Ed25519 서명과 해시 체인을 통한 보안 검증 증명 생성
- Claude Code 플러그인 및 Python 라이브러리로 사용 가능
대부분의 AI 코딩 에이전트용 가드레일(guardrails)은 단순히 당신이 그것들을 신뢰하기만을 요구합니다. 저는 스스로를 공격하고 당신에게 그 증명을 전달하는 가드레일을 만들었습니다.
이것은 무엇인가
railward는 신뢰할 수 없는 AI 코딩 에이전트를 위한 페일 클로즈(fail-closed) 게이트입니다. 에이전트는 어떤 동작이든 제안할 수 있으며, 작은 순수 함수(pure function)가 허용(allow), 거부(deny), 또는 요청(ask) 여부를 결정합니다. 이 결정은 페일 클로즈(fail-closed) 방식으로 이루어지므로, 정책이 명시적으로 허용하지 않는 모든 것은 거부됩니다. 모델은 결정 단계에 절대 도달하지 않습니다.
내가 중요하게 생각하는 부분
이 도구는 자체적인 적대적 공격자(adversary)를 포함하고 있습니다. 즉, 반드시 거부해야 하는 41개의 위험한 명령 세트와 페일 오픈(fail-open) 프로브(probes)가 포함되어 있습니다. 매 실행 시마다 정확히 무엇이 차단되었는지에 대해 해시 체인(hash-chained) 방식의 Ed25519 증명을 서명합니다. 규칙 하나를 거부(deny)에서 허용(allow)으로 바꾸면 증명은 빨간색으로 변합니다. 이 주장은 반증 가능하며, 낯선 사람도 이를 재현할 수 있습니다.
$ railward attack --out proof.json
41 attacks, 41 blocked, 0 leaked; 4 fail-open probes, 0 open -> proof.json
아무것도 설치하지 않고 검증하기
https://ourbando.github.io/railward/verify.html 의 브라우저 검증기를 열고, proof.json을 붙여넣으면 브라우저에서 해시 체인을 재계산하고 Ed25519 서명을 확인합니다. 아무것도 업로드되지 않습니다.
사용 방법
pip install railward를 설치한 후, CLI 또는 Python 라이브러리를 사용하세요.- Claude Code 플러그인으로 사용:
/plugin marketplace add Ourbando/railward실행 후/plugin install railward@railward실행. - 의존성이 거의 없는 순수 Python으로, 당신의 자체 하드웨어에서 오프라인으로 실행됩니다.
이것은 제어 계층(control layer)이지 보증(guarantee)이 아니며, 위협 모델(threat model)은 어떤 소프트웨어 게이트도 넘을 수 없는 한계에 대해 솔직하게 명시하고 있습니다.
기여하기
공격자는 공격당 한 줄씩 대응합니다. 만약 차단해야 할 위험한 명령 클래스를 알고 있다면, 이를 추가하는 것은 서명된 증명 (signed proof)에 결합되는 단 한 줄의 PR (Pull Request)이며, 해당 PR을 종료한 변경 로그 (changelog) 라인에 귀하의 이름이 남게 됩니다.
MIT 라이선스, 116개의 테스트 통과. Star, Fork, 그리고 공격을 환영합니다: https://github.com/Ourbando/railward
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기