agentsclimarketplace

Security auditor

Skill skyvanguard/infra-ops/skills/security-auditor

Use when the user wants to check system security posture, find misconfigurations, audit permissions, or verify hardening. Checks common security issues across platforms.From its SKILL.md

Install
npx -y skills add skyvanguard/infra-ops --skill security-auditor

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

6.4 KB, as published. Nobody here has run it

Security Auditor

Overview

Audit system security configuration by checking for common misconfigurations, exposed services, weak permissions, and missing patches. Produces a security posture report with severity ratings.

Process

Step 1: Scope the Audit

Determine what to audit based on user request:

ScopeWhat to check
Full systemAll categories below
Network exposureOpen ports, listening services, firewall
User/permissionsAccounts, sudo, file permissions
Updates/patchesMissing security updates
ServicesRunning services, unnecessary daemons
SSH/RemoteSSH config, remote access
File systemWorld-writable, SUID, sensitive files

Step 2: Open Ports and Services

Listening services:

PlatformCommand
WindowsGet-NetTCPConnection -State Listen | Select LocalAddress, LocalPort, @{N='Process';E={(Get-Process -Id $_.OwningProcess).Name}} | Sort LocalPort
Linuxss -tlnp
macOSlsof -iTCP -sTCP:LISTEN -n -P

Firewall status:

PlatformCommand
WindowsGet-NetFirewallProfile | Select Name, Enabled
Linuxufw status 2>/dev/null || iptables -L -n 2>/dev/null || firewall-cmd --state 2>/dev/null
macOSpfctl -s info 2>/dev/null | head -5

External exposure check:

# Check if common dangerous ports are exposed
# 21 (FTP), 23 (Telnet), 3389 (RDP), 5900 (VNC), 6379 (Redis), 27017 (MongoDB)

Step 3: User Accounts and Privileges

User accounts:

PlatformCommand
WindowsGet-LocalUser | Select Name, Enabled, LastLogon, PasswordRequired
Linux`awk -F: '$3 >= 1000
macOS`dscl . list /Users UniqueID | awk '$2 >= 500

Privileged access:

PlatformCommand
WindowsGet-LocalGroupMember -Group "Administrators"
Linuxgetent group sudo wheel 2>/dev/null and cat /etc/sudoers.d/* 2>/dev/null | grep -v "^#"
macOSdscl . -read /Groups/admin GroupMembership

Password policy:

PlatformCommand
WindowsGet-ADDefaultDomainPasswordPolicy 2>/dev/null || net accounts
Linuxcat /etc/login.defs | grep -E "^PASS_MAX_DAYS|^PASS_MIN_DAYS|^PASS_MIN_LEN"

Step 4: SSH Configuration (Linux/macOS)

# SSH config issues
grep -E "^(PermitRootLogin|PasswordAuthentication|PermitEmptyPasswords|X11Forwarding|Protocol)" /etc/ssh/sshd_config 2>/dev/null

# Authorized keys (check for unexpected)
find /home -name "authorized_keys" -exec wc -l {} \; 2>/dev/null
cat ~/.ssh/authorized_keys 2>/dev/null | wc -l

Security checks:

SettingSecure ValueRisk if Wrong
PermitRootLoginnoDirect root access
PasswordAuthenticationnoBrute force attacks
PermitEmptyPasswordsnoNo-password login
Protocol2Weak protocol

Step 5: System Updates

Pending security updates:

PlatformCommand
WindowsGet-HotFix | Sort-Object InstalledOn -Descending | Select -First 5
Ubuntu/Debianapt list --upgradable 2>/dev/null | grep -i securi
RHEL/CentOSyum check-update --security 2>/dev/null || dnf check-update --security 2>/dev/null
macOSsoftwareupdate -l 2>&1

Last update date:

PlatformCommand
Windows(Get-HotFix | Sort InstalledOn -Desc | Select -First 1).InstalledOn
Linuxstat /var/cache/apt/pkgcache.bin 2>/dev/null || rpm -qa --last | head -1

Step 6: File System Security

World-writable files (Linux/macOS):

find / -type f -perm -o+w -not -path "/proc/*" -not -path "/sys/*" 2>/dev/null | head -20

SUID/SGID binaries (Linux/macOS):

find / -type f \( -perm -4000 -o -perm -2000 \) -not -path "/proc/*" 2>/dev/null | head -20

Sensitive file permissions:

# Check critical file permissions
ls -la /etc/shadow /etc/passwd /etc/sudoers ~/.ssh/id_* 2>/dev/null

Windows sensitive locations:

# Check for credentials in common locations
Get-ChildItem -Path $env:USERPROFILE -Include *.pem,*.key,*.pfx,id_rsa -Recurse -ErrorAction SilentlyContinue | Select FullName

Step 7: Running Services Audit

Unnecessary services check:

PlatformCommand
WindowsGet-Service | Where-Object {$_.Status -eq 'Running'} | Select Name, DisplayName | Sort DisplayName
Linuxsystemctl list-units --type=service --state=running

Common risky services to flag:

ServiceRiskRecommendation
telnetHIGHReplace with SSH
ftpHIGHReplace with SFTP
rsh/rloginHIGHRemove immediately
unbound RedisHIGHAdd auth, bind localhost
unbound MongoDBHIGHAdd auth, bind localhost
SMBv1MEDIUMDisable, use SMBv2+
SNMP v1/v2MEDIUMUpgrade to v3

Step 8: Present Security Report

## Security Audit Report
**Host:** [hostname] | **OS:** [os] | **Date:** [timestamp]

### Security Score: [X/10]

### Findings by Severity

#### CRITICAL
- [ ] [finding with evidence]

#### HIGH
- [ ] [finding with evidence]

#### MEDIUM
- [ ] [finding with evidence]

#### LOW / Informational
- [ ] [finding]

### Summary
| Category | Status | Issues |
|----------|--------|--------|
| Network Exposure | [PASS/WARN/FAIL] | [count] |
| User Accounts | [PASS/WARN/FAIL] | [count] |
| SSH Config | [PASS/WARN/FAIL] | [count] |
| Updates | [PASS/WARN/FAIL] | [count] |
| File Permissions | [PASS/WARN/FAIL] | [count] |
| Services | [PASS/WARN/FAIL] | [count] |

### Remediation Priority
1. [Critical items first]
2. [High items]
3. [Medium items]

Rules

  • NEVER attempt to exploit any vulnerability found
  • NEVER modify security settings without explicit user permission
  • NEVER access or display password hashes or private keys content
  • Report findings objectively with evidence
  • Flag false positives when context suggests they're intentional (e.g., dev machine)
  • If audit requires elevated privileges, ask user to run specific commands
  • Do NOT install scanning tools; use only built-in OS commands

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.