AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Verify Security

skill-aurite-ai-agent-verifier-verify-security · by Aurite-ai

Verify code for security issues including hardcoded secrets, input validation, error exposure, and dependency vulnerabilities. Use when asked to "verify security", "check for secrets", or "scan for vulnerabilities".

No reviews yet
0 installs
45 views
0.0% view→install

Install

$ agentstack add skill-aurite-ai-agent-verifier-verify-security

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-aurite-ai-agent-verifier-verify-security)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Verify Security? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Security Verification

Purpose

Verify code for security anti-patterns and vulnerabilities. All analysis happens locally—code never leaves your machine.

When to Use

Trigger this skill when the user asks to:

  • "verify agent security"
  • "verify security"
  • "check for secrets"
  • "scan for vulnerabilities"
  • "security audit"

> Note: For full verification including patterns, quality, and language-specific checks, tell the user to say "verify agent".

Process

Step 1: Discover Files

Locate files to analyze:

Configuration files:

  • package.json, pyproject.toml, Cargo.toml - Dependencies
  • .env, .env.example, .env.local - Environment files
  • config.py, settings.py, config.ts - Configuration

Source files:

  • *.py, *.ts, *.js, *.go, *.rs - Source code
  • Prioritize files with: auth, api, client, secret, config in name

Exclude:

  • node_modules/, .venv/, venv/, __pycache__/
  • *.test.*, *.spec.*, *_test.go

Step 2: Run Security Checks

Check Tiers
  • [PATTERN] — Mechanical check. Apply exactly as written.
  • [HEURISTIC] — Judgment required. Mark findings clearly.

Tag every finding with [P] for pattern or [H] for heuristic.


2.1 [PATTERN] Hardcoded Secrets

Scan for assignments matching these patterns (case-insensitive):

| Variable pattern | Fail condition | |------------------|----------------| | API_KEY | Assigned to string literal | | SECRET | Assigned to string literal | | PASSWORD | Assigned to string literal | | TOKEN | Assigned to string literal | | PRIVATE_KEY | Assigned to string literal | | AWS_ACCESS_KEY_ID | Assigned to string literal | | AWS_SECRET_ACCESS_KEY | Assigned to string literal |

Examples of failures:

# ❌ Issue
API_KEY = "sk-abc123..."
password = "hunter2"
OPENAI_API_KEY = "sk-proj-..."

# ✅ Pass
API_KEY = os.environ["API_KEY"]
password = os.getenv("PASSWORD")
api_key = settings.API_KEY

Also flag:

  • String literals matching known API key patterns:
  • sk-... (OpenAI)
  • sk-ant-... (Anthropic)
  • AKIA... (AWS)
  • ghp_... (GitHub)
  • xoxb-... (Slack)

Severity: ❌ Issue


2.2 [PATTERN] Dependency Version Pinning

Python (requirements.txt):

| Pattern | Severity | |---------|----------| | package>=1.0 | ❌ Issue | | package>1.0 | ❌ Issue | | package (no version) | ❌ Issue | | package==1.0.0 | ✅ Pass | | package~=1.0 | ✅ Pass |

Python (pyproject.toml):

Check [project.dependencies] and [tool.poetry.dependencies]:

  • Unpinned or >= versions → ❌ Issue
  • Pinned with == or ^ or ~ → ✅ Pass

JavaScript/TypeScript (package.json):

| Pattern | Severity | |---------|----------| | "package": "*" | ❌ Issue | | "package": "latest" | ❌ Issue | | "package": ">=1.0.0" | ⚠️ Warning | | "package": "^1.0.0" | ✅ Pass | | "package": "~1.0.0" | ✅ Pass | | "package": "1.0.0" | ✅ Pass |


2.3 [HEURISTIC] Input Validation

Check for external data handling:

Look for:

  • HTTP request handlers (@app.route, router.get, etc.)
  • User input processing (request.body, req.params, input())
  • File uploads
  • Database queries with user input

Flag if:

  • User input is passed directly to database queries without sanitization
  • File paths are constructed from user input without validation
  • JSON parsing without schema validation on external data

Severity: ⚠️ Warning

Example patterns to flag:

# ⚠️ Warning - SQL without parameterization
query = f"SELECT * FROM users WHERE id = {user_id}"

# ⚠️ Warning - Path traversal risk
file_path = os.path.join(base_dir, user_filename)

# ✅ Pass - Parameterized query
cursor.execute("SELECT * FROM users WHERE id = ?", (user_id,))

2.4 [HEURISTIC] Error Message Exposure

Check error handling for information leakage:

Flag if:

  • Stack traces returned in HTTP responses
  • Database error messages exposed to users
  • Internal paths or system info in error messages
  • Debug mode enabled in production code

Look for:

# ⚠️ Warning
except Exception as e:
    return {"error": str(e)}  # Exposes internal details

# ⚠️ Warning
app = Flask(__name__)
app.debug = True  # Debug in production

# ✅ Pass
except Exception as e:
    logger.error(f"Error: {e}")
    return {"error": "An error occurred"}

Severity: ⚠️ Warning


2.5 [HEURISTIC] Secure Defaults

Check configuration for insecure defaults:

| Setting | Insecure | Secure | |---------|----------|--------| | CORS | * (allow all) | Specific origins | | SSL verification | verify=False | verify=True or omitted | | Debug mode | debug=True | debug=False | | Cookie security | secure=False | secure=True | | CSRF | Disabled | Enabled |

Examples:

# ⚠️ Warning
requests.get(url, verify=False)
app.config["SESSION_COOKIE_SECURE"] = False
CORS(app, origins="*")

# ✅ Pass
requests.get(url)  # verify=True is default
app.config["SESSION_COOKIE_SECURE"] = True
CORS(app, origins=["https://example.com"])

Severity: ⚠️ Warning


2.6 [HEURISTIC] Sensitive Data Logging

Check logging statements for sensitive data:

Flag if logging includes:

  • Passwords or tokens
  • API keys
  • Personal identifiable information (PII)
  • Credit card numbers
  • Session tokens

Look for:

# ⚠️ Warning
logger.info(f"User login: {username} with password {password}")
print(f"API response: {response.json()}")  # May contain tokens

# ✅ Pass
logger.info(f"User login: {username}")
logger.debug(f"Request to {url}")  # No sensitive data

Severity: ⚠️ Warning


Step 3: Generate Report

# Security Verification Report

**Project:** [name or path]
**Date:** [current date]
**Files analyzed:** [count]

## Summary

✅ X checks passed | ⚠️ Y warnings | ❌ Z issues

## Secrets

- [x] No hardcoded secrets found
- [ ] ❌ Hardcoded secret at `[file:line]`

## Dependencies

- [x] All dependencies pinned
- [ ] ❌ Unpinned dependencies in `[file]`

## Input Validation

- [x] External input properly validated
- [ ] ⚠️ Potential injection at `[file:line]`

## Error Handling

- [x] Errors properly sanitized
- [ ] ⚠️ Information leakage at `[file:line]`

## Findings

> `[P]` = pattern-matched · `[H]` = heuristic

### ✅ Passing
- `[P]` No hardcoded API keys or secrets
- `[P]` Dependencies properly pinned

### ⚠️ Warnings
- `[H]` [Check]: [description]
  - **Location:** [file:line]
  - **Risk:** [what could go wrong]
  - **Suggestion:** [how to fix]

### ❌ Issues
- `[P]` [Check]: [description]
  - **Location:** [file:line]
  - **Rule:** [which rule violated]
  - **Fix:** [specific remediation]

## Recommendations

1. [Priority recommendation]
2. [Additional improvements]

For full verification including patterns, quality, and language-specific checks, say "verify agent".

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.