detecting-csrf-vulnerabilities

仓库创建 2026年6月24日最近提交 21 天前SkillHot 收录 21 天前
▸ 精选理由

能自动识别堆栈并验证token保护,节省手工逐处检查时间。

这个 Skill 做什么

检测项目中缺失或错误配置的CSRF防护(含Spring/JSP场景)。

审查对会改变状态的请求(发帖、修改资料、管理员操作)是否有 CSRF 防护,覆盖 Spring Boot 和 JSP/Servlet 两种场景。会检测 csrf().disable()、表单缺少 token、doPost 未校验、以及 SameSite Cookie 设置等问题,先用规则扫描再用 AI 根据上下文判定保护是否完整。特点是能区分不同栈的防护实现,减少误报并给出修复方向。

▸ 展开 SKILL.md 英文原文

SQIsoft 웹 애플리케이션에서 CSRF(Cross-Site Request Forgery) 취약점을 검사한다. 프로젝트 스택(Spring Boot 모던 / JSP·Servlet 레거시)을 자동 감지하여 스택에 맞는 Semgrep 룰로 1차 탐지하고, AI가 상태변경 엔드포인트의 토큰 보호 유무를 컨텍스트로 검증한다. Spring Security csrf().disable(), 토큰 없는 JSP form POST, 검증 없는 doPost, SameSite 미설정 쿠키 등을 찾는다.

开发编程CSRFWeb安全SpringSemgrep通用
0
Stars
0
Forks
16
仓库内 Skill
+0
7 日增星
安装 / 使用
给你的 Agent 一句话(通用)
帮我安装这个 skill:https://raw.githubusercontent.com/bs-koo/gx-security/main/skills/detecting-csrf-vulnerabilities/SKILL.md
或 curl 直取 SKILL.md
curl -fsSL "https://raw.githubusercontent.com/bs-koo/gx-security/main/skills/detecting-csrf-vulnerabilities/SKILL.md"
SKILL.MD 节选查看完整文件 ↗
# CSRF 취약점 검사 (Cross-Site Request Forgery)

## When to Use

다음 중 하나라도 해당하면 이 스킬을 실행한다.

- SQIsoft 프로젝트(예: `sqisoft-sef-2026`, `Gseed_Web_Renew`)의 **상태를 변경하는 요청**(로그인, 회원정보 수정, 게시글/댓글 작성·삭제, 관리자 설정 변경)을 점검할 때
- 보안 코드 리뷰 / 출시 전 점검에서 CSRF 보호 적용 여부를 확인할 때
- Spring Security 설정에서 `csrf().disable()`이 의심될 때, 또는 JSP `<form>`에 CSRF 토큰이 있는지 확인할 때

**이 스킬을 쓰지 않을 때:** 순수 읽기 전용 API, 인증이 전혀 없는 공개 정적 페이지, 또는 XSS/SQLi 등 다른 취약점 클래스(→ 해당 스킬 사용).

## Prerequisites

- 대상 프로젝트 소스에 대한 읽기 접근
- (선택, 권장) `semgrep` 설치 — 없으면 `scripts/scan_csrf.py`가 `grep` 폴백으로 동작
- 스택 판별 참고: `references/stack-patterns.md`

## Workflow

### 0단계 — 스택 자동 감지

대상 경로의 루트 신호를 확인해 스택을 판별한다. 한 리포에 둘이 섞이면 디렉토리별로 나눠 판별한다.

| 스택 | 감지 신호 | 적용 룰 |
|
via SKILL·HOT · 数据来自 GitHub 公开信息 · 原文版权归作者所有