코드 리뷰 다 했어요. 테스트 코드도 통과했어요. 자신만만하게 배포했는데…
다음 날 Slack에 알림이 뜨죠.
“어… 이거 취약점 있는 것 같은데요?”
저도 이거 몇 번 겪었어요.
솔직히 개발자가 보안까지 다 챙기기 쉽지 않잖아요. 기능 구현하랴, 테스트 코드 짜랴, 코드 리뷰하랴… 보안 전문가 따로 있는 팀이면 모르겠는데, 대부분은 그냥 “될 것 같은데?” 하고 넘어가거든요.
근데 말이죠.
**”진짜 해커처럼 우리 코드를 공격해보고, 취약점 찾으면 PoC(공격 증명)까지 만들어주는 AI”**가 있으면 어떨 것 같아요?
그게 있어요. 진짜로.
GitHub에서 19.6k 스타를 받은 오픈소스 프로젝트, Strix입니다.

Strix가 뭔데?
Strix… 뭔 소린지 모르겠죠?
쉽게 말할게요.
“AI 해커를 고용해서 우리 앱 공격하게 시키는 것”
끝. 이게 전부예요.
근데 이 AI 해커가 좀 무서워요. 왜냐면 진짜 해커처럼 행동하거든요.
| 구분 | 기존 보안 스캐너 | Strix |
|---|---|---|
| 작동 방식 | 패턴 매칭 (규칙 기반) | 자율 탐색 (AI 추론) |
| 결과 | “여기 취약할 수 있음” | “여기 취약함 + 이렇게 공격됨” |
| 검증 | 없음 (오탐 많음) | PoC 제공 (실제 증명) |
| 탐지 범위 | 알려진 패턴만 | 비즈니스 로직 결함까지 |
기존 SAST/DAST 도구들은 패턴 매칭 방식이에요. “이런 코드 패턴은 위험할 수 있다”고 경고만 하죠. 근데 진짜 취약한지 아닌지는 개발자가 직접 확인해야 해요.
Strix는 달라요.
직접 공격해보고, 성공하면 “이렇게 뚫렸다”는 증거까지 보여줍니다.
이게 왜 무서운지 아세요?
오탐(False Positive)이 거의 없어요. 왜냐면 실제로 뚫어봤으니까.
어떻게 작동하는 거야?
Strix의 핵심은 “Think-Plan-Act-Observe” 루프예요.
진짜 해커가 공격할 때 하는 사고 과정을 AI가 그대로 따라 해요:
1. Think: "이 앱에서 뭘 공격할 수 있을까?" ↓ 2. Plan: "인증 우회부터 시도해보자" ↓ 3. Act: 실제로 공격 시도 ↓ 4. Observe: "어? 이거 뚫리네" ↓ (반복)
그리고 이 AI 에이전트한테 진짜 해커 도구들을 다 줘요:
Strix가 가진 무기들
🌐 HTTP 프록시 - 요청/응답 조작 🖥️ 브라우저 자동화 - XSS, CSRF, 인증 흐름 테스트 💻 터미널 셸 - 명령어 실행 🐍 Python 런타임 - 커스텀 익스플로잇 개발 🔍 정찰 도구 - OSINT, 공격 표면 매핑 📊 코드 분석 - 정적/동적 분석
뭔 소린지 모르겠죠? 쉽게 말하면 이거예요.
해커가 쓰는 도구 다 갖고 있고, 그걸 AI가 알아서 조합해서 쓴다.
근데 진짜 웃긴 게요.
이게 멀티 에이전트로 작동해요. 혼자 하는 게 아니라 여러 AI 에이전트가 팀처럼 협력하면서 공격해요.
Manager 에이전트: "IDOR 취약점 찾아봐" ↓ Worker 에이전트 1: "포트 스캔 중..." Worker 에이전트 2: "디렉토리 브루트포싱 중..." Worker 에이전트 3: "인증 토큰 분석 중..." ↓ "발견됨! 사용자 ID 바꾸니까 다른 사람 데이터 접근 가능"
이런 식으로요.
실제로 뭘 잡아내는데?
솔직히 “뭘 못 잡는지” 말하는 게 더 빠를 것 같아요.
Strix가 탐지하는 취약점들
접근 제어 결함:
- IDOR (권한 없는 객체 접근)
- 권한 상승
- 인증 우회
주입 공격:
- SQL 인젝션
- NoSQL 인젝션
- 커맨드 인젝션
서버사이드 취약점:
- SSRF (서버사이드 요청 위조)
- XXE (XML 외부 엔티티)
- 역직렬화 결함
클라이언트사이드 취약점:
- XSS (크로스 사이트 스크립팅)
- 프로토타입 오염
- DOM 취약점
비즈니스 로직 결함:
- 레이스 컨디션
- 워크플로우 조작
인증 문제:
- JWT 취약점
- 세션 관리 결함
인프라 설정:
- 미스컨피규레이션
- 노출된 서비스
여기서 주목할 게 비즈니스 로직 결함이에요.
기존 스캐너들은 이걸 못 잡아요. 왜냐면 패턴이 없거든요. “동시에 결제 버튼 두 번 누르면 한 번만 과금됨” 같은 건 코드만 봐서는 모르잖아요.
근데 Strix는 실제로 동시에 눌러봐요. 그리고 뚫리면 알려줘요.
이게 진짜 무서운 거예요.
설치부터 실행까지
설치 어려울 것 같죠?
아니에요. 진짜 간단해요.
사전 요구사항
✅ Docker 실행 중 ✅ LLM API 키 (OpenAI, Anthropic 등)
끝.
설치
# 한 줄 설치 curl -sSL https://strix.ai/install | bash # 또는 pipx로 pipx install strix-agent
API 키 설정
# OpenAI 사용할 경우 export STRIX_LLM="openai/gpt-5" export LLM_API_KEY="sk-xxx..." # Claude 사용할 경우 export STRIX_LLM="anthropic/claude-sonnet-4-5" export LLM_API_KEY="sk-ant-xxx..."
첫 스캔 실행
# 로컬 코드베이스 스캔 strix --target ./my-app # GitHub 레포지토리 스캔 strix --target https://github.com/org/repo # 배포된 웹앱 스캔 strix --target https://your-app.com
처음 실행하면 Docker 이미지 다운받느라 좀 걸려요. 그 다음부터는 바로 시작됩니다.
결과는 strix_runs/<run-name> 폴더에 저장돼요.
고급 사용법
인증된 테스트 (회색 상자 테스트)
strix --target https://your-app.com \ --instruction "로그인 정보 user:password로 인증된 테스트 수행"
멀티 타겟 (소스코드 + 배포된 앱 동시에)
strix -t https://github.com/org/app -t https://your-app.com
특정 취약점에 집중
strix --target api.your-app.com \ --instruction "비즈니스 로직 결함과 IDOR에 집중"
자세한 지시사항 파일로 전달
strix --target api.your-app.com \ --instruction-file ./pentest-scope.md
CI/CD에 통합하기
이게 진짜 핵심이에요.
배포할 때마다 자동으로 보안 테스트를 돌리면, 취약점이 프로덕션에 배포되기 전에 잡힙니다.
GitHub Actions 예시
name: strix-penetration-test
on:
pull_request:
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install Strix
run: curl -sSL https://strix.ai/install | bash
- name: Run Strix
env:
STRIX_LLM: ${{ secrets.STRIX_LLM }}
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
run: strix -n -t ./ --scan-mode quick
-n 플래그는 헤드리스 모드(비대화형)예요. CI/CD에서 돌릴 때 필수.
취약점 발견되면 non-zero exit code로 종료돼서 PR이 자동으로 블록됩니다.
이게 왜 좋냐면요.
“보안 리뷰 해야 하는데 시간이 없어서…”
이 핑계가 사라져요.
AI가 매 PR마다 자동으로 해주니까.
지원하는 LLM 모델
Strix는 **LLM 불가지론적(agnostic)**이에요. 뭔 소린지 모르겠죠?
쉽게 말하면 아무 LLM이나 쓸 수 있다는 거예요.
권장 모델 (최상 결과)
| 모델 | 설정값 |
|---|---|
| OpenAI GPT-5 | openai/gpt-5 |
| Anthropic Claude Sonnet 4.5 | anthropic/claude-sonnet-4-5 |
| Google Gemini 3 Pro | vertex_ai/gemini-3-pro-preview |
그 외 지원
- AWS Bedrock
- Azure OpenAI
- 로컬 모델 (Ollama, LMStudio 등)
로컬 모델 쓰면 API 비용 아낄 수 있어요. 근데 성능은… 음. GPT-5나 Claude 쓰는 게 결과가 좋긴 해요.
# 로컬 모델 사용 시 export LLM_API_BASE="http://localhost:11434/v1" # Ollama 예시 export STRIX_LLM="llama3.1:70b"
솔직한 마음: 이거 쓰면서 느낀 점
솔직히 처음 돌렸을 때 좀 충격받았어요.
“설마 뭐가 나오겠어?” 하고 내 토이 프로젝트에 돌려봤거든요.
IDOR 하나, JWT 검증 누락 하나, 레이스 컨디션 하나.
3개 나왔어요.
그것도 PoC까지.
“이 API에 이 토큰으로 요청 보내면 다른 사용자 데이터 접근 가능” 이런 식으로요.
솔직히 좀 무서웠습니다.
내가 직접 짠 코드인데, 내가 모르는 취약점이 있었다는 거잖아요.
근데 다르게 생각하면 이거예요.
내가 프로덕션에 배포하기 전에 알았으니까 다행이지.
실제 해커가 먼저 발견했으면? 생각하기도 싫어요.
아쉬운 점도 있어요
- LLM 비용: 꽤 많이 나와요. 복잡한 앱 스캔하면 API 호출이 수백 번 나가거든요.
- 알파 버전: 아직 v0.7.0이에요. 가끔 이상하게 동작할 때 있어요. 빠르게 업데이트되고 있긴 한데, 프로덕션 파이프라인에 넣기 전에 충분히 테스트하세요.
- 오래 걸림: “빠르다”고 하는데, 그건 수동 펜테스팅 대비예요. 복잡한 앱은 몇 시간 걸릴 수 있어요.
내가 앞으로 할 것들
- 사이드 프로젝트 배포 전 Strix 돌리기: 습관화할 거예요. 5분 투자해서 취약점 미리 잡으면 이득이잖아요.
- GitHub Actions에 통합: 팀 프로젝트에 PR 체크로 넣을 생각이에요. quick 모드로 빠르게 체크하고, 주 1회는 full 스캔.
- 로컬 모델 테스트: API 비용 줄이려고 Ollama로 돌려볼 예정이에요. 성능 차이 얼마나 나는지 비교해볼게요.
마무리: 이거 꼭 써봐야 하는 이유
정리할게요.
Strix는 “AI 펜테스터”예요.
- 진짜 해커처럼 앱을 공격해봐요
- 취약점 찾으면 PoC까지 만들어줘요
- 오탐이 거의 없어요 (진짜 뚫린 거만 리포트)
- 오픈소스고 무료예요
- CI/CD에 통합하면 자동화 가능
보안 전문가 없는 팀에서 특히 유용해요.
“우리도 펜테스팅 받아보고 싶은데, 비용이…” 하는 팀 있잖아요?
이제 핑계 없어요.
무료 오픈소스니까요.
⚠️ 주의: 본인 소유거나 테스트 허가받은 앱에만 사용하세요. 무단으로 남의 앱 스캔하면 불법이에요.
참고 자료
- Strix GitHub – 19.6k 스타 (2026년 2월 기준)
- Strix 공식 문서
- Strix 공식 사이트
FAQ
Q: 무료인가요?
A: 네, Apache 2.0 라이선스 오픈소스예요. 단, LLM API 비용은 별도입니다.
Q: 어떤 언어/프레임워크 지원하나요?
A: 언어 불문이에요. 웹앱이면 다 됩니다. API, 정적 사이트, SPA 다 가능.
Q: 로컬에서만 돌릴 수 있나요?
A: 아니요. GitHub 레포지토리 URL 주면 직접 클론해서 분석하고, 배포된 URL 주면 블랙박스 테스트도 해요.
Q: 발견된 취약점 어떻게 수정하나요?
A: 리포트에 취약점 설명과 권장 수정 방법이 같이 나와요. 그대로 따라하면 됩니다.
Q: CI/CD에서 타임아웃 나면?
A: --scan-mode quick으로 빠른 스캔 모드 쓰세요. 전체 스캔은 야간 크론잡으로 돌리는 게 좋아요.
Q: 프라이빗 레포지토리도 되나요?
A: 네. GitHub 토큰 설정하거나, 로컬에 클론한 후 --target ./ 하면 됩니다.
🏷️ 태그: #Strix #AI보안 #펜테스팅 #취약점스캐너 #DevSecOps #오픈소스 #보안자동화