skills/security-hardening/SKILL.md
Continuous security posture assessment. Scores the system, auto-fixes safe issues, proposes fixes for risky ones. Every change audited.
npx skillsauth add bolivian-peru/os-moda security-hardeningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Continuous security scoring and automated hardening.
Run these checks and score each one:
shell_exec({ command: "ss -tlnp" })
shell_exec({ command: "sshd -T 2>/dev/null | grep -E 'passwordauth|permitroot|x11forwarding|maxauthtries'" })
journal_logs({ unit: "sshd", since: "7 days ago", priority: "warning" })
shell_exec({ command: "journalctl -u sshd --since '7 days ago' | grep -c 'Failed password'" })
Calculate: (earned_points / 100) * 100
Present as:
Security Score: 78/100
Auto-fixed (safe, no approval needed):
✅ Enabled fail2ban (NixOS config added)
✅ Set MaxAuthTries to 3
✅ Blocked 5 IPs with repeated failed logins
Needs your approval:
⚠️ Port 5432 exposed publicly — close it? (saves 10 pts)
⚠️ Enable automatic nixpkgs security channel
Won't touch without discussion:
🔴 Root SSH enabled (you may need this for deploys)
services.fail2ban = {
enable = true;
maxretry = 3;
bantime = "1h";
};
shell_exec({ command: "journalctl -u sshd --since '24h ago' | grep 'Failed' | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head -10" })
For IPs with > 10 attempts:
networking.firewall.extraCommands = ''
iptables -A INPUT -s <IP> -j DROP
'';
networking.firewall.allowedTCPPorts = [ 22 80 443 ];
# Remove any port that doesn't have a matching service
Present a clear diff and explain the security impact:
Generate a trending security report:
Security Report — Week of Feb 17
Score: 78/100 (↑ from 65 last week)
This week:
- Blocked 142 brute-force SSH attempts from 23 IPs
- Applied 2 NixOS security patches (OpenSSH, curl)
- Closed port 3306 (MySQL was accidentally exposed)
- 0 incidents, 0 unauthorized changes
Trend: Improving. Main gap: root SSH still enabled.
Store the report in memory for historical tracking.
testing
Generate a concise daily infrastructure briefing. Covers: service health, resource usage, security events, overnight incidents, and cost tracking. Designed for Telegram/chat delivery.
devops
Multi-perspective risk analysis using structured persona debate before deploying changes
development
Build software via spec-driven development (github/spec-kit). Whenever the user asks for a feature larger than a one-line tweak, scaffold a spec-kit project, capture WHAT + WHY, declare tech stack, break into tasks, then iterate the implementation until tests pass.
development
Manage NixOS packages declaratively. Search, install (via configuration.nix rebuild), remove, rollback, and list generations. Understands the NixOS declarative model.