security-hardening
Threat-model a change and harden it before it ships — trust boundaries, authn/authz, input validation, secrets, SSRF, destructive operations, rate limits and…
Skill by pabloleonalcaide
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/pabloleonalcaide-security-hardening
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/security-hardening
What's inside
- Skill name
security-hardening- Description
- Threat-model a change and harden it before it ships — trust boundaries, authn/authz, input validation, secrets, SSRF, destructive operations, rate limits and supply chain. Use when a change touches authentication or authorization, payments, user or external input, webhooks, file paths, outbound requests, secrets or new dependencies, or when the user asks for a security review of a design. Invoked by /develop when the blueprint declares security impact.
- License
- MIT
- Instructions
- 68 lines in SKILL.md · view on GitHub
Files (2)
- REFERENCE.md
- SKILL.md
SKILL.md (first lines)
# Security hardening
Security is a design property, not a review step: decide where trust ends **before** writing the
code that crosses that line. This skill runs at design time (phase B/C of `develop`) and leaves a
checklist that the hardening reviewers verify against the diff.
## When NOT to use
- Dependency CVE alerts — that is a dependency-maintenance task, not a design review.
- Changes with no new input, output, permission or dependency (pure refactors, copy changes).
- As a substitute for a post-hoc diff review tool: this skill shapes the design; a diff review
checks the result.
## Process
1. **Map the trust boundaries.** List every place data crosses from a less-trusted to a
more-trusted zone: HTTP request → handler, webhook → handler, queue message → consumer, file
upload → storage, **LLM output → code or tool call**, another process's arguments or env →
your logic. Rule: *trust follows who wrote a value, not which channel delivered it* — a value
read from your own database that a user wrote is still user input.
2. **STRIDE each boundary** — one row per boundary, only the threats that apply:
| Boundary | Spoofing | Tampering | Repudiation | Info disclosure | DoS | Elevation |
|---|---|---|---|---|---|---|
3. **Write the abuse cases as the first tests.** For each real threat, a test that plays the
attacker: another tenant's id, a forged signature, a `../` path, an oversized payload, a
replayed request. These go through the same seams as the feature tests.
4. **Classify the actions in the change** into three tiers and put them in the blueprint:
- **Always** — validate at the boundary, check authorization on the resource (not just
authentication), parameterize queries, encode output, log security events without secrets.
- **Ask first** — new dependency, new outbound host, new permission or role, schema change on
auth data, disabling a check "temporarily".
- **Never** — secrets in code/logs/URLs, `eval` on external input, trusting client-side
checks, disabling TLS verification, `audit fix --force`.
5. **Apply the controls.** Open [REFERENCE.md](REFERENCE.md) at the section you need when you
reach that code, not before.
6. **Hand the checklist to hardening.** The Verification list below goes into the *Standards*
reviewer's input.
## Common Rationalizations
| Rationalization | Reality |
|---|---|
| "It's an internal endpoint" | Internal networks get breached; SSRF turns every internal endpoint into an external one. |
| "The frontend already validates it" | The frontend is the attacker's code. Validate at the server boundary. |
| "The user is authenticated, that's enough" | Authentication says who; authorization says whether *this* user may touch *this* resource. IDOR lives in the gap. |
| "I'll remove the secret from git later" | Once pushed it is leaked. Rotate first, then purge history. |
| "It's just a dev dependency" | Install scripts run on every machine and CI runner that installs it. |
## Red Flags
- A handler reads an id from the request and loads the resource without checking ownership.
- A string concatenated into a query, shell command, path or URL.
- A webhook handler that does not verify the signature before parsing.
- Secrets, tokens or personal data in a log line, error message or URL.
- A `catch` that swallows an authorization error and continues.
- A new dependency added without checking its install scripts and maintenance.
## Verification
- [ ] Every trust boundary in the change is listed with its applicable threats
- [ ] Each real threat has an abuse-case test that fails without the control
- [ ] Authorization is checked on the resource at every new or changed entry point
- [ ] No secret or personal data in code, logs, errors or URLs (grep the diff)
- [ ] Any "Ask first" action was asked and the answer recorded in the blueprintFrom pabloleonalcaide/development-skills, MIT.
More from pabloleonalcaide/development-skills
- 0.592score
disk-cleanup
pabloleonalcaide
Reclaim local disk space safely on a development machine — leftover git worktrees, Docker leftovers from integration tests (Testcontainers containers, orphan…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
develop
pabloleonalcaide
Orchestrates any non-trivial development or analysis task end-to-end — discovery, alignment, blueprint, registration, implementation and delivery.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
api-design
pabloleonalcaide
Design stable public interfaces — HTTP endpoints, event payloads, module boundaries, SDK-style ports — and make retried operations safe with idempotency keys.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
deprecation
pabloleonalcaide
Retire code, endpoints, fields, flags and dependencies safely, and migrate data without downtime using expand/contract.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
observability
pabloleonalcaide
Instrument code so production behavior is visible and diagnosable — structured logs with correlation ids, metrics, traces, symptom-based alerts and minimal…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
setup
pabloleonalcaide
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub by default, or…
SkillAFreshness: A★ 1Claude Code +9 - 0.584score
create-pr
pabloleonalcaide
Commit the current branch, push it, and open a pull request.
SkillAFreshness: A★ 1Claude Code +9 - 0.567score
diagnose
pabloleonalcaide
Disciplined diagnosis loop for hard bugs and performance regressions.
SkillAFreshness: A★ 1Claude Code +9 - 0.562score
grilling
pabloleonalcaide
Grill the user relentlessly about a plan or design until shared understanding — interview one decision at a time, no code until confirmed.
SkillAFreshness: A★ 1Claude Code +9 - 0.562score
tdd
pabloleonalcaide
Test-driven development with red-green-refactor loop.
SkillAFreshness: A★ 1Claude Code +9 - 0.562score
write-a-skill
pabloleonalcaide
Create new agent skills with proper structure, progressive disclosure, and bundled resources.
SkillAFreshness: A★ 1Claude Code +9 - 0.562score
receiving-code-review
pabloleonalcaide
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires…
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 7, 2026 (22 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from pabloleonalcaide
- 0.592score
disk-cleanup
pabloleonalcaide
Reclaim local disk space safely on a development machine — leftover git worktrees, Docker leftovers from integration tests (Testcontainers containers, orphan…
SkillAFreshness: A★ 1Claude Code +9 - 0.592score
develop
pabloleonalcaide
Orchestrates any non-trivial development or analysis task end-to-end — discovery, alignment, blueprint, registration, implementation and delivery.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
deprecation
pabloleonalcaide
Retire code, endpoints, fields, flags and dependencies safely, and migrate data without downtime using expand/contract.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
api-design
pabloleonalcaide
Design stable public interfaces — HTTP endpoints, event payloads, module boundaries, SDK-style ports — and make retried operations safe with idempotency keys.
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
observability
pabloleonalcaide
Instrument code so production behavior is visible and diagnosable — structured logs with correlation ids, metrics, traces, symptom-based alerts and minimal…
SkillAFreshness: A★ 1Claude Code +9 - 0.587score
setup
pabloleonalcaide
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub by default, or…
SkillAFreshness: A★ 1Claude Code +9
Cite this page
security-hardening skill. Agent Mart. https://agentmart.dev/skills/pabloleonalcaide-security-hardening (last updated 2026-10-24)