보안 코딩 프롬프트

프롬프트코딩보안OWASP취약점

보안 코딩을 위한 효과적인 프롬프트 패턴을 알아봅니다.


보안 프롬프트 구조


취약점 분석

코드 리뷰

다음 코드의 보안 취약점을 분석해줘.

[코드]

확인 항목:
- SQL Injection
- XSS
- CSRF
- 인증/인가 문제
- 정보 노출
- 안전하지 않은 설정

각 취약점에 대해:
- 위험도 (상/중/하)
- 공격 시나리오
- 수정 방법

OWASP Top 10 점검

이 코드를 OWASP Top 10 기준으로 점검해줘.

[애플리케이션 코드]

각 항목 확인:
1. Injection
2. Broken Authentication
3. Sensitive Data Exposure
4. XXE
5. Broken Access Control
6. Security Misconfiguration
7. XSS
8. Insecure Deserialization
9. Using Components with Known Vulnerabilities
10. Insufficient Logging

입력 검증

SQL Injection 방지

SQL Injection을 방지하는 코드로 수정해줘.

현재 코드:
const query = `SELECT * FROM users WHERE id = ${userId}`;

요구사항:
- Prepared Statement 사용
- 파라미터 바인딩
- 입력값 타입 검증
- 에러 메시지 보안

XSS 방지

XSS를 방지하는 코드를 작성해줘.

시나리오: 사용자 입력 댓글 표시

요구사항:
- 입력 검증
- 출력 인코딩
- CSP 헤더 설정
- React에서의 안전한 렌더링
- sanitize-html 사용 예시

입력 검증 함수

종합적인 입력 검증 유틸리티를 만들어줘.

검증 대상:
- 이메일
- 전화번호
- URL
- 파일명
- HTML 콘텐츠

요구사항:
- 화이트리스트 방식
- 정규표현식 검증
- 길이 제한
- 특수문자 처리

인증/인가

안전한 인증

안전한 인증 시스템을 구현해줘.

요구사항:
- 비밀번호 해싱 (bcrypt)
- 솔트 처리
- 토큰 생성/검증
- 브루트포스 방지
- 세션 관리

포함 사항:
- 비밀번호 정책
- 로그인 시도 제한
- 안전한 비밀번호 재설정
- 2FA 통합 준비

권한 검사

역할 기반 접근 제어를 구현해줘.

역할:
- Admin: 모든 권한
- Editor: 콘텐츠 수정
- Viewer: 읽기 전용

요구사항:
- RBAC 구현
- 미들웨어 형태
- 리소스별 권한
- 권한 상속
- 감사 로그

데이터 보호

암호화

민감 데이터 암호화 시스템을 만들어줘.

대상:
- 개인정보 (PII)
- 결제 정보
- 세션 데이터

요구사항:
- AES-256 암호화
- 키 관리
- 전송 중 암호화 (TLS)
- 저장 시 암호화
- 키 로테이션

토큰 관리

안전한 JWT 구현을 작성해줘.

요구사항:
- Access Token + Refresh Token
- 적절한 만료 시간
- 안전한 서명 알고리즘
- 토큰 무효화 전략
- XSS/CSRF 방지

포함:
- 토큰 생성
- 검증 미들웨어
- 갱신 로직
- 블랙리스트 (선택)

API 보안

Rate Limiting

Rate Limiting을 구현해줘.

요구사항:
- IP 기반 제한
- 사용자 기반 제한
- 엔드포인트별 설정
- 슬라이딩 윈도우

설정:
- 일반 API: 100 req/min
- 로그인: 5 req/min
- 검색: 30 req/min

Redis 기반 구현

API 키 관리

안전한 API 키 시스템을 만들어줘.

기능:
- 키 생성 (안전한 랜덤)
- 키 해싱 저장
- 키 검증
- 키 범위 제한 (스코프)
- 키 만료 관리

보안 고려:
- 키 노출 방지
- 사용량 추적
- 키 로테이션

로깅/모니터링

보안 로깅

보안 이벤트 로깅 시스템을 구현해줘.

로깅 대상:
- 로그인 성공/실패
- 권한 변경
- 민감 데이터 접근
- 의심스러운 활동

요구사항:
- 민감 정보 마스킹
- 변조 방지
- 검색 가능한 형식
- 보존 기간 설정

이상 탐지

이상 행동 탐지 로직을 작성해줘.

탐지 대상:
- 비정상적 로그인 패턴
- 대량 데이터 요청
- 권한 밖 접근 시도
- 짧은 시간 내 다수 실패

알림:
- 임계값 설정
- 알림 발송
- 자동 차단 (선택)

실전 프롬프트

보안 체크리스트

이 웹 애플리케이션의 보안 체크리스트를 만들어줘.

기술 스택:
- Next.js
- PostgreSQL
- NextAuth.js
- AWS 배포

체크 항목:
1. 인증/세션 관리
2. 입력 검증
3. 출력 인코딩
4. 접근 제어
5. 암호화
6. 에러 처리
7. 로깅
8. 설정 보안
9. API 보안
10. 의존성 관리

각 항목별 구체적 점검 사항과 코드 예시

취약점 수정

다음 보안 취약점들을 수정해줘.

취약점 보고서:
1. 평문 비밀번호 저장
2. SQL Injection in search
3. Missing CSRF token
4. Sensitive data in URL
5. Verbose error messages

각 취약점에 대해:
- 현재 코드
- 수정된 코드
- 추가 권장사항

설명
코드 전체 제공컨텍스트 파악
기술 스택 명시프레임워크별 보안
위협 모델공격 시나리오 설명
규정 언급GDPR, HIPAA 등
우선순위심각도 순서

보안은 시작부터 고려해야 합니다.

궁금한 점이 있으신가요?

협업·의뢰는 아래로, 가벼운 소통은 인스타그램 @bluefox._.hi도 환영이에요.