Agent skill

Vulnerability Pattern Matcher

by ArabelaTso in ArabelaTso/Skills-4-SE

Detects security vulnerabilities by matching code against known vulnerability patterns, insecure coding idioms, and CVE-style patterns.

Apache-2.0Auto-check passedSecurity

Install Vulnerability Pattern Matcher

skills CLI
$ npx skills add ArabelaTso/Skills-4-SE --skill vulnerability-pattern-matcher -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ArabelaTso/Skills-4-SE vulnerability-pattern-matcher --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/vulnerability-pattern-matcher .claude/skills/vulnerability-pattern-matcher && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
vulnerability-pattern-matcher
GitHub stars
253
Token cost
~2.8k tokens
SKILL.md length
937 words
Files
3 (incl. references)
Skills in repo
170
Repo updated
First seen
Licence
Apache-2.0

At a glance

Detects security vulnerabilities by matching code against known vulnerability patterns, insecure coding idioms, and CVE-style patterns.

  • Works in 5 steps: Analyze Code Structure → Match Vulnerability Patterns → Assess Exploitability → …
  • Analyzing code for security issues
  • SKILL.md covers Overview, Detection Workflow, Detection Examples and Confidence Levels, plus 3 more sections
  • Needs API_KEY and DB_PASSWORD

What it does

Vulnerability Pattern Matcher is an agent skill from ArabelaTso/Skills-4-SE. Detects security vulnerabilities by matching code against known vulnerability patterns, insecure coding idioms, and CVE-style patterns. Explains why patterns are risky and under what conditions they are exploitable. Use when analyzing code for security issues, reviewing for common vulnerabilities, or assessing exploitability of suspicious code patterns.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/api_reference.md` and `references/vulnerability_patterns.md`).

It sits in Security, covering Web application vulnerabilities and Vulnerability scanning. The repository describes itself as: A curated list of 180+ useful Claude Skills for Software Engineering and resources for customizing AI for SE workflows. The licence is Apache-2.0.

When your agent uses it

  • Analyzing code for security issues
  • Reviewing for common vulnerabilities
  • Assessing exploitability of suspicious code patterns

Example prompts

  • “Use the vulnerability-pattern-matcher skill to detect security vulnerabilities by matching code against known vulnerability patterns, insecure…”
  • “/vulnerability-pattern-matcher”

Requirements

  • Python 3
  • Node.js
  • A credential in API_KEY
  • A credential in JWT_SECRET

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Analyze Code Structure
  2. Match Vulnerability Patterns
  3. Assess Exploitability
  4. Determine Severity
  5. Generate Report

What it can do on your machine

Read from SKILL.md and the folder at commit 4f38503. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are python and javascript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • API_KEY
    • DB_PASSWORD
    • JWT_SECRET

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Vulnerability Pattern Matcher loads about 2.8k tokens when it runs, and up to ~7.4k if it reads all its reference files. Until then it costs about 96 tokens; SKILL.md has 937 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~96
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ArabelaTso/Skills-4-SE at commit 4f38503, republished under its Apache-2.0 licence (© ArabelaTso). 937 words, ~2,768 tokens.

Download SKILL.mdSave it as .claude/skills/vulnerability-pattern-matcher/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
vulnerability-pattern-matcher
description
Detects security vulnerabilities by matching code against known vulnerability patterns, insecure coding idioms, and CVE-style patterns. Explains why patterns are risky and under what conditions they are exploitable. Use when analyzing code for security issues, reviewing for common vulnerabilities, or assessing exploitability of suspicious code patterns.

Vulnerability Pattern Matcher

Overview

This skill detects security vulnerabilities by matching code against a comprehensive database of known vulnerability patterns, insecure coding idioms, and historical CVE-style patterns. It identifies risky code, explains why each pattern is dangerous, assesses exploitability conditions, and provides severity ratings with confidence levels.

Detection Workflow

Follow these steps to detect and assess vulnerabilities:

1. Analyze Code Structure

Identify key security-relevant elements:

  • User input sources (request parameters, form data, file uploads)
  • Data sinks (database queries, file operations, command execution)
  • Authentication and authorization mechanisms
  • Cryptographic operations
  • Network communications
  • File and resource handling

Map data flow:

  • Trace user input through the application
  • Identify where untrusted data reaches sensitive operations
  • Note any validation or sanitization applied
2. Match Vulnerability Patterns

Scan for known patterns:

  • Injection vulnerabilities (SQL, NoSQL, LDAP, XSS, command injection)
  • Authentication issues (hardcoded credentials, weak session management)
  • Cryptographic failures (weak algorithms, insecure random numbers)
  • Access control problems (IDOR, missing authorization)
  • Deserialization vulnerabilities
  • Path traversal and file inclusion
  • SSRF and XXE
  • Buffer overflows and memory safety
  • Race conditions

For each match:

  • Identify the specific pattern
  • Note the exact code location
  • Determine the vulnerability category
3. Assess Exploitability

For each detected vulnerability, evaluate:

Attack Complexity:

  • Low: Simple exploit, no special conditions required
  • Medium: Requires specific conditions, timing, or configuration
  • High: Complex exploit chain, rare conditions, or significant obstacles

Privileges Required:

  • None: Unauthenticated attacker can exploit
  • Low: Basic user account needed
  • High: Administrative or privileged access required

User Interaction:

  • None: Fully automated exploit
  • Required: Victim must take action (click link, open file, etc.)

Exploitation Conditions:

  • What must be true for successful exploitation?
  • Are there mitigating controls present?
  • What is the attack surface?
4. Determine Severity

Critical:

  • Remote code execution
  • Authentication bypass
  • Complete system compromise
  • Mass data breach

High:

  • Privilege escalation
  • Sensitive data exposure
  • SQL injection with data access
  • SSRF to internal services

Medium:

  • XSS with session theft
  • IDOR to user data
  • Information disclosure
  • Weak cryptography

Low:

  • Minor information leakage
  • Low-impact XSS
  • Configuration issues
  • Verbose error messages
5. Generate Report

For each vulnerability, provide:

  • Pattern name and category
  • Code location (file:line)
  • Why the pattern is risky
  • Exploitation conditions
  • Severity level
  • Detection confidence (High/Medium/Low)
  • Recommended fix

Detection Examples

Example 1: SQL Injection

Code (Python):

python
def get_user(username):
    query = "SELECT * FROM users WHERE username = '" + username + "'"
    cursor.execute(query)
    return cursor.fetchone()

Detection:

  • Pattern: SQL Injection (String Concatenation)
  • Location: Line 2
  • Category: Injection Vulnerability

Why Risky: User input is directly concatenated into SQL query without parameterization. Attacker can inject SQL code to bypass authentication, extract data, or modify the database.

Exploitation Conditions:

  • User controls username parameter
  • No input validation or sanitization
  • Database errors may be exposed to attacker

Severity: High Confidence: High (95%)

Recommended Fix:

python
def get_user(username):
    query = "SELECT * FROM users WHERE username = ?"
    cursor.execute(query, (username,))
    return cursor.fetchone()
Example 2: Hardcoded Credentials

Code (JavaScript):

javascript
const config = {
    apiKey: "sk-1234567890abcdef",
    dbPassword: "admin123",
    jwtSecret: "my-secret-key"
};

Detection:

  • Pattern: Hardcoded Credentials
  • Location: Lines 2-4
  • Category: Authentication & Session Management

Why Risky: Credentials are embedded in source code and likely committed to version control. Anyone with repository access can authenticate as the application. Credentials are difficult to rotate if compromised.

Exploitation Conditions:

  • Code repository is public or leaked
  • Credentials are still valid
  • No additional authentication factors

Severity: Critical Confidence: High (100%)

Recommended Fix:

javascript
const config = {
    apiKey: process.env.API_KEY,
    dbPassword: process.env.DB_PASSWORD,
    jwtSecret: process.env.JWT_SECRET
};
Example 3: XSS via innerHTML

Code (JavaScript):

javascript
function displayWelcome(username) {
    document.getElementById('welcome').innerHTML = "Hello " + username;
}

Detection:

  • Pattern: DOM-based XSS
  • Location: Line 2
  • Category: Cross-Site Scripting

Why Risky: User-controlled data is directly inserted into DOM via innerHTML without encoding. Attacker can inject JavaScript to steal cookies, session tokens, or perform actions as the victim.

Exploitation Conditions:

  • username contains user input
  • No Content-Security-Policy
  • Sensitive data in cookies or localStorage

Severity: Medium Confidence: High (90%)

Recommended Fix:

javascript
function displayWelcome(username) {
    document.getElementById('welcome').textContent = "Hello " + username;
}
Show full SKILL.md (377 more words)Show less
Example 4: Path Traversal

Code (Node.js):

javascript
app.get('/download', (req, res) => {
    const filename = req.query.file;
    res.sendFile('/uploads/' + filename);
});

Detection:

  • Pattern: Directory Traversal
  • Location: Line 3
  • Category: Path Traversal

Why Risky: User controls file path without validation. Attacker can use ../ sequences to access files outside the intended directory, potentially reading sensitive configuration files, source code, or credentials.

Exploitation Conditions:

  • User controls file parameter
  • No path canonicalization or validation
  • Sensitive files accessible on filesystem

Severity: High Confidence: High (95%)

Recommended Fix:

javascript
const path = require('path');
app.get('/download', (req, res) => {
    const filename = path.basename(req.query.file);
    const filepath = path.join('/uploads/', filename);
    if (!filepath.startsWith('/uploads/')) {
        return res.status(400).send('Invalid file');
    }
    res.sendFile(filepath);
});
Example 5: Insecure Deserialization

Code (Python):

python
import pickle

@app.route('/load', methods=['POST'])
def load_data():
    user_data = pickle.loads(request.data)
    return process(user_data)

Detection:

  • Pattern: Unsafe Deserialization
  • Location: Line 5
  • Category: Insecure Deserialization

Why Risky: Deserializing untrusted data with pickle can lead to arbitrary code execution. Attacker can craft malicious serialized objects that execute code during deserialization.

Exploitation Conditions:

  • Application deserializes user input
  • Python gadget chains available
  • No integrity checks on serialized data

Severity: Critical Confidence: High (100%)

Recommended Fix:

python
import json

@app.route('/load', methods=['POST'])
def load_data():
    user_data = json.loads(request.data)
    return process(user_data)
Example 6: SSRF via URL Parameter

Code (Python):

python
@app.route('/fetch')
def fetch_url():
    url = request.args.get('url')
    response = requests.get(url)
    return response.content

Detection:

  • Pattern: Server-Side Request Forgery
  • Location: Line 4
  • Category: SSRF

Why Risky: Application makes HTTP requests to user-controlled URLs. Attacker can access internal services, cloud metadata endpoints (169.254.169.254), or perform port scanning of internal network.

Exploitation Conditions:

  • User controls URL parameter
  • Internal network accessible from server
  • Cloud metadata endpoint available
  • No URL allowlist or validation

Severity: High Confidence: High (95%)

Recommended Fix:

python
from urllib.parse import urlparse

ALLOWED_HOSTS = ['api.example.com', 'cdn.example.com']

@app.route('/fetch')
def fetch_url():
    url = request.args.get('url')
    parsed = urlparse(url)
    if parsed.hostname not in ALLOWED_HOSTS:
        return "Invalid URL", 400
    response = requests.get(url, timeout=5)
    return response.content

Confidence Levels

High Confidence (90-100%):

  • Exact pattern match with known vulnerability
  • Clear exploit path identified
  • No mitigating controls present
  • Well-documented vulnerability type

Medium Confidence (60-89%):

  • Pattern resembles known vulnerability
  • Exploitation requires specific conditions
  • Some mitigating controls may be present
  • Context suggests vulnerability but not certain

Low Confidence (30-59%):

  • Potential vulnerability identified
  • Unclear or complex exploit path
  • Multiple mitigating factors present
  • Requires manual verification
  • May be false positive

Constraints

MUST:

  • Identify specific vulnerability patterns in code
  • Explain why each pattern is risky
  • Assess exploitability conditions
  • Provide severity and confidence ratings
  • Reference specific code locations (file:line)
  • Suggest concrete fixes

MUST NOT:

  • Report theoretical vulnerabilities without code evidence
  • Provide exploits or attack code
  • Assume vulnerabilities without pattern match
  • Report false positives without noting low confidence
  • Ignore mitigating controls when assessing severity

Report Format

Vulnerability: [Pattern Name]
Category: [Vulnerability Category]
Location: [file:line]
Severity: [Critical/High/Medium/Low]
Confidence: [High/Medium/Low] ([percentage]%)

Description:
[Why this pattern is risky]

Exploitation Conditions:
- [Condition 1]
- [Condition 2]
- [Condition 3]

Vulnerable Code:
[Code snippet]

Recommended Fix:
[Safe code example]

Resources

references/vulnerability_patterns.md

Comprehensive catalog of security vulnerability patterns including:

  • Injection vulnerabilities (SQL, NoSQL, LDAP, XSS, command injection)
  • Authentication and session management issues
  • Cryptographic failures
  • Access control problems
  • Deserialization vulnerabilities
  • Path traversal and file inclusion
  • SSRF and XXE
  • Buffer overflows
  • Race conditions
  • CVE-style pattern examples
  • Exploitability assessment framework

© ArabelaTso, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/vulnerability-pattern-matcher of ArabelaTso/Skills-4-SE.

  • SKILL.md
  • references/api_reference.md
  • references/vulnerability_patterns.md

Open the folder on GitHubat commit 4f38503

Compare with similar skills

Vulnerability Pattern Matcher next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Vulnerability Pattern Matcher compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Vulnerability Pattern Matcher this skillArabelaTso/Skills-4-SE253—~2.8kAutomated safety check: PassApache-2.0
Security Auditoreigent-ai/eigent15k—~1.8kAutomated safety check: NotesApache-2.0
Code Audit3stoneBrother/code-audit8921 repos~2.7kAutomated safety check: PassNone
Security Audit Scannerruvnet/ruflo74k2 repos~823Automated safety check: PassMIT
Octopus Security Auditnyldn/claude-octopus4.2k1 repos~2.3kAutomated safety check: PassMIT
Security Verification Gatefengshao1227/ccg-workflow5.9k—~621Automated safety check: NotesMIT

Similar skills

  • Security Auditor

    eigent-ai/eigent

    Audits source code, dependencies and config files for vulnerabilities and hardcoded secrets, using two bundled Python scanners and an OWASP Top 10 checklist.

    15k GitHub stars~1.8k tokensUpdated today
    SecurityAuto-check: notes
  • Code Audit

    3stoneBrother/code-audit

    Professional code security audit skill covering 55+ vulnerability types.

    892 GitHub starsUsed in 1 repo~2.7k tokens
    SecurityAuto-check passed
  • Runs claude-flow CLI security scans for input validation, path traversal, SQL injection, XSS, hardcoded secrets and known CVEs, and writes an audit report.

    74k GitHub starsUsed in 2 repos~823 tokens
    SecurityAuto-check passed
  • Octopus Security Audit

    nyldn/claude-octopus

    OWASP compliance, vulnerability scanning, and adversarial red team testing — use for security reviews

    4.2k GitHub starsUsed in 1 repo~2.3k tokens
    SecurityAuto-check passed
  • Security Verification Gate

    fengshao1227/ccg-workflow

    Scans code with a bundled Node script for injection, secrets, XSS and other risky patterns, ranks findings by severity and checks that security decisions are documented.

    5.9k GitHub stars~621 tokensUpdated 24 days ago
    SecurityAuto-check: notes
  • Secknowledge Skill

    Pa55w0rd/secknowledge-skill

    Web+AI 安全测试知识库。融合 WooYun 88,636 案例 + 先知 L1-L4 方法论 + GAARM 173 风险 + OWASP Top 10 (LLM/ASI/WSTG)。

    424 GitHub stars~2.7k tokensUpdated 3 mo ago
    SecurityAuto-check passed

More from ArabelaTso/Skills-4-SE

All 170 skills in this repo
  • Framework Migration Assistant

    ArabelaTso/Skills-4-SE

    Automatically migrate Python web applications between frameworks (Flask → FastAPI, Django → FastAPI).

    253 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Metamorphic Test Generator

    ArabelaTso/Skills-4-SE

    Generate test cases using metamorphic testing by applying transformations based on metamorphic properties.

    253 GitHub stars~798 tokensUpdated 1 mo ago
    Auto-check passed
  • Reproduction Trace Instrumenter

    ArabelaTso/Skills-4-SE

    Instruments programs to capture execution traces specifically for reproducing reported bugs, enabling consistent replay and diagnosis of failures.

    253 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Spring Mvc To Boot Migrator

    ArabelaTso/Skills-4-SE

    Automatically migrate Spring MVC applications to Spring Boot.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • State Snapshot Instrumenter

    ArabelaTso/Skills-4-SE

    Instrument programs (Python, C/C++, Java) to capture snapshots of key program states at runtime, including variables, memory, and call stacks.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Vulnerability Pattern Matcher

What does Vulnerability Pattern Matcher do?

Detects security vulnerabilities by matching code against known vulnerability patterns, insecure coding idioms, and CVE-style patterns. Vulnerability Pattern Matcher is an agent skill from ArabelaTso/Skills-4-SE. Detects security vulnerabilities by matching code against known vulnerability patterns, insecure coding idioms, and CVE-style patterns.

When should I use Vulnerability Pattern Matcher?

Vulnerability Pattern Matcher fits situations like: analyzing code for security issues; reviewing for common vulnerabilities; assessing exploitability of suspicious code patterns.

How do I install Vulnerability Pattern Matcher in Claude Code?

Run `npx skills add ArabelaTso/Skills-4-SE --skill vulnerability-pattern-matcher -a claude-code`. Or copy the skill folder (skills/vulnerability-pattern-matcher in ArabelaTso/Skills-4-SE) into .claude/skills/vulnerability-pattern-matcher in your project. Claude Code loads it when a task matches its description.

How do I install Vulnerability Pattern Matcher in Codex?

Run `npx skills add ArabelaTso/Skills-4-SE --skill vulnerability-pattern-matcher -a codex`. Or copy the skill folder (skills/vulnerability-pattern-matcher in ArabelaTso/Skills-4-SE) into .agents/skills/vulnerability-pattern-matcher in your project. Codex loads it when a task matches its description.

Can I use Vulnerability Pattern Matcher in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ArabelaTso/Skills-4-SE --skill vulnerability-pattern-matcher -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/vulnerability-pattern-matcher, .gemini/skills/vulnerability-pattern-matcher, .github/skills/vulnerability-pattern-matcher and .opencode/skills/vulnerability-pattern-matcher in your project.

What does Vulnerability Pattern Matcher need to run?

Going by SKILL.md and its folder, Vulnerability Pattern Matcher needs credentials named API_KEY, DB_PASSWORD and JWT_SECRET. Our summary lists: Python 3; Node.js; A credential in API_KEY; A credential in JWT_SECRET.

Does Vulnerability Pattern Matcher access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Vulnerability Pattern Matcher safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Vulnerability Pattern Matcher use?

Vulnerability Pattern Matcher is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Vulnerability Pattern Matcher use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.6k tokens, read only when the agent opens those files.

What are the alternatives to Vulnerability Pattern Matcher?

Skills that share tags, products or a category with Vulnerability Pattern Matcher: Security Auditor (eigent-ai/eigent, 15k stars), Code Audit (3stoneBrother/code-audit, 892 stars), Security Audit Scanner (ruvnet/ruflo, 74k stars) and Octopus Security Audit (nyldn/claude-octopus, 4.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Vulnerability Pattern Matcher?

ArabelaTso (a GitHub user) maintains it in ArabelaTso/Skills-4-SE, which has 253 GitHub stars. The repository holds 170 skills in this directory. The repository was last updated on August 21, 2026.

Source: ArabelaTso/Skills-4-SE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.