CodeQL, Semgrep and SARIF static-analysis toolkit from Trail of Bits: taint tracking, fast pattern scans and merged, deduplicated security findings for coding agents.
OpenAI security-best-practicesSkill
Summary
OpenAI's skill for language- and framework-specific secure coding: detect the stack, load the matching reference guidance, then write secure-by-default code, flag critical issues passively, or produce a prioritised vulnerability report with fixes.
Features
- Detects every language and framework in scope, frontend and backend, before loading guidance
- Loads stack-specific reference files and says so when none matches, instead of bluffing
- Three modes: secure-by-default authoring, passive critical-issue detection, and a full prioritised report
- Report carries an executive summary, severity sections, numeric finding IDs and line numbers
- Fixes go one finding at a time, with regression risk considered and the project's own commit and test flow respected
- Documented override path for project-specific bypasses, with a suggestion to record why
- Suppresses the classic false positives: dev-context TLS, secure cookies on non-TLS deployments, and HSTS
Install This Skill
Add this skill to your favorite AI agent in a few steps.
Skill Content
Usage Instructions
Learn how to use this skill with different AI agents.
Example Usage
Review this Django and React app against security best practices and write me a prioritised report — then walk me through the critical findings before you fix anything.
Description
Generic security advice is easy to generate and hard to use. security-best-practices is OpenAI's curated skill for the specific version: identify exactly which languages and frameworks are in play, load the reference document written for that combination, and work from it.
How it picks its guidance
The skill first enumerates every language and framework in scope — frontend and backend, not one or the other — then looks in its own references/ directory for files named <language>-<framework>-<stack>-security.md, plus the framework-agnostic <language>-general-<stack>-security.md. For a web app with an unspecified frontend it also loads javascript-general-web-frontend-security.md. Where no reference matches, it says so rather than inventing authority, and falls back to well-known practice for that stack.
Supported languages are Python, JavaScript/TypeScript and Go.
Three modes
- Secure by default — the primary mode: apply the guidance to new code as it is written.
- Passive detection — flag critical issues and clear violations of secure defaults while doing other work, without turning every session into an audit.
- Report — on request, produce
security_best_practices_report.md: an executive summary, findings grouped by severity, numeric IDs for reference, a one-sentence impact statement for each critical finding, and line numbers for every piece of code cited.
The parts that show real-world wear
The fix workflow is deliberately conservative: one finding at a time, a comment explaining which practice the change implements, and an explicit check on whether the fix will break behaviour — because insecure code usually survives precisely because something depends on it. It follows the project's existing commit and test flows and avoids bundling unrelated findings into one commit.
It also documents overrides. When a project's own docs require bypassing a practice, the skill may note it once but is told not to fight the user, and to suggest documenting why the bypass exists.
And it is opinionated about false positives that plague automated security review: it will not report missing TLS in a development context, is careful about secure cookies that would break a non-TLS local deployment, and declines to recommend HSTS — a header whose blast radius is larger than most reviews acknowledge. Small calls, but they are the difference between a report someone reads and one they learn to ignore.
Scope
Triggers only on an explicit request for security guidance, a security review or secure-by-default help, and only for the supported languages. From OpenAI's curated public skills collection.
Related Skills
Microsoft's official Playwright skill — drives a real browser from the command line using accessibility snapshots and element refs, and plans, generates and heals Playwright tests.
Google's official agent skill for writing production Maps Platform code — grounded in freshly fetched docs, with a demo key path that needs no billing account.
Railway's official agent skill: create projects, provision databases and buckets, deploy, manage variables and domains, and read build failures back — from the CLI, API or MCP server.