teum.

배포 전에 확인하는 보안 검토

당신이 만든 것의 위험을, 세상에 내놓기 전에 알게 됩니다.

발견 위치와 수정 방향, 점검하지 못한 범위까지.
코드의 다음 결정을, 근거와 함께 내리세요.

샘플은 로그인과 자료 전송 없이 체험할 수 있어요.

직접 점검은 사전 승인된 계정에서 이용할 수 있어요.

샘플로 보는 결과

흩어진 근거가,
하나의 리포트로.

checkout-apimain샘플 리포트 · F-014

높음정적 분석 예시 · 실행 검증 안 함

SQL 쿼리에 사용자 입력이 직접 포함됨

CWE-89

발견 위치 01

src/users/user.repository.ts : 42

const sql = `SELECT id, email FROM users
  WHERE email = '${email}'`;
return this.dataSource.query(sql);

발견 근거 02

입력값이 SQL 명령과
섞이는 지점이에요.

요청의 email 값이 SQL 문자열에 직접 합쳐져, 쿼리 구조에 영향을 줄 수 있어요.

샘플 규칙 teum/sql-user-input

수정 방향 03

명령과 값을 분리하세요.

적용 전, 드라이버의 파라미터 형식과 반환값을 확인하세요.

MariaDB + TypeORM 예시

return this.dataSource.query(
  'SELECT id, email FROM users WHERE email = ?',
  [email],
);

미리 작성된 샘플 해설 예시예요.
코드 적용과 실행 검증은 직접 확인해야 해요.

발견 근거와 수정안 보기

결과를 읽는 기준

확인한 것과
확인하지 못한 것을 함께.

발견 건수만으로 판단하지 않도록, 근거와 점검 범위를 함께 보여드려요.

  1. 발견 근거

    어디서 발견했는지

    파일·줄·규칙을 따라 발견 근거를 읽고,
    수정 전후 코드를 비교해요.

    샘플 리포트R-042 · F-014

    src/users/user.repository.ts42행

    SQL 쿼리에 사용자 입력이 직접 포함됨

    발견 규칙
    teum/sql-user-input
  2. 검토할 내용

    무엇을 확인해야 하는지

    수정 방향과 검토할 내용을 확인해요.
    처리 상태를 바꾸어도 재점검 결과가 되지는 않아요.

    샘플 리포트R-042 · F-014

    수정 후, 직접 확인할 것

    • 정상 이메일 조회 결과가 기존과 같은지 확인
    • 사용자 입력이 SQL 문법이 아닌 값으로 전달되는지 확인

    실행 검증 안 함

  3. 점검 범위

    어디까지 점검했는지

    지원·제외·미점검 범위를 구분해요.
    무엇을 살펴봤고, 무엇이 남았는지 함께 확인하세요.

    샘플 리포트R-042
    지원
    코드 정적 분석 · 비밀정보 패턴
    제외
    제외 패턴에 해당하는 파일
    미점검
    의존성 분석 현재 미지원

자료를 맡기기 전에

자료가 어디로 가는지,
먼저 확인하세요.

어떤 자료가 전송되고, 어떻게 분석되는지.
선택한 코드의 전송 범위와 결과의 보관·삭제 상태까지
데이터 처리 페이지에서 안내해요.

데이터 처리 확인
  1. 선택한 코드

    선택한 범위의 지원 텍스트 파일

  2. 격리된 분석

    코드를 실행하지 않는 정적 분석

  3. 결과와 처리 기록

    발견 근거와 자료의 보관·삭제 상태

점검 준비

저장소를 연결하고,
필요한 코드부터.

전송할 범위를 먼저 확인하고,
선택한 커밋의 코드만 준비해요.

GitHub로 준비하는 두 단계준비 예시
  1. 코드 안의 근거

    저장소와 폴더 선택

    checkout-apimain
    src/선택한 폴더

    별도 연결한 저장소에서 지원하는 텍스트 파일만 수집해요.

  2. 전송 전 범위 확인

    필요한 코드만 준비

    선택한 범위
    src/
    분석 언어
    JS · TS · Python 정적 분석
    코드 기준
    선택한 커밋 고정

    한 번에 준비할 수 있는 범위

    지원 파일
    최대 2,000개
    원본 용량
    100 MiB
    압축 후
    20 MiB

    큰 저장소도, 필요한 폴더부터. 압축 후 20 MiB가 넘으면 폴더를 좁혀 선택할 수 있어요.

이제, 다음 결정을 내릴 차례

내 코드에 필요한 질문을, 샘플에서 먼저 만나보세요.

샘플로 체험하기