database-security

A set of rules for protecting applications that use SQL or NoSQL databases from unsafe queries, excessive permissions, and weak connection or tenant isolation.

In plain words
What is it for?
Use it when writing queries, ORM code, database models, migrations, connection strings, or NoSQL filters.
Why use it?
It reduces the risk that untrusted input can alter database queries or access data it should not reach.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/shieldnet-360/secure-vibe/database-security
Any agent
npx skills add ShieldNet-360/secure-vibe --skill database-security
Clone the repo
git clone --depth 1 https://github.com/ShieldNet-360/secure-vibe

Made for: Claude Code, Codex.

Per session 58 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,985 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00058 $0.01985
Opus 5 $0.00029 $0.00992
Sonnet 5 $0.00012 $0.00397
Haiku 4.5 $0.00006 $0.00198

Measured 2d ago against content hash f73ccdf9a75c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

database-security scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/database-security/SKILL.md · 146 lines

How it starts

The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Database Security

Rules (for AI agents)

ALWAYS

  • Bind every untrusted data value through the driver or ORM parameter API. Never place it into SQL with language-level interpolation or concatenation — +, f-strings, % formatting, .format(), JavaScript template interpolation. Driver placeholders (%s, ?, $1, :name, @name) are the binding mechanism, not string formatting; confusing the two is how this rule is most often misread. The same applies to values read back out of the database and used to build a later query: stored input is still input, and second-order injection is this bug with a delay.
  • Prefer the ORM's structured query-expression API over textual SQL. Where raw SQL is genuinely needed, use that framework's documented parameter-binding mechanism and never interpolate untrusted values into it. references/orm-safe-query-examples.md carries the verified form per framework.
  • For SQL structure that cannot be a bind parameter — table and column identifiers, sort direction, sometimes the operator itself — map the external value to a fixed operator-controlled allowlist. Never copy an untrusted identifier or SQL fragment into the statement, escaped or not.
  • Treat a NoSQL query as a structure, not a string. Build filters with the driver's typed query objects, and coerce every request-supplied value to its expected scalar type before it reaches a filter. A JSON body substituting {"$ne": null} where a string was expected turns an equality check into a match-all — operator injection needs no quote to break out of.
  • Give each application its own database identity with the minimum grants it needs, and separate runtime privileges from migration privileges. The runtime identity must not receive schema-owner or DDL rights merely because migrations require them.
  • For shared-table multi-tenancy, enforce tenant isolation at a deliberate security boundary. Where database RLS is used: confirm the application role cannot bypass it — a superuser, a BYPASSRLS role, and the table owner itself all bypass policies unless the table is set to FORCE ROW LEVEL SECURITY — test write policies as well as read, and bind the tenant context transaction-locally. A session-scoped tenant context that survives a connection's return to the pool serves tenant A's rows to tenant B.
  • Authenticate the database server, do not merely encrypt to it. Encryption without certificate verification (sslmode=require, MySQL sslMode=REQUIRED, TrustServerCertificate=True) stops passive capture but not a redirected connection. Where the client is what establishes trust, use a verifying mode — PostgreSQL verify-full, MySQL Connector/J VERIFY_IDENTITY, Microsoft.Data.SqlClient with TrustServerCertificate=False — against the deployment's trusted CA configuration.
  • Obtain database credentials from an operator-controlled secret-management mechanism; prefer workload identity or short-lived dynamic credentials where the platform supports them. A runtime-injected environment variable is an acceptable fallback, not the target — it is readable through process inspection, crash dumps, and many orchestrator APIs. Any static credential must support rotation and revocation. See secret-detection for what counts as a committed credential.

Read the full file on GitHub · 146 lines

Files

What ships with it

5 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 146 lines · 58 tokens per session scan A f73ccdf9a75c

Subscribe to this mod's changes

database-security is a skill published in the GitHub repository ShieldNet-360/secure-vibe (22 stars, last pushed 19d ago), licensed MIT. It adds 58 tokens to every session and 1,985 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

claude-md-improver

Audit and improve CLAUDE.md files in repositories. Use when user asks to check, audit, update, improve, or fix CLAUDE.md files. Scans for all CLAUDE.md files, evaluates quality against templates, outputs quality report, then makes targeted updates. Also use when the user mentions "CLAUDE.md maintenance" or "project…

anthropics/claude-plugins-official · 82 tokens

agent-platform-rag-engine-management

Manage and query Agent Platform RAG Engine Corpora and retrieve grounded contexts using the Google GenAI SDK. Use when listing RAG corpora or files, inspecting a corpus, retrieving contexts, or generating content grounded in a RAG corpus. Do not use for standard database queries (use SQL/Spanner skills), Google…

google/skills · 85 tokens

agent-platform-model-registry

Agent Platform Model Registry Management. Use when you need to upload, list, describe, update, or delete machine learning models (and their versions) in the Agent Platform Model Registry. Don't use for model training, model deployment to endpoints, or managing non-Agent Platform models.

google/skills · 60 tokens

twitter-reader

Read Twitter/X for financial research using opencli (read-only). Use this skill whenever the user wants to read their Twitter feed, search for financial tweets, view bookmarks, look up user profiles, or gather market sentiment from Twitter/X. Triggers include: "check my feed", "search Twitter for", "show my…

himself65/finance-skills · 161 tokens

quick-recap

Use when adding or following the red/yellow/green final status block convention for agent responses, especially by installing managed AGENTS.md or CLAUDE.md instructions.

BuilderIO/skills · 37 tokens

docx-comment-reply

Reply to comments (批注) in Word .docx/.doc files: extract comment context, draft replies, write threaded replies back, and validate OOXML.

foryourhealth111-pixel/Vibe-Skills · 39 tokens