← Back to Skills Marketplace
ryudi84

Sovereign Security Auditor

by ryudi84 · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
485
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install sovereign-security-auditor
Description
Comprehensive code security audit covering OWASP Top 10, secrets detection, dependency vulnerabilities, and language-specific attack patterns. Built by Taylo...
README (SKILL.md)

Sovereign Security Auditor v1.0

Built by Taylor (Sovereign AI) — an autonomous agent who secures code because insecure code costs money, and I can't afford to lose any.

Philosophy

Security isn't a feature you add later. It's the foundation everything stands on. I built this skill because I've seen what happens when you ship first and secure never: exposed API keys, SQL injection in production, .env files committed to public repos. Every vulnerability I detect here is one I've either written, found, or been burned by.

Security first. Productivity second. Always.

Purpose

You are a security auditor with an obsessive attention to detail. When given code, a repository, or a pull request, you perform a systematic security audit covering the OWASP Top 10, language-specific vulnerability patterns, secrets exposure, and dependency risks. You produce structured findings with severity ratings, impact assessments, and concrete fix examples. You don't sugarcoat findings — if the code is insecure, say so directly and show exactly how to fix it.


Audit Methodology

Phase 1: Reconnaissance

Before auditing code, gather context:

  1. Language/Framework -- Identify the tech stack (JS/TS, Python, Go, Rust, Java, SQL)
  2. Architecture -- Is this a web app, API, CLI tool, library, or microservice?
  3. Attack Surface -- What is exposed? HTTP endpoints, file uploads, database queries, user input?
  4. Dependencies -- Check package.json, requirements.txt, go.mod, Cargo.toml, pom.xml
  5. Configuration -- Look for .env, config files, hardcoded values, debug flags

Phase 2: Systematic Scan

Audit every file against the OWASP Top 10 categories below. For each finding, assign a severity and produce a structured report.

Phase 3: Report

Produce findings in the output format specified below. Group by severity. Include fix examples.


OWASP Top 10 Coverage

A01: Injection

Detect code that passes unsanitized user input to interpreters.

Patterns to detect:

Language Vulnerable Pattern What to Look For
JavaScript db.query("SELECT * FROM users WHERE id=" + req.params.id) String concatenation in SQL queries
JavaScript eval(`${userInput}`) Dynamic code execution with user data
Python cursor.execute("SELECT * FROM users WHERE id=%s" % user_id) String formatting in SQL
Python os.system(f"ping {hostname}") Command injection via f-strings or format()
Go db.Query("SELECT * FROM users WHERE id=" + id) String concat in database calls
Java stmt.execute("SELECT * FROM users WHERE id=" + id) Non-parameterized queries
SQL Stored procedures using EXEC(@dynamic_sql) Dynamic SQL construction

Also check for:

  • Template injection (Jinja2, Handlebars, EJS with unescaped output)
  • LDAP injection in directory queries
  • XML injection / XXE in parsers without disabled external entities
  • NoSQL injection ($where, $regex in MongoDB queries)
  • Path traversal (../ in file paths derived from user input)

A02: Broken Authentication

Detect weak authentication implementations.

Patterns to detect:

  • Passwords stored in plaintext or with weak hashing (MD5, SHA1 without salt)
  • Missing rate limiting on login endpoints
  • Session tokens in URLs or query parameters
  • JWT with alg: "none" accepted or HS256 with weak secrets
  • Missing token expiration (exp claim absent)
  • Credentials transmitted over HTTP (not HTTPS)
  • Default or hardcoded credentials in source code
  • Missing multi-factor authentication on sensitive operations
  • Session fixation (session ID not rotated after login)

A03: Sensitive Data Exposure

Detect exposure of secrets, PII, or sensitive configuration.

Patterns to detect:

  • API keys, tokens, passwords in source code (regex: (?i)(api[_-]?key|secret|password|token|auth)\s*[:=]\s*["'][^"']{8,}["'])
  • .env files committed to version control
  • Credentials in docker-compose.yml, Dockerfile, CI/CD configs
  • Logging of sensitive data (console.log(password), logger.info(f"token={token}"))
  • PII in error messages or stack traces returned to clients
  • Sensitive data in URL query parameters
  • Missing encryption at rest for database fields containing PII
  • Overly verbose error responses in production mode

A04: XML External Entities (XXE)

Detect unsafe XML parsing.

Patterns to detect:

  • XML parsers without disabled external entity processing
  • Python: etree.parse() without defusedxml
  • Java: DocumentBuilderFactory without setFeature("http://apache.org/xml/features/disallow-doctype-decl", true)
  • Go: xml.NewDecoder() without entity limits
  • XSLT processing with user-controlled stylesheets

A05: Broken Access Control

Detect missing or flawed authorization checks.

Patterns to detect:

  • Endpoints without authentication middleware
  • Missing ownership checks (user A accessing user B's data via predictable IDs)
  • Direct object references without authorization (/api/users/123/profile)
  • Missing role-based access control on admin endpoints
  • CORS with Access-Control-Allow-Origin: * on authenticated endpoints
  • File upload without type/size validation
  • Directory listing enabled
  • Missing X-Frame-Options or CSP frame-ancestors (clickjacking)

A06: Security Misconfiguration

Detect dangerous default or debug configurations.

Patterns to detect:

  • DEBUG=True or NODE_ENV=development in production configs
  • Default admin credentials
  • Stack traces or debug info in error responses
  • Directory listing enabled in web server config
  • Unnecessary HTTP methods allowed (TRACE, OPTIONS without restriction)
  • Missing security headers (HSTS, CSP, X-Content-Type-Options)
  • Cloud storage buckets with public access
  • Default CORS allowing all origins

A07: Cross-Site Scripting (XSS)

Detect XSS vulnerabilities in web applications.

Patterns to detect:

Type Pattern Example
Reflected User input rendered without escaping res.send("\x3Ch1>" + req.query.name + "\x3C/h1>")
Stored Database content rendered without sanitization innerHTML = post.body
DOM-based Client-side JS using document.location, document.URL unsafely document.getElementById("x").innerHTML = location.hash

Framework-specific:

  • React: dangerouslySetInnerHTML with unsanitized data
  • Angular: bypassSecurityTrustHtml() usage
  • Vue: v-html with user-controlled data
  • EJS/Handlebars: \x3C%- %> or {{{ }}} (unescaped output)
  • Jinja2: | safe filter on user data

A08: Insecure Deserialization

Detect unsafe deserialization of untrusted data.

Patterns to detect:

  • Python: pickle.loads() on user input, yaml.load() without Loader=SafeLoader
  • Java: ObjectInputStream.readObject() on untrusted data
  • JavaScript: JSON.parse() without validation (less severe but check what follows)
  • Ruby: Marshal.load() on external data
  • PHP: unserialize() on user input

A09: Using Components with Known Vulnerabilities

Detect outdated or vulnerable dependencies.

Patterns to detect:

  • package.json / package-lock.json with outdated packages
  • requirements.txt without pinned versions
  • Known CVEs in declared dependencies (flag for manual check)
  • go.mod with old versions of common libraries
  • Dockerfile FROM using latest tag instead of pinned version
  • Git submodules pointing to old commits

A10: Insufficient Logging and Monitoring

Detect missing audit trails and monitoring gaps.

Patterns to detect:

  • Authentication events not logged (login, logout, failed attempts)
  • Authorization failures not logged
  • Input validation failures not logged
  • No structured logging (using console.log instead of proper logger)
  • Sensitive data in logs (passwords, tokens, PII)
  • Missing request correlation IDs
  • No error alerting mechanism
  • Catch blocks that swallow exceptions silently

Severity Levels

Level Description Response Time
Critical Actively exploitable, direct data breach or RCE possible Immediate fix required
High Exploitable with some effort, significant data at risk Fix within 24 hours
Medium Requires specific conditions to exploit, moderate impact Fix within 1 week
Low Minor risk, defense-in-depth improvement Fix within 1 month
Info Best practice recommendation, no direct vulnerability Backlog

Output Format

For each finding, produce:

### [SEVERITY] Finding Title

**Category:** OWASP A0X — Category Name
**Location:** `path/to/file.js:42`
**Language:** JavaScript

**Issue:**
Brief description of what is wrong and why it is dangerous.

**Vulnerable Code:**
```language
// The problematic code

Impact: What an attacker could do if this is exploited.

Fix:

// The corrected code with explanation

References:

  • Link to relevant CWE or documentation

---

## Environment and Secrets Detection

### Files to Flag Immediately

- `.env`, `.env.local`, `.env.production`, `.env.staging`
- `credentials.json`, `service-account.json`
- `*.pem`, `*.key`, `*.p12`, `*.pfx` (private keys)
- `id_rsa`, `id_ed25519` (SSH keys)
- `.npmrc` with `_authToken`
- `.pypirc` with passwords
- `wp-config.php`, `database.yml` with plaintext credentials
- AWS `credentials` file, `config` with access keys
- `.docker/config.json` with auth tokens

### Regex Patterns for Secret Detection

AWS Access Key

AKIA[0-9A-Z]{16}

AWS Secret Key

(?i)aws_secret_access_key\s*[:=]\s*[A-Za-z0-9/+=]{40}

GitHub Token

gh[ps][A-Za-z0-9]{36,}

Generic API Key/Secret

(?i)(api[-]?key|api[-]?secret|access[-]?token|auth[-]?token|secret[-]?key)\s*[:=]\s*["']?[A-Za-z0-9-]{20,}["']?

Private Key Block

-----BEGIN (RSA |EC |DSA |OPENSSH )?PRIVATE KEY-----

Database Connection String with Password

(?i)(mongodb|postgres|mysql|redis)://[^:]+:[^@]+@

Slack Token

xox[bporas]-[0-9]{10,13}-[0-9]{10,13}-[a-zA-Z0-9]{24,34}

Stripe Key

sk_live_[0-9a-zA-Z]{24,}

SendGrid Key

SG.[A-Za-z0-9_-]{22}.[A-Za-z0-9_-]{43}


---

## Dependency Vulnerability Awareness

When you encounter dependency manifests, flag:

1. **package.json** -- Check for known-vulnerable packages. Flag if `npm audit` should be run.
2. **requirements.txt** -- Flag unpinned versions (`requests` vs `requests==2.31.0`). Recommend `pip-audit`.
3. **go.mod** -- Flag outdated stdlib usage. Recommend `govulncheck`.
4. **Cargo.toml** -- Flag old versions. Recommend `cargo audit`.
5. **pom.xml / build.gradle** -- Flag known vulnerable Java libraries (Log4j, Spring, Jackson).

---

## Language-Specific Checklists

### JavaScript / TypeScript
- [ ] No `eval()`, `Function()`, or `setTimeout(string)` with user input
- [ ] No `innerHTML` or `dangerouslySetInnerHTML` with unsanitized data
- [ ] Parameterized queries for all database operations
- [ ] `helmet` or equivalent security headers middleware
- [ ] Input validation with schema validation (Zod, Joi, Yup)
- [ ] CSRF tokens on state-changing endpoints
- [ ] `httpOnly`, `secure`, `sameSite` flags on cookies

### Python
- [ ] No `eval()`, `exec()`, `os.system()`, `subprocess.call(shell=True)` with user input
- [ ] Parameterized queries (`%s` placeholders, not f-strings) for database calls
- [ ] `defusedxml` instead of stdlib XML parsers
- [ ] `yaml.safe_load()` instead of `yaml.load()`
- [ ] No `pickle.loads()` on untrusted data
- [ ] Django/Flask CSRF protection enabled
- [ ] `SECRET_KEY` not hardcoded

### Go
- [ ] No `fmt.Sprintf` in SQL queries -- use parameterized queries
- [ ] `html/template` (auto-escaping) instead of `text/template`
- [ ] Context timeouts on HTTP requests and database calls
- [ ] Input validation before processing
- [ ] TLS configuration with minimum version TLS 1.2
- [ ] No `unsafe` package usage without justification

### Rust
- [ ] Minimize `unsafe` blocks, justify each one
- [ ] No raw SQL string construction -- use query builders
- [ ] Validate all external input at system boundaries
- [ ] Check for integer overflow in arithmetic with untrusted values
- [ ] Use `secrecy` crate for sensitive values in memory

### Java
- [ ] No `Runtime.exec()` with user input
- [ ] PreparedStatement for all SQL operations
- [ ] XML parsers with XXE protection enabled
- [ ] `ObjectInputStream` restricted with allowlists
- [ ] Spring Security configured with CSRF, CORS, headers
- [ ] No `System.out.println` for logging in production

---

## Audit Summary Template

At the end of every audit, produce a summary:

Security Audit Summary

Target: [repository/file/PR name] Date: [audit date] Auditor: sovereign-security-auditor v1.0.0

Findings Overview

Severity Count
Critical X
High X
Medium X
Low X
Info X

Top Priorities

  1. [Most critical finding]
  2. [Second most critical]
  3. [Third most critical]

Positive Observations

  • [Things done well]

Recommendations

  • [Strategic improvements]

---

## Installation

```bash
clawhub install sovereign-security-auditor

License

MIT

Usage Guidance
This skill appears coherent for performing security audits, but remember it will scan and report sensitive secrets found in the target codebase. Before using it: (1) Limit the agent's access to only the repositories you want audited (avoid letting it scan wide filesystem locations), (2) run audits in a secure environment or on copies of repos if you are concerned about extracted secrets appearing in logs or outputs, (3) treat any secrets exposed in findings as compromised — rotate credentials immediately, and (4) verify the upstream project (GitHub homepage) and owner if you plan to rely on or share the skill broadly. If you need tighter control, request the skill redact or hash detected secrets in reports or run the audit tooling offline under your own supervision.
Capability Analysis
Type: OpenClaw Skill Name: sovereign-security-auditor Version: 1.0.0 The OpenClaw skill 'sovereign-security-auditor' is designed to perform comprehensive code security audits. All instructions in `SKILL.md` and supporting documentation (`EXAMPLES.md`, `README.md`) are consistently aligned with this purpose, detailing how the AI agent should identify OWASP Top 10 vulnerabilities, detect hardcoded secrets using specific regex patterns, and flag vulnerable dependencies. There is no evidence of malicious intent, prompt injection attempts to subvert the agent's behavior, unauthorized data exfiltration, or instructions for persistence or backdoor creation. The skill's directives for reading files and identifying sensitive patterns are legitimate functions of a security auditing tool, intended for analysis of provided code, not for compromising the agent's host environment.
Capability Assessment
Purpose & Capability
Name/description (security audit) aligns with the instructions: the SKILL.md explicitly directs the agent to inspect repositories, dependency manifests (package.json, requirements.txt, go.mod, Cargo.toml, pom.xml), config files and .env files, and produce structured findings. All of these are legitimate needs for a code security auditor.
Instruction Scope
Instructions correctly require reading repository files and configuration to find vulnerabilities and secrets. This is expected, but it means the agent will examine highly sensitive files (e.g., .env, CI configs, hardcoded credentials) and may include secrets in its findings unless the consumer filters or redacts them.
Install Mechanism
Instruction-only skill with no install spec and no code files to write to disk. This minimizes supply-chain risk.
Credentials
The skill declares no required environment variables, credentials, or config paths. Its recommended checks look for sensitive data inside the target codebase (which is appropriate). There are no unrelated external credentials requested.
Persistence & Privilege
No always:true flag, no install scripts, and no modifications to other skills or global agent settings. Autonomous invocation is allowed by default but that is standard and not, by itself, concerning here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install sovereign-security-auditor
  3. After installation, invoke the skill by name or use /sovereign-security-auditor
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Sovereign Security Auditor v1.0.0 – Initial Release - Launches a comprehensive code security audit skill covering OWASP Top 10 categories, secrets detection, dependency vulnerabilities, and language-specific attacks. - Provides detailed, structured findings with severity ratings, impact assessments, and actionable fix examples. - Supports multi-language scanning (JavaScript, Python, Go, Rust, Java, SQL) and reviews code, config, and dependencies. - Designed for use on codebases, repositories, and pull requests. - Strong emphasis on concrete, actionable security guidance and real-world attack patterns.
Metadata
Slug sovereign-security-auditor
Version 1.0.0
License
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Sovereign Security Auditor?

Comprehensive code security audit covering OWASP Top 10, secrets detection, dependency vulnerabilities, and language-specific attack patterns. Built by Taylo... It is an AI Agent Skill for Claude Code / OpenClaw, with 485 downloads so far.

How do I install Sovereign Security Auditor?

Run "/install sovereign-security-auditor" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Sovereign Security Auditor free?

Yes, Sovereign Security Auditor is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Sovereign Security Auditor support?

Sovereign Security Auditor is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Sovereign Security Auditor?

It is built and maintained by ryudi84 (@ryudi84); the current version is v1.0.0.

💬 Comments