이 저장소가 대체 무엇인가.
Strix는 허가된(authorized) 보안 테스트 도구다. OWASP ZAP, Burp Suite와 동일한 범주다. 본인이 소유하거나 운영자에게 서면으로 침투 테스트 허가를 받은 시스템 외에는 절대 사용하면 안 된다. 무단 사용은 대부분의 국가에서 형사처벌 대상인 불법 행위다. 이 공부자료는 아키텍처·에이전트 설계·도구 오케스트레이션 같은 교육적 내용에 집중한다.
Strix는 LLM이 단순히 보안 리포트를 읽는 수준이 아니라, 실제로 nmap 스캔 → sqlmap 주입 시도 → Caido 프록시로 요청 분석 → Playwright 브라우저로 XSS 검증까지 직접 도구를 선택하고 실행하는 에이전트 시스템이다.
루트 에이전트가 정찰·익스플로잇·보고 전문 서브 에이전트들을 생성하고 조율한다. 모든 실행은 Kali Linux 기반 Docker 컨테이너 안에서 이루어지므로 호스트 머신은 안전하다. CLI 한 줄(strix --target ./my-app)로 실행하고, CI/CD 파이프라인에도 붙일 수 있다.
트렌딩 이유 · 경쟁 도구 대비 장점.
개발자가 CLI 한 줄로 실제 동작하는 PoC까지 얻는 경험이 트렌딩의 핵심이다. 기존 보안 스캐너는 긴 리포트를 주지만 "진짜 익스플로잇이 되는지" 확인은 사람이 해야 했다. Strix는 AI가 직접 익스플로잇을 실행해 실제 동작을 증명하고, 자동 패치까지 제안한다. CI/CD 통합으로 "PR마다 보안 테스트"가 현실이 됐다.
| 도구 | 방식 | Strix 대비 차이 |
|---|---|---|
| OWASP ZAP | 자동 크롤링 + 패턴 매칭 스캐너 | 룰 기반 — 알려진 패턴만 탐지, 비즈니스 로직 취약점 미탐지. LLM 추론 없음 |
| Burp Suite | HTTP 프록시 + 수동/반자동 분석 | 전문가 수동 작업 필수, 자동화 수준 낮음. 비싼 Pro 라이선스 |
| Nuclei | YAML 템플릿 기반 자동 스캔 | 템플릿에 정의된 취약점만 탐지, 새로운 취약점 패턴 발굴 불가 |
| Semgrep / Bandit | 정적 코드 분석(SAST) | 코드 패턴만 분석 — 런타임 동작, 배포 설정, 체이닝 취약점 미탐지 |
| Strix | 자율 AI 에이전트 (DAST + SAST + LLM 추론) | 실제로 공격 실행 → PoC 검증 → 패치 제안. 비즈니스 로직·체이닝 취약점도 탐지 |
기존 스캐너의 최대 약점은 "경고는 많은데 실제로 공격이 되는지 모른다"는 것이다. Strix는 LLM이 직접 sqlmap·Playwright·Caido를 조합해 공격을 실행하고, 성공하면 그 HTTP 요청/응답 전체를 PoC 증거로 보고한다. "가능성 있는 취약점"이 아닌 "실제로 공격 성공한 취약점"만 보고한다.
자동화된 AI 에이전트는 창의적이지만, 고도로 맥락화된 비즈니스 로직 취약점이나 복잡한 인증 체계는 숙련된 인간 테스터가 더 잘 찾는다. Strix는 빠른 1차 스캔과 개발자 보안 인식 향상 도구로 가장 잘 활용된다. 공식 README에도 "Only test apps you own or have permission to test"라고 명시되어 있다.
Python 에이전트 프레임워크 + Kali 컨테이너 + LLM 연동.
| 라이브러리 / 모듈 | 역할 |
|---|---|
openai-agents[litellm]==0.14.6 | 핵심 에이전트 프레임워크. OpenAI의 Agents SDK. SandboxAgent 클래스로 Docker 샌드박스 내 도구 실행을 담당 |
LiteLLM (openai-agents 플러그인) | 모든 LLM 프로바이더 통합 레이어. OpenAI·Anthropic·Google·Vertex AI·Bedrock·로컬 Ollama 등 100+ 모델을 동일 API로 사용 |
pydantic 2.x + pydantic-settings | 설정·스캔 파라미터 데이터 모델 검증. 타입 안전 설정 로딩 |
docker 7.1+ | Docker 데몬 Python 클라이언트. 컨테이너 생성·관리·파일 복사 |
textual 6.0+ | 터미널 UI(TUI) 프레임워크. 실시간 에이전트 상태·취약점 발견 스트리밍 화면 |
rich | 터미널 색상 출력. Non-interactive 모드(CI/CD)에서 취약점 리포트 표시 |
cvss 3.2 | CVSS(공통 취약점 점수 체계) 계산. 취약점 심각도 점수 산출 |
caido-sdk-client 0.2+ | Caido HTTP 프록시를 Python에서 제어. 프록시 요청 목록 조회·재전송·사이트맵 분석 |
jinja2 | 에이전트 시스템 프롬프트 템플릿 렌더링. 스캔 모드·화이트박스 여부에 따라 프롬프트 동적 생성 |
requests | HTTP 클라이언트. 웹 검색·외부 API 연동 |
| 도구 | 역할 (모두 Docker 컨테이너 내부) |
|---|---|
| Kali Linux (kali-rolling) | 컨테이너 베이스 이미지. 보안 도구 패키지가 사전 설치된 Debian 계열 배포판 |
| nmap + ncat | 포트 스캔·서비스 지문 수집·네트워크 정찰. NET_ADMIN/NET_RAW 권한으로 raw socket 사용 |
| sqlmap | SQL 인젝션 자동 탐지·익스플로잇. DB 종류 자동 인식, 파라미터 퍼징 |
| Nuclei | YAML 템플릿 기반 취약점 스캐너. CVE·OWASP Top 10 패턴 자동 검사 |
| Caido (caido-cli v0.56) | HTTP 인터셉트 프록시. 에이전트가 앱의 모든 HTTP 트래픽을 가로채고 분석 |
| agent-browser (Playwright 기반) | 헤드리스 Chromium. XSS·CSRF·클릭재킹·인증 우회 등 브라우저 취약점 검증 |
| subfinder + httpx + katana | 서브도메인 열거·HTTP 프로브·웹 크롤링. 공격 표면 매핑 |
| ffuf + dirsearch | URL 경로·파라미터 퍼징. 숨겨진 엔드포인트·파일 발견 |
| semgrep + bandit | SAST 도구. 화이트박스 모드에서 소스 코드 취약 패턴 분석 |
| gitleaks + trufflehog | 시크릿·하드코딩된 자격증명 탐지. API 키·비밀번호 코드 내 누출 검사 |
| jwt_tool + zaproxy + wapiti | JWT 취약점·OWASP ZAP 스캔·DAST 추가 레이어 |
| tree-sitter (다국어 파서) | Java·Python·Go·JS·TS·Bash·JSON·YAML AST 생성. 에이전트의 코드 구조 이해 |
| 구성요소 | 역할 |
|---|---|
| Docker (런타임 필수) | 샌드박스 컨테이너 실행. StrixDockerSandboxClient가 NET_ADMIN·NET_RAW 권한과 host-gateway로 컨테이너 생성 |
PyPI (strix-agent) | pip install strix-agent로 설치. Python 3.12~3.14 지원. PyInstaller로 독립 실행 바이너리도 제공 |
| GitHub Actions | CI/CD 통합. PR마다 strix -n -t ./ --scan-mode quick 실행, 취약점 발견 시 non-zero exit |
| PostHog + Scarf | 익명 사용 텔레메트리. 스캔 카운트·모델 사용 패턴 수집 (opt-out 가능) |
| SQLite (agents.db) | 에이전트 세션 영속성. 스캔 중단 시 strix --resume <scan-id>로 재개 가능 |
에이전트 루프 · 멀티 에이전트 그래프 · Docker 샌드박싱 설계.
openai-agents SDK의 SandboxAgent는 일반 Agent와 달리, 도구 실행을 로컬 프로세스가 아닌 Docker 컨테이너 안에서 수행한다. Strix는 StrixDockerSandboxClient로 이를 확장해 Kali Linux 이미지에 NET_ADMIN/NET_RAW 권한을 추가하고 host.docker.internal 호스트 게이트웨이를 연결했다. 에이전트가 nmap -sS로 raw socket 스캔을 실행해도 컨테이너 밖은 영향받지 않는다.
루트 에이전트가 create_agent() 도구를 호출하면 새로운 서브 에이전트가 생성된다. 각 에이전트는 독립적인 SQLite 세션(agents.db)을 갖고, AgentCoordinator가 전체 트리를 관리한다. "정찰 에이전트", "SQL 인젝션 전문 에이전트", "보고서 작성 에이전트"처럼 분업하며, send_message_to_agent()로 발견 정보를 공유한다. 스캔이 중단되면 agents.json 스냅샷으로 어떤 에이전트가 어떤 상태였는지 저장해 재개한다.
에이전트의 시스템 프롬프트는 strix/agents/prompts/system_prompt.jinja에서 Jinja2 템플릿으로 렌더링된다. 스캔 모드(quick/standard/deep), 화이트박스 여부(소스코드 유무), 루트/자식 에이전트 여부에 따라 다른 "스킬" 블록이 주입된다. 스킬은 strix/skills/ 폴더의 파일들로, tooling/agent_browser, scan_modes/deep, coordination/root_agent 등이 있다. 프롬프트를 코드에 하드코딩하지 않고 파일로 관리하는 구조다.
에이전트 루프는 LLM이 finish_scan()(루트) 또는 agent_finish()(자식)를 호출할 때만 종료된다. _finish_tool_use_behavior() 함수가 도구 실행 결과를 검사해 "scan_completed": true 또는 "agent_completed": true 페이로드가 있으면 루프를 멈춘다. 이 신호 없이 텍스트만 출력한 채 끝내면 오류로 기록된다. LLM이 "작업이 끝났다"고 판단해도 반드시 지정된 도구를 호출해야 하는 명시적 종료 계약이다.
기존 스캐너(ZAP·Nuclei)는 체크리스트를 가진 인턴이다. 목록에 있는 항목을 하나씩 확인하고 "이 패턴 있음/없음"을 체크한다. 빠르지만 목록에 없는 새로운 유형은 놓친다.
Strix는 팀장(루트 에이전트)과 전문가들(서브 에이전트)로 이루어진 레드 팀이다. 팀장이 "이 앱은 Node.js + JWT 인증이네 — JWT 전문가와 API 퍼저를 붙이자"고 판단해 직접 지시하고, 전문가들이 실제로 공격을 실행한다. 성공하면 "이 토큰으로 관리자 계정에 접근했다"는 증거를 들고 팀장에게 보고하고, 팀장이 최종 보고서를 작성한다.
Python 패키지 구조와 각 모듈의 책임 범위.
이 레포에서 무엇을 배울 수 있는가.
Strix의 핵심은 LLM이 function_tool로 등록된 Python 함수들을 선택·호출하고, 결과를 다시 LLM에 피드백하는 루프다. core/execution.py의 run_agent_loop()를 읽으면, 에이전트가 어떻게 "생각 → 도구 선택 → 실행 → 결과 분석 → 다음 도구 선택"을 반복하는지 배울 수 있다. @function_tool 데코레이터로 함수를 도구로 등록하는 패턴도 바로 익힐 수 있다.
볼 파일: strix/core/execution.py, strix/tools/thinking/tool.py
strix/core/agents.py의 AgentCoordinator는 에이전트 간 부모-자식 관계, 상태(running/waiting/completed/failed/stopped), 메시지 큐를 관리한다. 에이전트가 중단되면 상태를 JSON으로 직렬화해 디스크에 저장하고, 재시작 시 복원한다. 멀티 에이전트 시스템의 상태 관리 문제를 어떻게 해결하는지 볼 수 있는 실제 사례다.
볼 파일: strix/core/agents.py, strix/tools/agents_graph/tools.py
StrixDockerSandboxClient는 openai-agents SDK의 DockerSandboxClient를 서브클래싱해 필요한 Docker 설정(NET_ADMIN 권한, 호스트 게이트웨이, ENTRYPOINT 보존)을 주입한다. SDK의 부모 클래스 메서드를 "verbatim copy + delta" 방식으로 오버라이드하는 현실적 패턴을 볼 수 있다. Docker를 Python에서 제어하는 전체 흐름이 잘 문서화되어 있다.
볼 파일: strix/runtime/docker_client.py, strix/runtime/backends.py
STRIX_LLM="anthropic/claude-sonnet-4-6"처럼 환경변수 하나만 바꾸면 Anthropic Claude로 동작한다. LiteLLM이 각 프로바이더의 API 차이를 추상화해준다. strix/config/models.py를 보면 모델 이름에서 프로바이더를 파싱하고, Chat Completions API와 Responses API의 차이를 처리하는 코드를 볼 수 있다. 멀티 LLM 프로바이더를 지원하는 앱을 만들 때 바로 참고 가능한 패턴이다.
볼 파일: strix/config/models.py, pyproject.toml의 openai-agents[litellm]
strix/interface/tui/app.py는 Textual 프레임워크로 구성된 터미널 UI다. 에이전트가 발견하는 취약점, 실행 중인 도구, 비용 사용량이 실시간으로 갱신된다. Textual의 컴포넌트 기반 UI 구성, 비동기 이벤트 처리, 반응형 레이아웃을 실제 프로덕션 코드에서 배울 수 있다.
볼 파일: strix/interface/tui/app.py, strix/interface/tui/live_view.py
에이전트는 exec_command 도구로 컨테이너 셸에서 nmap, sqlmap, nuclei, ffuf 등을 실행하고 출력을 파싱한다. Caido 프록시는 Python SDK(caido-sdk-client)로 직접 제어한다. 보안 도구를 자동화 파이프라인에서 어떻게 사용하는지 배울 수 있는 실제 예시다. Dockerfile을 보면 각 도구를 어떻게 조합 설치하는지도 배울 수 있다.
볼 파일: strix/tools/proxy/caido_api.py, containers/Dockerfile
로컬 개발 환경부터 CI/CD 배포까지.
| 항목 | 요구사항 / 비고 |
|---|---|
| 필수 — Docker | Docker Desktop(Mac/Windows) 또는 Docker Engine(Linux). Kali 샌드박스 컨테이너 실행에 반드시 필요. docker ps가 동작해야 함 |
| Python | 3.12 이상 필수 (pyproject.toml requires-python = ">=3.12"). 3.13·3.14도 지원 |
| LLM API 키 | OpenAI·Anthropic·Google 등 지원 프로바이더 중 하나 필요. LLM_API_KEY 환경변수. 로컬 Ollama도 가능 |
| RAM | 최소 4GB 여유 권장. Kali 컨테이너 + LLM 추론 동시 실행. 대형 코드베이스 화이트박스 스캔 시 8GB+ |
| 디스크 | Kali 이미지 자동 풀(최초 실행 시 수 GB). 스캔 결과는 strix_runs/에 저장 |
| 네트워크 | LLM API 호출 필요. 화이트박스 모드는 오프라인 가능(LLM만 로컬 시). 블랙박스 타깃 스캔은 외부 인터넷 필요 |
| OS | Linux·macOS·Windows 지원. Docker 실행 가능 환경이면 됨 |
| CI/CD | ubuntu-latest GitHub Actions 러너 기본 지원. Docker 사전 설치됨. strix -n -t ./ --scan-mode quick |
| 비용 | GPT-5.4 기준 일반 스캔 $2~10 예상. --max-budget으로 비용 상한 설정 가능. ReportUsageHooks가 토큰·비용 추적 |
DVWA(Damn Vulnerable Web Application)는 의도적으로 취약하게 만든 실습용 웹 앱이다. docker run -d -p 80:80 vulnerables/web-dvwa로 로컬에 띄운 뒤 strix --target http://localhost로 스캔하면 본인 컴퓨터에서 완전히 합법적으로 Strix를 테스트할 수 있다. 알려진 취약점이 가득하므로 Strix가 실제로 무엇을 찾아내는지 확인하기 좋다.
모든 실습은 본인 환경 또는 의도적 취약 앱(DVWA 등)에서만 수행한다.
아래 실습은 모두 로컬 Docker 컨테이너(localhost) 또는 의도적 취약 앱(DVWA·WebGoat)을 대상으로 한다. 타인의 서버, 클라우드 서비스, 공용 웹사이트에 절대 실행하지 않는다. 실수로 실행하는 것도 법적 책임이 생길 수 있다.
의도적 취약 앱 DVWA를 Docker로 띄우고 Strix로 스캔한다. 어떤 취약점을 찾는지 직접 확인한다.
# 1. Strix 설치
pip install strix-agent
# 2. LLM 설정 (예: OpenAI)
export STRIX_LLM="openai/gpt-4o"
export LLM_API_KEY="sk-..."
# 3. 의도적 취약 앱 실행 (localhost:8080)
docker run -d -p 8080:80 vulnerables/web-dvwa
# 4. Strix 스캔 (본인 로컬만 — http://localhost)
strix --target http://localhost:8080
# 스캔 결과는 strix_runs/ 폴더에 저장됨
WebGoat(의도적 취약 Java 앱) 소스코드를 로컬에 클론한 뒤 화이트박스 모드로 스캔한다. LLM이 소스코드와 실행 환경을 함께 분석하는 방식을 관찰한다.
# WebGoat 소스코드 클론 (학습용 의도적 취약 앱)
git clone https://github.com/WebGoat/WebGoat.git
cd WebGoat
# 소스코드 화이트박스 스캔 (standard 모드)
strix --target ./WebGoat --scan-mode standard
# 또는 GitHub URL로 직접 클론 + 스캔
strix --target https://github.com/WebGoat/WebGoat
-n 플래그로 TUI 없이 실행해 CI/CD 환경을 시뮬레이션한다. exit code로 취약점 발견 여부를 확인하는 자동화 패턴을 익힌다.
# Non-interactive 모드 (터미널 출력만, TUI 없음)
strix -n --target http://localhost:8080
# exit code 확인 (0=취약점 없음, 1=취약점 발견)
echo "Exit code: $?"
# 빠른 스캔 모드 (변경 파일만)
strix -n --target ./ --scan-mode quick
Strix의 @function_tool 패턴을 따라 간단한 도구를 직접 만들어본다. 에이전트 SDK가 어떻게 Python 함수를 LLM이 호출할 수 있는 도구로 변환하는지 이해한다.
# strix/tools/에서 간단한 도구 패턴 참고
from agents import RunContextWrapper, function_tool
@function_tool(timeout=30)
async def my_custom_tool(ctx: RunContextWrapper, target_url: str) -> str:
"""내 커스텀 보안 도구 — 에이전트가 이 설명을 읽고 도구를 선택한다.
Args:
target_url: 분석할 URL
"""
# 실제 로직 구현
return f"분석 결과: {target_url}"
# @function_tool이 함수 시그니처에서 JSON Schema를 자동 생성함
# LLM은 docstring + 파라미터 타입을 보고 도구 사용 방법을 이해함
스캔 중 Ctrl+C로 강제 종료한 뒤, --resume으로 재개하는 실험을 한다. strix_runs/ 폴더의 agents.json과 agents.db를 직접 열어 에이전트 상태가 어떻게 저장되는지 분석한다.
# 스캔 시작 (scan-id 메모해두기)
strix --target http://localhost:8080
# 중간에 Ctrl+C로 중단
# strix_runs/ 폴더 탐색
ls strix_runs/
cat strix_runs/scan-XXXXX/.state/agents.json
# 중단된 스캔 재개
strix --resume scan-XXXXX
# SQLite 에이전트 DB 직접 열기 (sqlite3 CLI)
sqlite3 strix_runs/scan-XXXXX/.state/agents.db ".tables"
한 주씩 따라가는 "AI 에이전트 + 보안 엔지니어링" 코스.
| 주차 | 주제 | 학습 자료 / 할 일 |
|---|---|---|
| 1주차 | 웹 보안 기초 | OWASP Top 10 공식 문서 정독. DVWA 설치 후 수동으로 SQL 인젝션·XSS 시도해보기. "공격을 이해해야 방어를 설계한다" |
| 2주차 | LLM 에이전트 기초 | openai-agents SDK 공식 튜토리얼. @function_tool 데코레이터 패턴 직접 구현. ReAct(Reason + Act) 에이전트 패턴 이해 |
| 3주차 | Docker 심화 | Docker 공식 문서 — 네트워크 모드, 권한(capabilities), 볼륨 마운트. Strix의 StrixDockerSandboxClient 코드 분석 |
| 4주차 | Caido / HTTP 프록시 | Caido 공식 문서. MITM 프록시 동작 원리 이해. strix/tools/proxy/caido_api.py 분석 — SDK로 프록시 제어하는 방법 |
| 5주차 | LiteLLM 멀티 프로바이더 | LiteLLM 공식 문서. 동일 코드로 OpenAI·Anthropic·Ollama 전환 실습. Strix config/models.py 분석 |
| 6주차 | Textual TUI 개발 | Textual 공식 튜토리얼. 간단한 TUI 앱 직접 만들기. strix/interface/tui/ 코드를 템플릿 삼아 개인 CLI 도구에 TUI 추가 |
| 7주차 | 멀티 에이전트 오케스트레이션 | AgentCoordinator 패턴 깊이 분석. 에이전트 간 메시지 전달, 상태 직렬화, 재개 메커니즘 이해. Strix를 기반으로 도메인 특화 에이전트 설계해보기 |
| 8주차 | CI/CD 보안 통합 | GitHub Actions로 Strix 스캔 워크플로 직접 작성. SARIF 포맷 이해. DevSecOps "Shift Left" 원칙 적용. 취약점 발견 시 PR 자동 코멘트 추가 |
본문에 나온 용어 빠른 참조.
| 용어 | 의미 |
|---|---|
| 침투 테스트 (Pentest) | 시스템 소유자 허가 하에 실제 공격자처럼 취약점을 찾고 검증하는 보안 평가. 단순 코드 분석이 아닌 실제 공격 실행으로 "진짜 먹히는지" 확인한다. |
| DAST | Dynamic Application Security Testing. 앱이 실행된 상태에서 실제 요청을 보내 취약점을 탐지. 런타임 동작·설정 오류까지 발견 가능. Strix의 주요 접근법. |
| SAST | Static Application Security Testing. 소스코드를 실행 없이 분석. 빠르지만 런타임 취약점은 놓칠 수 있다. Strix 화이트박스 모드에서 semgrep/bandit으로 보완. |
| OWASP Top 10 | 가장 흔하고 위험한 웹 취약점 10가지 목록 (OWASP 재단 발표). 인젝션·인증 결함·XSS·SSRF 등. Strix가 탐지 대상으로 삼는 취약점 분류. |
| PoC (Proof of Concept) | 취약점이 실제로 공격 가능함을 증명하는 최소한의 코드/요청. Strix는 단순 경고 대신 실제로 동작하는 HTTP 요청·응답 전체를 PoC로 제시한다. |
| CVSS | Common Vulnerability Scoring System. 취약점 심각도를 0~10 점수로 표준화한 체계. Strix가 cvss 라이브러리로 각 취약점 점수를 산출한다. |
| Caido | Burp Suite 대안 HTTP 인터셉트 프록시. Strix 샌드박스에 내장되어 에이전트가 앱의 모든 HTTP 트래픽을 가로채고 재전송한다. |
| SandboxAgent | openai-agents SDK의 에이전트 타입. 도구 실행을 Docker 컨테이너 내부에서 수행해 호스트 머신을 보호한다. Strix가 이를 확장해 보안 도구 실행 환경을 만들었다. |
| function_tool | openai-agents SDK의 데코레이터. Python 함수의 시그니처·타입 힌트·docstring에서 JSON Schema를 자동 생성해 LLM이 호출 가능한 도구로 등록한다. |
| LiteLLM | OpenAI·Anthropic·Google·Azure·Bedrock·로컬 모델 등 100+ LLM 프로바이더를 동일 API로 통합하는 Python 라이브러리. Strix가 멀티 프로바이더 지원에 활용. |
| ReAct 패턴 | Reason + Act. LLM이 "추론(Thought) → 행동(Action) → 관찰(Observation)"을 반복하는 에이전트 패턴. Strix의 에이전트 루프가 이 패턴을 따른다. |
| Textual | Python 터미널 UI 프레임워크. React/Vue처럼 컴포넌트 기반으로 TUI를 만든다. Strix의 실시간 스캔 화면에 사용. |
| NET_ADMIN / NET_RAW | Linux 컨테이너 권한(capability). raw socket 사용·네트워크 인터페이스 제어 허가. nmap의 SYN 스캔(-sS)에 필요해 Strix 컨테이너에 추가. |
| XSS (Cross-Site Scripting) | 공격자의 악성 스크립트를 타깃 웹사이트에 주입해 다른 사용자 브라우저에서 실행하는 취약점. Strix가 Playwright 브라우저로 실제 실행 여부를 검증. |
| SQL 인젝션 | SQL 쿼리에 악의적 입력을 주입해 DB를 무단 조회·변조하는 취약점. Strix가 sqlmap으로 자동 탐지·익스플로잇. OWASP Top 10 단골. |
| SSRF | Server-Side Request Forgery. 서버가 공격자 지정 URL로 요청을 보내도록 유도하는 취약점. 내부 서비스·메타데이터 API 접근에 악용 가능. |
| 화이트박스 / 블랙박스 | 화이트박스: 소스코드를 보며 테스트. 블랙박스: 소스코드 없이 동작하는 앱만 테스트. Strix는 로컬 디렉토리를 주면 화이트박스, URL만 주면 블랙박스 모드로 자동 전환. |
| DevSecOps / Shift Left | 보안 테스트를 개발 초기·CI/CD 단계에서 수행하는 문화. Strix의 GitHub Actions 통합이 이 원칙의 실천 방법. |