
AI 기반 취약점 발견 및 실시간 검증을 위한 터미널 워크벤치입니다.

대부분의 "AI 보안" 도구는 취약해 보이는 코드를 플래그 지정하는 데 그칩니다. RedAI는 한 단계 더 나아갑니다: 스캐너 에이전트가 후보 결과물을 생성한 후, 검증기 에이전트가 실제 환경(대상의 실행 인스턴스와 상호작용에 필요한 도구) 내에서 작업하여 보고서에 포함되기 전에 각 결과물을 증명하거나 반증합니다. UI를 클릭하고, 엔드포인트를 호출하고, PoC 스크립트를 작성하고, 도우미 서버를 호스팅하고, 증거를 저장합니다.
환경은 플러그인입니다. RedAI에는 두 가지(실제 Chrome 브라우저와 iOS 시뮬레이터)가 포함되어 있으며, 작은 인터페이스를 구현하여 직접 작성할 수 있습니다(Linux VM, Android 에뮬레이터, Kubernetes 클러스터, 임베디드 장치 심 등).
실행이 끝나면 심각도별로 정렬된 결과물, 결과물별 재현 단계, 검증기의 판정(확인됨, 반증됨, 테스트 불가) 및 에이전트가 수집한 실제 증거(PoC 스크립트, HTTP 트랜잭션, 로그, 스크린샷)가 포함된 상세 보고서(Markdown, HTML, JSON)를 받게 되어, 확인된 모든 결과물에 주장뿐만 아니라 증거가 함께 제공됩니다. 실제 예시는 examples/webapp/example-report.md 또는 examples/iosapp/example-report.md를 참조하세요.
승인된 사용만 허용됩니다. 자신이 소유하거나 평가 권한이 있는 소프트웨어 및 환경에서만 RedAI를 사용하세요. 에이전트 출력은 불완전하거나 잘못될 수 있습니다. 결과물과 증거를 검토한 후에 조치를 취하세요.
리포지토리에는 두 개의 의도적으로 취약한 데모 앱이 포함되어 있어, 자신의 코드를 대상으로 하지 않고도 RedAI를 처음부터 끝까지 볼 수 있습니다: Browser 환경용 examples/webapp과 iOS 시뮬레이터 환경용 examples/iosapp입니다.
# 1. RedAI 설치
bun install -g @kpolley/redai
# 2. 한 터미널에서 데모 대상 시작
cd examples/webapp && bun run dev # http://localhost:3000
# 3. 다른 터미널에서 RedAI 시작
redai
RedAI에서 http://localhost:3000을 가리키는 Browser 환경을 만들고, exampleuser / examplepassword로 한 번 로그인한 후, 준비 완료로 표시하고, examples/webapp에 대한 스캔을 시작하세요. 검증기가 Chrome을 구동하여 실제 결과물을 확인하는 모습을 지켜보세요.
이 앱의 실제 스캔에서 생성된 전체 보고서는 examples/webapp/example-report.md에 있습니다. GitHub에서 인라인으로 렌더링되므로 실행하지 않고도 RedAI가 생성하는 내용을 볼 수 있습니다.
npm에서:
bun install -g @kpolley/redai
redai
또는 로컬 체크아웃에서:
git clone https://github.com/kpolley/redai.git
cd redai
bun install
bun run redai
RedAI는 자격 증명이 필요할 때 작업 디렉터리에서 .env를 읽습니다. 기존 셸 환경 변수가 우선 적용됩니다.
스캐너 키는 하나만 필요합니다. 사용할 스캐너에 해당하는 키를 설정하세요.
# Claude (하나 선택)
ANTHROPIC_API_KEY=...
# 또는 Codex
OPENAI_API_KEY=...
스캔에는 소스 디렉터리와 준비된 검증 환경(검증기 에이전트가 상호작용할 실제 대상, 내장 환경 중 하나 또는 직접 추가한 환경)이 필요합니다.
ready로 표시합니다.스캐너 에이전트는 소스를 분류하고 조사합니다. 검증기 에이전트는 확인된 것으로 보이는 결과물을 가져와 실제 환경에서 실행합니다. 보고서는 스캔이 완료되면 ~/.redai/runs/<runId>/report.md (및 .html)에 기록됩니다.
키보드 단축키는 src/tui/README.md를 참조하세요.
각 스캔은 세 단계로 진행됩니다:
confirmed, unable-to-test, 또는 disproved로 끝납니다.~/.redai/runs/<runId>/에 기록됩니다.전체 9단계 파이프라인(사전 점검, 위협 모델, 파일 우선순위 지정, 분석 단위, 단위 스캔, 결과물 집계, 검증 계획, 검증 실행, 보고)은 src/pipeline/README.md를 참조하세요.
검증 환경은 검증기 에이전트가 대상의 실행 인스턴스와 상호작용하는 데 필요한 모든 것입니다. RedAI는 환경을 플러그인으로 취급합니다. 각 환경은 src/validators/validator-plugin.ts의 작은 인터페이스를 구현하고, 자체 설정/해제를 처리하며, 에이전트가 그 안에서 가져야 할 도구를 노출합니다.
새로운 스캔은 ready로 표시된 환경만 사용할 수 있습니다. 스캔이 시작되면 검증기는 계획에 필요한 모든 작업(UI 구동, 셸 명령 실행, PoC 스크립트 작성, 도우미 서버 호스팅, 로그 수집, 스크린샷 저장)을 수행합니다. 이 모든 것은 ~/.redai/runs/<runId>/artifacts/ 아래에 저장됩니다.

참조 구현으로 두 가지 환경이 기본 제공됩니다:
agent-browser를 통해 구동되는 실제 Chrome 인스턴스. 자세한 내용은 src/validators/web-agent-browser/README.md를 참조하세요.xcrun simctl을 통해 구동되는 스캔별 템플릿 시뮬레이터. 자세한 내용은 src/validators/ios-simulator/README.md를 참조하세요.Linux VM, Android 에뮬레이터, 원격 스테이징 클러스터 또는 더 특이한 환경에 대해 검증하고 싶으신가요? 플러그인을 추가하세요. — 내장된 두 가지와 동일한 인터페이스입니다.
RedAI는 로컬 상태를 ~/.redai/ 아래에 기록합니다(REDAI_HOME으로 재정의 가능). 이러한 파일에는 소스에서 파생된 프롬프트, 에이전트 대화록, 보고서, 증거, 자격 증명, 브라우저 프로필 및 시뮬레이터 메타데이터가 포함될 수 있습니다.
디렉터리 구조는 src/pipeline/README.md를 참조하세요.
명령, 코드 구성 및 프로젝트 규칙은 AGENTS.md에 있습니다. 파이프라인 내부는 src/pipeline/README.md를 참조하고, 새 검증기 환경 추가는 src/validators/validator-plugin.ts를 참조하세요.
MIT — LICENSE를 참조하세요.
| 범위 | 요구 사항 |
|---|
| 코어 | Bun ≥ 1.2, 읽기 가능한 소스 디렉터리 |
| 스캐너 (하나 선택) | Claude: ANTHROPIC_API_KEY, CLAUDE_CODE_USE_BEDROCK 또는 CLAUDE_CODE_USE_VERTEX — 또는 — Codex: OPENAI_API_KEY 또는 CODEX_API_KEY |
| Browser 검증기 | Chrome, agent-browser, 대상 워크스페이스의 .agents/skills/agent-browser |
| iOS 검증기 | macOS, Xcode 명령줄 도구, xcrun simctl, 시뮬레이터 호환 앱(또는 설치된 번들 ID), 대상 워크스페이스의 .agents/skills/ios-simulator-skill |