← Back to Skills

sql-injection-scanner

v1.0.0 approved Security ⬇ 2 ↑ 2/7d updated today
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ Download
Install Guide↓

Static SQL injection vulnerability scanner for code review. Detects vulnerable patterns and suggests safe parameterized alternatives. Defensive use only — does not generate exploit payloads.

# sql-injection # security # static-analysis # code-review # owasp # defensive # parameterized-query # 보안 # 정적분석

Basic Info

Owner 👤 aiskillstore-team Category Security Registered 2026-04-26 Last Updated 2026-04-26 Latest Version 1.0.0 Packaged At 2026-04-26 Vetting Status approved Downloads 2 Checksum (SHA256) 96b1bf72799fbd46467094e5f3a299f9defda00a963b7375ec9e09a509996c4c

⚡ AGENT INFO USK v3

Capabilities
sql_injection_detection static_code_analysis secure_code_review vulnerability_scanning security_audit
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=OpenClaw GET /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=ClaudeCode GET /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=Cursor GET /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=GeminiCLI GET /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=CodexCLI GET /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=CustomAgent

Installation

Compatible Platforms any

1
Install the skill using openclaw_skill_manager.py.
python openclaw_skill_manager.py --install sql-injection-scanner
2
Verify installation
python openclaw_skill_manager.py --list-installed
3
Install a specific version (optional)
python openclaw_skill_manager.py --install sql-injection-scanner --version 1.0.0
1
Download the skill package.
curl -O https://aiskillstore.io/v1/skills/2ba64873-c945-45e3-a45d-2100464ca308/download
2
Place it in the Claude Code commands directory.
unzip sql-injection-scanner.skill -d ~/.claude/commands/sql-injection-scanner/
3
Use it as a slash command in Claude Code.
/sql-injection-scanner
1
Download the Agent Skills package.
curl -O https://aiskillstore.io/v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=ClaudeCodeAgentSkill
2
Unzip it into the Claude Code skills directory.
unzip sql-injection-scanner-agent-skill-*.skill -d ~/.claude/skills/sql-injection-scanner/
3
Restart Claude Code — the skill is auto-loaded at session start. No slash command needed.
1
Download the Cursor-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=Cursor
2
Unzip and place it in a permanent location.
unzip sql-injection-scanner-cursor-*.skill -d ~/.cursor/skills/sql-injection-scanner/
3
Add the MCP server config to .cursor/mcp.json, then restart Cursor.
cat ~/.cursor/skills/sql-injection-scanner/cursor_mcp_config.json
1
Download the Gemini CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=GeminiCLI
2
Unzip and place it in a permanent location.
unzip sql-injection-scanner-geminicli-*.skill -d ~/.gemini/skills/sql-injection-scanner/
3
Add the MCP server config to ~/.gemini/settings.json, then restart Gemini CLI.
cat ~/.gemini/skills/sql-injection-scanner/gemini_settings_snippet.json
1
Download the Codex CLI-converted package.
curl -O https://aiskillstore.io/v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/download?platform=CodexCLI
2
Unzip and place it in a permanent location.
unzip sql-injection-scanner-codexcli-*.skill -d ~/.codex/skills/sql-injection-scanner/
3
Add the MCP server config to ~/.codex/config.toml, then restart Codex CLI.
cat ~/.codex/skills/sql-injection-scanner/codex_config_snippet.toml
1
Download the skill package via REST API.
GET https://aiskillstore.io/v1/skills/2ba64873-c945-45e3-a45d-2100464ca308/download
2
Place it in your agent platform's skills directory.
cp sql-injection-scanner.skill ./skills/
3
Fetch platform-specific details via the Install Guide API.
GET https://aiskillstore.io/v1/skills/2ba64873-c945-45e3-a45d-2100464ca308/install-guide?platform=CustomAgent

Security Vetting Report

Vetting Result APPROVED

Findings: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)"]

✅ No security risks found.

AI Review Stage

Reviewer gemini Risk Level 🟢 Low Review Summary SQL 인젝션 취약점 정적 분석 스킬로, 선언된 권한을 준수하며 악의적인 동작 없이 안전하게 작동합니다.
Reasoning

제출된 스킬 패키지 'sql-injection-scanner'에 대한 보안 검수 결과, 다음과 같은 판단 근거로 'approved' 판정을 내립니다. 1. **선언된 permissions(network/filesystem/subprocess)과 실제 코드 일치 여부:** * 메타데이터에 `network: false`, `filesystem: false`, `subprocess: false`로 명확히 선언되어 있습니다. * `main.py` 및 `lib` 디렉토리 내 모든 코드 파일을 검토한 결과, `requests`, `socket`, `urllib`, `subprocess`, `os.system`, `open()` (임의 파일 접근 목적), `shutil` 등 외부 통신, 파일 시스템 접근, 외부 프로세스 실행과 관련된 모듈이나 함수 호출이 전혀 발견되지 않았습니다. `os` 모듈은 `os.path.dirname`, `os.path.abspath`와 같이 현재 스크립트의 경로를 얻는 용도로만 사용되어 안전합니다. 모든 작업은 표준 라이브러리(`json`, `re`, `sys`)를 사용하여 인메모리 문자열 처리 방식으로 이루어집니다. 선언된 권한과 실제 코드가 완벽하게 일치합니다. 2. **악의적 목적의 코드 여부 (데이터 탈취, 시스템 파괴, 난독화 등):** * 스킬의 목적은 'SQL 인젝션 취약점 정적 스캐너'로, 취약점을 '탐지'하고 '안전한 대안을 제안'하는 '방어적' 도구임을 명시하고 있습니다. 공격 페이로드를 생성하지 않는다고 설명되어 있습니다. * 코드 내용 또한 사용자로부터 입력받은 코드/쿼리 문자열에 대해 정규 표현식 기반의 패턴 매칭을 수행하여 취약점을 식별하고, 미리 정의된 안전한 코드 패턴을 제안하는 로직으로 구성되어 있습니다. 데이터 탈취, 시스템 파괴, 또는 기타 악의적인 동작을 유발할 수 있는 코드는 발견되지 않았습니다. * 정적 분석 결과에서도 난독화 경고(`obfuscation_warnings`)가 없었으며, 코드 가독성도 매우 높습니다. 3. **선언되지 않은 외부 통신 여부:** * 위 1번 항목에서 언급했듯이, 네트워크 관련 모듈이나 함수 사용이 전혀 없어 선언되지 않은 외부 통신은 존재하지 않습니다. 4. **사용자 데이터를 무단으로 수집하거나 전송하는가?** * 스킬은 `stdin`으로 입력을 받아 `stdout`으로 결과를 출력하는 `stdin_stdout` 패턴을 따릅니다. 입력된 사용자 코드나 쿼리 문자열은 스킬 내부에서 분석된 후 결과와 함께 `stdout`으로 반환될 뿐, 어떠한 형태로도 외부로 전송되거나 저장되지 않습니다. 무단 데이터 수집/전송 행위는 발견되지 않았습니다. 5. **코드 품질이 스킬의 목적과 일치하는가?** * 코드는 `main.py`와 `lib` 패키지로 잘 분리되어 모듈화되어 있습니다. 각 모듈은 명확한 역할을 가지며, 주석과 타입 힌트가 잘 작성되어 있어 가독성이 높습니다. * 정규 표현식(`re` 모듈)을 활용한 패턴 매칭은 정적 코드 분석이라는 스킬의 목적에 부합하는 적절한 구현 방식입니다. * `dataclasses`를 활용하여 취약점 발견 결과를 구조화하는 등 코드 품질이 우수하며, 스킬의 설명과 예시에서 제시된 기능들을 안전하고 효율적으로 수행할 수 있도록 설계되었습니다. **결론:** 'sql-injection-scanner' 스킬은 선언된 보안 정책을 완벽하게 준수하며, 악의적인 의도나 위험한 동작 없이 사용자에게 유용한 보안 분석 기능을 제공합니다. 따라서 안전하다고 판단되어 승인합니다.

Version History

Version USK v3 Vetting Status Packaged At Downloads Changelog
v1.0.0 approved 2026-04-26 ⬇ 2 1.0.0: Initial Tier A release — 4 actions, 6 languages, 15+ audit rules, zero external dependencies

Examples 7

Representative input/output examples for this skill. Agents can use these to understand how to invoke the skill and what output to expect.

Python f-string SQL 취약점 탐지
# python# f-string# critical

Python f-string으로 SQL을 조립하는 취약점을 탐지합니다 / Detects f-string SQL injection in Python

📥 Input
{
  "action": "scan_code",
  "code": "import sqlite3\n\ndef get_user(username):\n    conn = sqlite3.connect(\u0027app.db\u0027)\n    cursor = conn.cursor()\n    query = f\"SELECT * FROM users WHERE name = \u0027{username}\u0027\"\n    cursor.execute(query)\n    return cursor.fetchall()\n",
  "language": "python"
}
📤 Output
{
  "action": "scan_code",
  "findings": [
    {
      "line": 5,
      "message_ko": "f-string\uc73c\ub85c SQL\uc744 \uc870\ub9bd\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \ud30c\ub77c\ubbf8\ud130\ud654 \ucffc\ub9ac\ub97c \uc0ac\uc6a9\ud558\uc138\uc694.",
      "rule_id": "PY-INJ-002",
      "severity": "critical"
    }
  ],
  "language_detected": "python",
  "severity_counts": {
    "critical": 1,
    "high": 0,
    "low": 0,
    "medium": 0
  },
  "summary_en": "2 finding(s) \u2014 critical: 1, high: 0, medium: 0, low: 0",
  "summary_ko": "\ucd1d 2\uac1c \ucde8\uc57d\uc810 \ubc1c\uacac (\uc2ec\uac01: 1, \ub192\uc74c: 0, \uc911\uac04: 0, \ub0ae\uc74c: 0)",
  "total_findings": 2
}
Node.js Template Literal SQL 탐지
# nodejs# template-literal# critical

Node.js에서 template literal로 SQL을 조립하는 취약점 탐지 / Detects template literal SQL injection in Node.js

📥 Input
{
  "action": "scan_code",
  "code": "const mysql = require(\u0027mysql2/promise\u0027);\n\nasync function findUser(userId) {\n  const sql = `SELECT * FROM users WHERE id = ${userId}`;\n  const [rows] = await pool.query(sql);\n  return rows;\n}\n",
  "language": "nodejs"
}
📤 Output
{
  "action": "scan_code",
  "language_detected": "nodejs",
  "severity_counts": {
    "critical": 1,
    "high": 0,
    "low": 0,
    "medium": 0
  },
  "summary_ko": "\ucd1d 1\uac1c \ucde8\uc57d\uc810 \ubc1c\uacac (\uc2ec\uac01: 1, \ub192\uc74c: 0, \uc911\uac04: 0, \ub0ae\uc74c: 0)",
  "total_findings": 1
}
SQL 쿼리 문자열 위험 신호 분석
# query# template-literal# sql-comment

단일 SQL 쿼리 문자열의 위험 패턴을 분석합니다 / Analyzes a SQL query string for injection risk signals

📥 Input
{
  "action": "scan_query",
  "query": "SELECT * FROM users WHERE id = ${userId} -- admin bypass"
}
📤 Output
{
  "action": "scan_query",
  "risk_level": "critical",
  "risk_score": 90,
  "summary_en": "Risk level: critical (score: 90/100). 3 signal(s) detected.",
  "summary_ko": "\uc704\ud5d8\ub3c4: \uc2ec\uac01 (\uc810\uc218: 90/100). \ud0d0\uc9c0\ub41c \uc2e0\ud638 3\uac1c."
}
Python 안전 코드 제안
# python# suggest-fix# parameterized

Python 취약 코드에 대한 안전한 파라미터화 패턴 제안 / Suggests safe parameterized patterns for Python vulnerable code

📥 Input
{
  "action": "suggest_fix",
  "language": "python",
  "vulnerable_code": "cursor.execute(\"SELECT * FROM orders WHERE user_id=\" + str(user_id))\n"
}
📤 Output
{
  "action": "suggest_fix",
  "fix_summary_ko": "python \uc548\uc804 \ud328\ud134: Python DB-API 2.0 \ud30c\ub77c\ubbf8\ud130\ud654 \ucffc\ub9ac",
  "general_principles_ko": [
    "\uc0ac\uc6a9\uc790 \uc785\ub825\uc744 \uc808\ub300 SQL \ubb38\uc790\uc5f4\uc5d0 \uc9c1\uc811 \uc0bd\uc785\ud558\uc9c0 \ub9c8\uc138\uc694.",
    "\ud56d\uc0c1 \ud30c\ub77c\ubbf8\ud130\ud654 \ucffc\ub9ac(Prepared Statement)\ub97c \uc0ac\uc6a9\ud558\uc138\uc694."
  ],
  "language": "python",
  "placeholder_style": "%s (psycopg2/MySQL) \ub610\ub294 ? (sqlite3)"
}
Java PreparedStatement 제안
# java# prepared-statement# suggest-fix

Java 취약 코드에 대한 PreparedStatement 패턴 제안 / Suggests PreparedStatement pattern for Java vulnerable code

📥 Input
{
  "action": "suggest_fix",
  "language": "java",
  "vulnerable_code": "String sql = \"SELECT * FROM users WHERE id=\" + userId;\nStatement stmt = conn.createStatement();\nResultSet rs = stmt.executeQuery(sql);\n"
}
📤 Output
{
  "action": "suggest_fix",
  "fix_summary_ko": "java \uc548\uc804 \ud328\ud134: Java PreparedStatement \ud30c\ub77c\ubbf8\ud130\ud654 \ucffc\ub9ac (JDBC \ud45c\uc900)",
  "language": "java",
  "placeholder_style": "? (\uc704\uce58 \uae30\ubc18 \ud50c\ub808\uc774\uc2a4\ud640\ub354)"
}
다중 파일 프로젝트 감사 (Python)
# audit# python# multi-file

Python 프로젝트 다중 파일의 SQL 위생 전체 감사 / Full SQL hygiene audit of multiple Python project files

📥 Input
{
  "action": "audit",
  "files": [
    {
      "code": "def find_user(email):\n    cursor.execute(\"SELECT * FROM users WHERE email=\u0027\" + email + \"\u0027\")\n    return cursor.fetchone()\n",
      "filename": "models/user.py"
    },
    {
      "code": "def search_products(name):\n    stmt = db.prepare(\"SELECT id, name FROM products WHERE name = %s\")\n    stmt.execute((name,))\n    return stmt.fetchall()\n",
      "filename": "models/product.py"
    }
  ],
  "language": "python"
}
📤 Output
{
  "action": "audit",
  "files_audited": 2,
  "risk_level": "critical",
  "rules_checked": 15,
  "summary_ko": "\ud30c\uc77c 2\uac1c \uac10\uc0ac \uc644\ub8cc. \uc704\ud5d8\ub3c4: \uc2ec\uac01."
}
PHP mysqli 취약점 탐지 + 감사
# php# mysqli# critical# login

PHP mysqli 취약 패턴 탐지 및 전체 감사 / Detects PHP mysqli vulnerabilities and runs full audit

📥 Input
{
  "action": "audit",
  "files": [
    {
      "code": "\u003c?php\n$user = $_POST[\u0027username\u0027];\n$pass = $_POST[\u0027password\u0027];\n$sql = \"SELECT * FROM users WHERE username=\u0027$user\u0027 AND password=\u0027$pass\u0027\";\n$result = mysqli_query($conn, $sql);\n?\u003e\n",
      "filename": "login.php"
    }
  ],
  "language": "php"
}
📤 Output
{
  "action": "audit",
  "files_audited": 1,
  "risk_level": "critical",
  "summary_ko": "\ud30c\uc77c 1\uac1c \uac10\uc0ac \uc644\ub8cc. \uc704\ud5d8\ub3c4: \uc2ec\uac01."
}

All examples are also available via the agent API: /v1/agent/skills/2ba64873-c945-45e3-a45d-2100464ca308/schema

Reviews & Ratings

No reviews yet. Be the first to leave one!

✍️ Write a Review