AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL unreviewed MIT Self-run

Database Security

skill-shieldnet-360-secure-vibe-database-security · by ShieldNet-360

Prevent SQL injection, ORM misuse, credential leaks; enforce least-privilege DB users and safe migrations — Applies to: when generating SQL or raw query strings; when generating ORM model code or queries; when generating database migration files; when wiring connection strings or pooling

No reviews yet
0 installs
33 views
0.0% view→install

Install

$ agentstack add skill-shieldnet-360-secure-vibe-database-security

Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.

Security review

⚠ Flagged

1 finding(s); flagged for manual review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
  • high Destructive filesystem operation.

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Reliability & compatibility

Not yet reviewed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Database Security? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Database Security

Prevent SQL injection, ORM misuse, credential leaks; enforce least-privilege DB users and safe migrations

ALWAYS

  • Use parameterized queries / prepared statements for any SQL that touches user-controlled values. Pass values as parameters, never via string concatenation or formatting (%s, +, template literals).
  • Use the ORM's safe query API. In SQLAlchemy: session.execute(text(":id"), {"id": user_id}). In Django: ORM methods, Model.objects.filter(...). In Sequelize / Prisma / SQLAlchemy core: .where({ ... }) builders. In Go: db.QueryContext(ctx, "select ... where id = $1", id).
  • Validate that identifier columns / table names — which can't be parameterized — come from a hard-coded allowlist, not from user input.
  • Use a dedicated database user per application with the minimum grants needed. Web apps that only read shouldn't have INSERT/UPDATE/DELETE. Migration jobs run as a separate DDL-capable user.
  • Enable Row-Level Security (Postgres CREATE POLICY / Supabase RLS / Azure SQL RLS) for multi-tenant tables and set the tenant context per session.
  • Pull DB credentials from a secret manager or env var injected at start — never from a committed database.yml / .env. Rotate on schedule.
  • Use TLS to the database (sslmode=require for Postgres, requireSSL=true for MySQL, encrypted connection for MSSQL). Pin the CA where the driver supports it.
  • Connection pooling has a max size that fits within the DB's max_connections, with healthy back-pressure on the application.

NEVER

  • Concatenate user input into SQL: "SELECT * FROM users WHERE name='" + name + "'". Even if you "escape" it yourself — drivers escape correctly only when binding through the parameter API.
  • Use ORM raw query methods (.raw(), .objects.raw(), .query(text(...))) with f-string interpolation of user input.
  • Run application workloads as the database superuser / root / postgres / sa. Create a service user.
  • Disable TLS to the database (sslmode=disable, useSSL=false).
  • Store secrets, PII, or large blobs in JSON columns without encryption-at-rest and a key rotation plan.
  • Run destructive migrations (DROP TABLE, DROP COLUMN, ALTER COLUMN type changes on populated tables) inline with deploys without an expand–contract plan and a backup verified to be restorable.
  • Bind an internet-exposed database listener with no allowlist; databases stay in a private network and are reached via a bastion / VPN / private link.
  • Log entire SQL statements with bound values at INFO level — bound values are almost always sensitive.

KNOWN FALSE POSITIVES

  • Reporting tools that run analyst-authored ad-hoc SQL legitimately interpolate identifiers; they should run against a read-only replica with a separate user whose grants prevent damage.
  • Some ORMs (Django, SQLAlchemy 1.x) use %s placeholders as parameter markers, not Python format-string placeholders — that's safe.
  • Health-check queries (SELECT 1) are intentionally trivial.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.