코드를 실행하지 않고
위험한 모양을 찾습니다
사용자가 입력칸에 쓴 한 줄이 데이터베이스 질의나 다른 사람 화면에 그대로 섞여 들어가면 사고가 납니다. 코드를 돌려 보지 않고 구조로 읽어서, 그 값이 위험한 지점까지 진짜로 흘러가는지 따라가요. 언어에 맞는 엔진만 켜고, 여러 엔진이 같은 자리를 잡으면 한 건으로 묶습니다.
점검 대상
저장소 최신 코드
받게 되는 것
위치 · 이유 · 고칠 방법이 적힌 한국어 리포트
포함 플랜
무료 플랜
무엇을 확인하나요
- SQL·명령 실행·파일 경로 조작 — 사용자 입력이 그 지점까지 실제로 흘러가는 8개 통로를 추적합니다
- 정제 없이 HTML로 그려지는 자리(dangerouslySetInnerHTML 등) — 남이 넣은 스크립트가 다른 사용자 화면에서 실행되는 경로입니다
- 인증 확인이 빠진 API 주소와 서버 동작 — 저장·삭제 같은 쓰기 요청까지 로그인 없이 부를 수 있는 상태입니다
- AI 앱에서 자주 나오는 프롬프트 인젝션 표면 — 사용자가 쓴 글이 그대로 모델 지시문에 섞이는 자리입니다. “앞의 지시는 무시하고…” 한 줄로 챗봇을 빼앗기는 경로예요
탐지 예시
| 위치 | 판정 |
|---|---|
| app/api/orders/route.ts:42 | SQL 인젝션 |
| lib/render.tsx:18 | 정제 없는 HTML 렌더 |
| app/api/admin/route.ts:7 | 인증 가드 없음 |
| utils/hash.ts:22 | 비밀번호를 md5로 해시 |
어떻게 동작하나요
01
훑기
저장소 최신 코드를 내려받아 어떤 언어·프레임워크인지 판별하고, 거기에 맞는 엔진만 켭니다.
02
겹쳐 읽기
엔진마다 잘 잡는 영역이 다릅니다. 결과를 합친 뒤 같은 파일·같은 줄에서 나온 중복을 한 건으로 묶습니다.
03
정리
남은 항목을 심각도와 근거의 확실함 순으로 세우고, 어디가 왜 위험하고 어떻게 고치는지 한국어로 적습니다.
자주 묻는 질문
- 거짓 경고가 많지 않나요?
- 근거의 세기를 숨기지 않습니다. 실행해서 확인한 것(실증), 코드 모양으로 미루어 본 것(가능성), 사람이 한 번 봐야 하는 것(점검)을 나눠 표시하고, 위쪽에는 근거가 확실한 것만 올립니다.
- 찾아만 주고 끝인가요?
- 무료 플랜에서도 어디가 왜 위험하고 무엇을 바꾸면 되는지까지 알려드립니다. 그 수정을 저장소에 변경 제안(PR, pull request)으로 직접 올려 드리는 것은 베이직 플랜부터입니다. 어느 경우에도 승인 전에는 저장소가 바뀌지 않습니다.
함께 보면 좋은 기능
내 저장소에서도
같은 문제가 있는지 보세요
무료 플랜은 카드 등록 없이 시작합니다.