Synthèse automatique
Analyse le code source d'une application pour détecter les vulnérabilités d'injection SQL en traçant les entrées utilisateur jusqu'à la construction des requêtes, puis produit un rapport de sécurité avec remédiations.
Points forts
- Cartographie complète des surfaces d'entrée (paramètres HTTP, en-têtes, cookies, uploads, WebSocket) et traçage des flux de données
- Détection multi-patterns : concaténation, f-strings, template literals, requêtes ORM brutes non paramétrées
- Classement des findings avec score CVSS 3.1, type d'attaque (aveugle, UNION, second ordre) et impact métier
- Génération de code corrigé idiomatique selon le framework et la base de données, plus recommandations de défense en profondeur
Limites
- Analyse statique uniquement : pas d'exploitation réelle ni de validation dynamique des findings
- Efficacité dépendante de l'identification préalable du framework et du SGBD par l'utilisateur
- Nécessite les permissions d'écriture pour générer les rapports dans le répertoire de travail du skill
À utiliser lors d'un audit de sécurité du code, avant une mise en production, ou pour revoir des requêtes de base de données nouvellement écrites.
Ne convient pas pour des tests d'intrusion dynamiques sur une application en cours d'exécution ni pour de l'analyse de binaires compilés.
Analyse de sécurité
SûrThis is a defensive static-analysis skill that scans local source code for SQL injection patterns and writes a remediation report. Allowed tools are Read/Grep/Glob/Edit/Write plus narrowly scoped Bash prefixes (code-scan:*, security-test:*); there are no destructive commands, no network calls, no secret/token exfiltration, and no obfuscated payloads. Output is confined to a security-reports directory. Residual risk is minimal and limited to edits/writes within the project tree.
Aucun point d'attention détecté
Comment cette analyse est faiteExemples
Scan the Express app in ./src for SQL injection vulnerabilities, trace the request handlers into the query layer, and write a report with CVSS scores and parameterized fixes.Detect SQLi risks in our Django models and any .raw() or .extra() calls, then show the parameterized equivalent for each finding.Review how user input from HTTP headers and cookies reaches our SQL queries in this repository and flag every path that skips parameter binding.name: detecting-sql-injection-vulnerabilities description: | Detect and analyze SQL injection vulnerabilities in application code and database queries. Use when you need to scan code for SQL injection risks, review query construction, validate input sanitization, or implement secure query patterns. Trigger with phrases like "detect SQL injection", "scan for SQLi vulnerabilities", "review database queries", or "check SQL security".
allowed-tools: Read, Write, Edit, Grep, Glob, Bash(code-scan:), Bash(security-test:) version: 1.0.0 author: Jeremy Longshore jeremy@intentsolutions.io license: MIT compatible-with: claude-code, codex, openclaw tags: [security, database, detecting-sql]
Detecting SQL Injection Vulnerabilities
Overview
Scan application source code for SQL injection vulnerabilities (CWE-89, OWASP A03:2021) by tracing user input from entry points through data flows into database query construction. Detect string concatenation, format string interpolation, and inadequate parameterization across raw SQL, ORM raw query methods, stored procedure calls, and dynamic query builders.
Prerequisites
- Application source code accessible in
${CLAUDE_SKILL_DIR}/ - Database query files, ORM models, and repository/DAO layers available
- Framework and language identified (Django, Rails, Express, Spring, Laravel, ASP.NET, Go, etc.)
- Database type known (MySQL, PostgreSQL, SQLite, MSSQL, Oracle) for syntax-specific detection
- Write permissions for reports in
${CLAUDE_SKILL_DIR}/security-reports/
Instructions
- Discover database interaction code: search for SQL keywords (
SELECT,INSERT,UPDATE,DELETE,EXEC) and ORM raw query methods (raw(),execute(),createNativeQuery(),$wpdb->query()) across all source files. - Identify input surfaces: map all user-controllable data entry points -- HTTP parameters, request bodies, URL path segments, headers, cookies, file uploads, and WebSocket messages.
- Trace data flows: follow each input surface through the code to determine whether user data reaches a SQL query. Flag any path where input is not passed through parameterized query binding.
- Detect vulnerable patterns:
- String concatenation:
"SELECT * FROM users WHERE id=" + userId - f-string/format interpolation: Python f-strings embedding variables directly into SQL strings
- Template literals:
`SELECT * FROM users WHERE id=${req.params.id}` - ORM raw queries without bindings:
Model.objects.raw("SELECT * FROM t WHERE x='" + val + "'")
- String concatenation:
- Classify each finding: assign CVSS 3.1 score, identify attack type (classic injection, blind boolean/time-based, UNION-based exfiltration, second-order/stored injection), and document exploitability (authentication required, network access).
- Assess impact per finding: determine data exposure scope (authentication bypass, data exfiltration, data modification, OS command execution via
xp_cmdshellorLOAD_FILE()). - Generate remediation code: provide parameterized equivalents for each vulnerable query. Use framework-idiomatic patterns --
%splaceholders for Python DB-API,?for Node.js,$1for PostgreSQL, named parameters for Spring JPA. - Recommend defense-in-depth measures: input validation (allowlists over denylists), stored procedures with parameterized calls, least-privilege database accounts, WAF rules, and ORM-only data access policies.
- Produce the vulnerability report at
${CLAUDE_SKILL_DIR}/security-reports/sqli-scan-YYYYMMDD.mdwith per-finding severity, CWE-89 mapping, file path and line number, vulnerable code snippet, attack vector demonstration, and remediated code.
See ${CLAUDE_SKILL_DIR}/references/implementation.md for the detection pattern library. See ${CLAUDE_SKILL_DIR}/references/critical-findings.md for example vulnerability write-ups with attack demonstrations.
Output
- Vulnerability Report:
${CLAUDE_SKILL_DIR}/security-reports/sqli-scan-YYYYMMDD.mdwith all findings classified by severity - Finding Details: per-finding file path, line number, vulnerable code, attack vector, CVSS score, and remediation code
- Remediation Summary: parameterized query replacements grouped by language/framework
- Defense Recommendations: input validation rules, database privilege changes, and WAF configuration
Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Unknown ORM or database framework | Custom or uncommon data access library | Apply generic SQL injection pattern detection; note limited framework-specific guidance |
| Cannot analyze compiled/minified code | Production bundles or bytecode instead of source | Request unminified source; document reduced detection accuracy |
| False positive on sanitized input | Proper sanitization exists but not recognized | Trace sanitization implementation manually; whitelist verified-safe patterns |
| Complex dynamic query builder logic | Multi-step query construction across modules | Trace full data flow manually; flag for manual security review |
| Cannot analyze stored procedure definitions | SQL source files not available in ${CLAUDE_SKILL_DIR}/ | Request .sql files or database schema exports; focus on application-layer code |
Examples
- "Scan the codebase for SQL injection risks in dynamic query construction, focusing on controllers and API handlers."
- "Review these query snippets and propose parameterized equivalents with unit tests validating the fix."
- "Detect second-order SQL injection in the user profile update flow where stored data is later used in admin queries."
Resources
- OWASP SQL Injection Prevention Cheat Sheet: https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html
- CWE-89 Improper Neutralization of SQL Syntax: https://cwe.mitre.org/data/definitions/89.html
- OWASP A03:2021 Injection: https://owasp.org/Top10/A03_2021-Injection/
- CAPEC-66 SQL Injection: https://capec.mitre.org/data/definitions/66.html
${CLAUDE_SKILL_DIR}/references/critical-findings.md-- example vulnerability write-ups with attack vectors${CLAUDE_SKILL_DIR}/references/errors.md-- full error handling reference${CLAUDE_SKILL_DIR}/references/examples.md-- additional usage examples- https://intentsolutions.io
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/detecting-sql-injection-vulnerabilities-mrwakcy7/download' --output '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md.part' && mv '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md.part' '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Read, Write, Edit, Grep, Glob, Bash(code-scan:*), Bash(security-test:*)
Extrait original : Prerequisites
- Application source code accessible in
${CLAUDE_SKILL_DIR}/ - Database query files, ORM models, and repository/DAO layers available
- Framework and language identified (Django, Rails, Express, Spring, Laravel, ASP.NET, Go, etc.)
- Database type known (MySQL, PostgreSQL, SQLite, MSSQL, Oracle) for syntax-specific detection
- Write permissions for reports in
${CLAUDE_SKILL_DIR}/security-reports/
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md' && test -s '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/detecting-sql-injection-vulnerabilities' && cp -R '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7' '.claude/skills/detecting-sql-injection-vulnerabilities'Codex
test -f '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md' && test -s '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/detecting-sql-injection-vulnerabilities' && cp -R '.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7' '.agents/skills/detecting-sql-injection-vulnerabilities'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7'openskills read 'detecting-sql-injection-vulnerabilities-mrwakcy7'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/detecting-sql-injection-vulnerabilities-mrwakcy7/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Sécurité AMM DeFi
Securite
Checklist de sécurité pour les contrats Solidity AMM, pools de liquidité et flux de swap. Couvre réentrance, attaques par donation, manipulation d'oracles, etc.
Créateur de règles Semgrep
Securite
Crée des règles Semgrep personnalisées pour détecter des vulnérabilités de sécurité, des motifs de bugs et des motifs de code. Inclut une méthodologie de test en premier, le support du mode taint et des étapes de validation. Utile pour construire des détections d'analyse statique ciblées.
Revue barre d'outils développement
Securite
Règles de sécurité pour la barre d'outils de développement, le client PostHog et les feature flags. À utiliser lors de la revue de modifications des composants dev-tools et connexes.