api-design
Design or review REST and GraphQL API interfaces. Use when asked to design an API, review endpoint structure, define…
Harden an application or service against common attack vectors. Use when asked to improve security posture, secure an API, harden a server, or prepare for a security review.
$ npx -y skills add agulli/atlas-agents --skill security-hardening --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/security-hardeningContext preview
The summary Claude sees to decide when to auto-load this skill.
Harden an application or service against common attack vectors. Use when asked to improve security posture, secure an API, harden a server, or prepare for a security review.
name: security-hardening description: Harden an application or service against common attack vectors. Use when asked to improve security posture, secure an API, harden a server, or prepare for a security review. license: MIT
Security hardening is not about chasing perfect — it's about raising the cost of attack above the attacker's budget. Work systematically through the layers.
1. Verify all endpoints require authentication. Check for unprotected routes using:
grep -rn "route\|@app\.\|router\." src/ | grep -v "login\|health\|docs"
2. Check that authorization is enforced at the data layer, not just the route layer. A user who can reach `/orders` should only see *their* orders. 3. Confirm tokens expire. JWTs must have `exp` claims. Sessions must have server-side expiry.
4. Every user-supplied value that touches a database must use parameterized queries. Grep for f-string SQL:
grep -rn "f\"SELECT\|f'SELECT\|format.*SELECT" src/
5. Every file path from user input must be validated against an allowlist or a sandboxed directory. Check for `os.path.join(base, user_input)` without `os.path.abspath` + `startswith` guard.
6. Scan for hardcoded secrets:
grep -rn "password\s*=\s*[\"'][^\"']\|api_key\s*=\s*[\"'][^\"']" src/
7. Confirm all secrets come from environment variables or a secrets manager, not from config files committed to version control. 8. Check `.gitignore` includes `.env`, `*.key`, `*.pem`.
9. Run the `dependency-audit` skill to check for vulnerable packages. 10. Check HTTP security headers are set (for web services):
11. Write findings as a prioritized list: Critical → High → Medium → Low. For each finding: what it is, where it is (file:line), how to fix it.
| Excuse | Rebuttal | |--------|----------| | "This is an internal service, it doesn't need hardening" | Internal services are the primary target of lateral movement attacks after initial breach. | | "We'll harden it before the public launch" | Security debt compounds. Fix it before it goes anywhere. | | "The framework handles security" | Frameworks handle some things. You must handle the application-level concerns. |
This repository contains the source code, examples, and project implementations for the book "Hands-on AI Agents" — a practical, code-first guide to building AI agents and, more importantly, putting them into production.
Design or review REST and GraphQL API interfaces. Use when asked to design an API, review endpoint structure, define…
Perform a structured security and quality audit on source code. Use when asked to review code, audit a pull request, check for…
Design, build, or debug data processing pipelines. Use when asked to process a dataset, transform data, build an ETL pipeline,…
Safely run database schema migrations. Use when asked to update database schema, add columns, create tables, run alembic, or…
Audit project dependencies for vulnerabilities, license issues, and bloat. Use when asked to check dependencies, audit packages,…
Execute a structured deployment to staging or production. Use when asked to deploy, ship, release, push to production, or promote…