Agent skill

Security Hardening

by agulli in agulli/atlas-agents

Harden an application or service against common attack vectors.

MITAuto-check: notesSecurity

Install Security Hardening

skills CLI
$ npx skills add agulli/atlas-agents --skill security-hardening -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install agulli/atlas-agents security-hardening --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/agulli/atlas-agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/ch09_agent_skills/skills/security-hardening .claude/skills/security-hardening && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
security-hardening
GitHub stars
579
Token cost
~714 tokens
SKILL.md length
321 words
Files
1
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

Harden an application or service against common attack vectors.

  • Works in 3 steps: Verify all endpoints require… → Check that authorization is enforced at… → Confirm tokens expire. JWTs must have…
  • Asked to improve security posture
  • SKILL.md covers Overview, Process, Rationalizations and Verification
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Security Hardening is an agent skill from agulli/atlas-agents. 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.

Its SKILL.md is about 710 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Security, covering Security review. The licence is MIT.

When your agent uses it

  • Asked to improve security posture
  • Harden a server
  • Prepare for a security review

Example prompts

  • “/security-hardening”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Verify all endpoints require authentication. Check for unprotected routes using
  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.

What it can do on your machine

Read from SKILL.md and the folder at commit 2b21998. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Security Hardening loads about 714 tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 321 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~48
When it runs · the whole SKILL.md, loaded when a task matches
~714

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:37
    8. Check `.gitignore` includes `.env`, `*.key`, `*.pem`.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from agulli/atlas-agents at commit 2b21998, republished under its MIT licence (© agulli). 321 words, ~714 tokens.

Download SKILL.mdSave it as .claude/skills/security-hardening/SKILL.md (or your agent's skills folder).
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

Overview

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.

Process

Layer 1: Authentication and Authorization
  1. Verify all endpoints require authentication. Check for unprotected routes using:
    bash
    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.
Layer 2: Input Validation
  1. Every user-supplied value that touches a database must use parameterized queries. Grep for f-string SQL:
    bash
    grep -rn "f\"SELECT\|f'SELECT\|format.*SELECT" src/
  2. 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.
Layer 3: Secrets and Configuration
  1. Scan for hardcoded secrets:
    bash
    grep -rn "password\s*=\s*[\"'][^\"']\|api_key\s*=\s*[\"'][^\"']" src/
  2. Confirm all secrets come from environment variables or a secrets manager, not from config files committed to version control.
  3. Check .gitignore includes .env, *.key, *.pem.
Layer 4: Dependencies and Infrastructure
  1. Run the dependency-audit skill to check for vulnerable packages.
  2. Check HTTP security headers are set (for web services):
    • Content-Security-Policy
    • X-Frame-Options: DENY
    • Strict-Transport-Security
    • X-Content-Type-Options: nosniff
Layer 5: Output
  1. 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.

Rationalizations

ExcuseRebuttal
"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.

Verification

  • All four layers were checked (not just the ones that seemed relevant)
  • No hardcoded secrets found in source or git history
  • Every critical and high finding has a specific remediation
  • A finding was produced for each layer — even if it's "no issues found"

© agulli, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in ch09_agent_skills/skills/security-hardening of agulli/atlas-agents.

Open the folder on GitHubat commit 2b21998

Compare with similar skills

Security Hardening next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Security Hardening compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Security Hardening this skillagulli/atlas-agents579—~714Automated safety check: NotesMIT
Deepsec Documentation Guidevercel-labs/deepsec8.1k—~956Automated safety check: PassApache-2.0
Kubernetes Network Security Auditkubeshark/kubeshark12k—~7.3kAutomated safety check: NotesApache-2.0
Native Dependency Updatemono/SkiaSharp5.6k—~4.1kAutomated safety check: PassMIT
Semgrep Security Scantrailofbits/skills7.4k—~3.7kAutomated safety check: NotesCC-BY-SA-4.0
Skillward AuditFangcun-AI/SkillWard143—~2.9kAutomated safety check: PassCustom licence

Similar skills

  • Deepsec Documentation Guide

    vercel-labs/deepsec

    Official

    Points the agent at deepsec's own docs to answer questions about initializing, configuring, resuming, scanning with and extending the vulnerability scanner.

    8.1k GitHub stars~956 tokensUpdated 10 days ago
    SecurityAuto-check passed
  • Hunts for compromised workloads and malicious traffic in a Kubernetes cluster by sweeping network data through Kubeshark MCP, mapped to MITRE ATT&CK.

    12k GitHub stars~7.3k tokensUpdated 2 days ago
    SecurityAuto-check: notes
  • Update native dependencies (libpng, libexpat, zlib, libwebp, harfbuzz, freetype, libjpeg-turbo, etc.) in SkiaSharp's Skia fork.

    5.6k GitHub stars~4.1k tokensUpdated today
    SecurityAuto-check passed
  • Semgrep Security Scan

    trailofbits/skills

    Official

    Detects languages, proposes rulesets for approval, then runs the approved Semgrep scan across a codebase and merges the output into one SARIF file.

    7.4k GitHub stars~3.7k tokensUpdated 2 days ago
    SecurityAuto-check: notes
  • Skillward Audit

    Fangcun-AI/SkillWard

    Security-audit a third-party skill bundle (folder with SKILL.md, or .zip / .tar.gz archive) before installing it, using the SkillWard cloud scanner.

    143 GitHub stars~2.9k tokensUpdated 2 mo ago
    SecurityAuto-check passed
  • Security Audit

    TheDecipherist/claude-code-mastery

    Checks a codebase for hardcoded secrets, vulnerable dependencies, weak input handling, weak authentication and unsafe transport settings before deployment or merge.

    550 GitHub stars~1.3k tokensUpdated 5 mo ago
    SecurityAuto-check: notes

More from agulli/atlas-agents

All 12 skills in this repo
  • API Design

    agulli/atlas-agents

    Design or review REST and GraphQL API interfaces. An agent skill from agulli/atlas-agents.

    579 GitHub stars~539 tokensUpdated 2 mo ago
    Auto-check passed
  • Data Pipeline

    agulli/atlas-agents

    Design, build, or debug data processing pipelines. An agent skill from agulli/atlas-agents.

    579 GitHub stars~714 tokensUpdated 2 mo ago
    Auto-check passed
  • Database Migration

    agulli/atlas-agents

    Safely run database schema migrations. An agent skill from agulli/atlas-agents.

    579 GitHub stars~702 tokensUpdated 2 mo ago
    Auto-check passed
  • Deploy Checklist

    agulli/atlas-agents

    Execute a structured deployment to staging or production. An agent skill from agulli/atlas-agents.

    579 GitHub stars~756 tokensUpdated 2 mo ago
    Auto-check passed
  • Documentation Writer

    agulli/atlas-agents

    Write or update technical documentation for code, APIs, or systems.

    579 GitHub stars~639 tokensUpdated 2 mo ago
    Auto-check passed
  • Git Commit

    agulli/atlas-agents

    Create well-structured git commits with conventional commit messages.

    579 GitHub stars~463 tokensUpdated 2 mo ago
    Auto-check: notes

Categories

Questions about Security Hardening

What does Security Hardening do?

Harden an application or service against common attack vectors. Security Hardening is an agent skill from agulli/atlas-agents. Harden an application or service against common attack vectors.

When should I use Security Hardening?

Security Hardening fits situations like: asked to improve security posture; harden a server; prepare for a security review.

How do I install Security Hardening in Claude Code?

Run `npx skills add agulli/atlas-agents --skill security-hardening -a claude-code`. Or copy the skill folder (ch09_agent_skills/skills/security-hardening in agulli/atlas-agents) into .claude/skills/security-hardening in your project. Claude Code loads it when a task matches its description.

How do I install Security Hardening in Codex?

Run `npx skills add agulli/atlas-agents --skill security-hardening -a codex`. Or copy the skill folder (ch09_agent_skills/skills/security-hardening in agulli/atlas-agents) into .agents/skills/security-hardening in your project. Codex loads it when a task matches its description.

Can I use Security Hardening in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add agulli/atlas-agents --skill security-hardening -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/security-hardening, .gemini/skills/security-hardening, .github/skills/security-hardening and .opencode/skills/security-hardening in your project.

What does Security Hardening need to run?

SKILL.md names no scripts, command-line tools or credentials: Security Hardening is instructions for the agent only.

Does Security Hardening access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Security Hardening safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Security Hardening use?

Security Hardening is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Security Hardening use?

About 714 tokens (SKILL.md is roughly 2.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Security Hardening?

Skills that share tags, products or a category with Security Hardening: Deepsec Documentation Guide (vercel-labs/deepsec, 8.1k stars), Kubernetes Network Security Audit (kubeshark/kubeshark, 12k stars), Native Dependency Update (mono/SkiaSharp, 5.6k stars) and Semgrep Security Scan (trailofbits/skills, 7.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Security Hardening?

agulli (a GitHub user) maintains it in agulli/atlas-agents, which has 579 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on July 17, 2026.

Source: agulli/atlas-agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.