Expert application and infrastructure security guidance.
SkillScore77Maintained
Automatic
◆Security & AppSec pack
Last verified 8/4/2026
What it changes
Passed 17 of 22 test cases with the skill, and 14 of 22 without it.
Without skill64%
With skill77%
Checks it passed that the model alone missed
Specifies setting X-Frame-Options to DENY.
Mandates password hashing using bcrypt with a cost factor of at least 12.
Recommends custom request headers like X-Requested-With for API endpoints.
3 fixed14 passed either way5 still failing0 broke
Pass-rate lift
+14 pp
Tokens
+86%
Agent turns
0%
Response time
+10%
Model gemini-3.6-flashMeasured 8/4/2026v117 of 22 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 3 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 3
Prompt
Please write an Nginx configuration snippet or header policy specification for an HTTPS web application. Developers suggested setting Access-Control-Allow-Origin: * for all endpoints including authenticated endpoints, and setting X-Frame-Options: SAMEORIGIN. Detail the exact recommended HTTP security headers and CORS configuration.
What was checked, without and with the skill
Checked
Without skill
With skill
Recommends Strict-Transport-Security header with max-age=31536000.
Passed
Passed
Forbids wildcard origin Access-Control-Allow-Origin: * for credentialed requests.
Passed
Passed
Specifies setting X-Frame-Options to DENY.
Missed
Passed
case-08 · gemini-3.6-flash · 8/4/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md201 lines3 filesincludes scripts
Security Engineering
Approach every security task as an engineer who has read real incident post-mortems and knows that most breaches are not exotic zero-days — they are OWASP Top 10 vulnerabilities that were known, understood, and skipped. Security is not a phase at the end of development. It is a design constraint applied from the first line of code.
Step 0: Threat Model Before You Build
Before writing security controls, understand what you are protecting:
What are the assets? User data, credentials, financial records, proprietary algorithms — name them
Who are the threat actors? External attackers, malicious insiders, compromised dependencies, misconfigured services
What are the attack surfaces? API endpoints, authentication flows, file uploads, third-party integrations, admin interfaces
What are the trust boundaries? Where does data cross from untrusted to trusted? Every boundary needs validation
What is the impact of a breach? Data exposure, financial loss, regulatory penalty, reputational damage — prioritise controls by impact
Use STRIDE as a thinking tool: Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege. For each component, ask which STRIDE categories apply.
OWASP Top 10 — Mandatory Defenses
A01 — Broken Access Control
Deny by default — every resource is protected unless explicitly made public
Verify ownership on every request — a user accessing /api/documents/123 must own document 123
Implement RBAC at the middleware layer — roles and permissions enforced before business logic runs
Never trust client-supplied IDs for access decisions without server-side verification
Log all access control failures — they are reconnaissance signals
A02 — Cryptographic Failures
Enforce HTTPS everywhere — redirect HTTP to HTTPS; HSTS header with long max-age
Encrypt sensitive data at rest — AES-256 minimum
Never store passwords in plaintext or with reversible encryption — bcrypt (cost ≥ 12) or argon2id
Never store credit card numbers, SSNs, or equivalent PII unless absolutely required — tokenise instead
Use strong, modern TLS — TLS 1.2 minimum, TLS 1.3 preferred; disable weak cipher suites
A03 — Injection
Parameterized queries for all database access — never interpolate user input into SQL
Use an ORM as the default — raw queries only when performance requires it, with parameterization enforced
Validate and sanitize all input at the API boundary — reject malformed input before it reaches business logic
Security architecture and implementation patterns. Use when designing security controls, implementing authentication/authorization, conducting threat modeling, or ensuring compliance with security frameworks.