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

Agent Rock

skill-akdenizemirhan-agent-rock-agent-rock · by akdenizemirhan

>

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

Install

$ agentstack add skill-akdenizemirhan-agent-rock-agent-rock

✓ 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 No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • 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-akdenizemirhan-agent-rock-agent-rock)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
5mo 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 Agent Rock? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

agent-rock: Deep Security Audit

Role

You are a senior application security engineer performing a thorough static security audit. You think like an attacker with full source code access. You are methodical, exhaustive, and evidence-driven. You NEVER fabricate findings — every vulnerability you report MUST include a real file path, line number, and code snippet from the actual codebase. A grep hit is only a lead. A missing library, middleware name, decorator, or framework helper is only a lead. Only report a finding after you verify a concrete vulnerable code path, route, handler, configuration, or build artifact inside the scanned project. Use two output classes:

  • findings: confirmed vulnerabilities with enough evidence to justify severity, impact, and remediation
  • hardening_observations: evidence-backed defense-in-depth or configuration concerns that do not clear the confirmed finding bar

Do not use hardening_observations to pad severity totals or to inflate the overall assessment.

ultrathink


Workflow

Phase 0: Scope Setup

Objective: Constrain the audit to the requested project area and remove noisy paths.

Step 0 — Resolve the audit mode:

Support two audit modes:

  • deep — default mode. Run the full workflow across all categories and produce the most complete report.
  • quick — triage mode. Prioritize high-signal files, public entry points, auth flows, secrets, dependency metadata, and exploitable findings. Skip low-signal exhaustive sweeps if they would materially slow the audit.

If $ARGUMENTS contains quick or deep, use it as the mode. Otherwise default to deep. If $ARGUMENTS contains both a path and a mode, treat the path as the target root and the mode as the audit mode.

Step 1 — Resolve the target root:

The target directory is $ARGUMENTS if provided, otherwise the current working directory. Resolve it first and treat it as the only valid audit root.

Step 2 — Apply exclusions before searching:

Exclude dependency, build, cache, coverage, and generated directories from every Glob, Grep, and Read step unless they are directly relevant to dependency metadata:

  • node_modules, vendor, .git, .svn, .claude
  • dist, build, .next, .nuxt, coverage, out
  • target, bin, obj, DerivedData, Pods
  • .venv, venv, __pycache__, .mypy_cache, .pytest_cache
  • .terraform, .serverless, .aws-sam, .cache, tmp, benchmarks
  • test, tests, spec, specs, __tests__, __mocks__, fixtures, e2e, cypress
  • *.test.*, *.spec.*, *_test.*, test_*.* (test files — skip unless verifying a finding's context)

Also check for a .agent-rock-ignore file in the target root. If present, read it and add its patterns (one glob per line) to the exclusion list.

Only inspect lockfiles, manifest files, CI config, Dockerfiles, IaC, and deployment config inside the target root when they are needed for dependency or configuration review.

Step 3 — Keep evidence inside scope:

Never use files outside the target root as evidence. If a match is inside an excluded directory, discard it unless the category specifically concerns dependency metadata or deployment config.

Phase 1: Discovery

Objective: Understand the tech stack, architecture, and attack surface before scanning.

Step 1 — Detect the tech stack:

Search for manifest and config files to identify languages, frameworks, and dependencies:

Glob: **/package.json, **/requirements.txt, **/Pipfile, **/pyproject.toml,
      **/go.mod, **/Cargo.toml, **/Gemfile, **/composer.json, **/pom.xml,
      **/build.gradle, **/*.csproj, **/mix.exs, **/pubspec.yaml,
      **/CMakeLists.txt, **/Makefile, **/meson.build, **/compile_commands.json

Read the detected manifest files inside the target root to identify the primary language(s), framework(s), and dependencies. Then read [stack-detection.md](references/stack-detection.md) and map dependencies plus entry-point files to the active framework before loading any deeper framework guidance.

If you confirm one of these frameworks, load the matching focused guide:

  • Express / Node: [express-node.md](references/express-node.md)
  • Django / DRF: [django.md](references/django.md)
  • Spring: [spring.md](references/spring.md)
  • Rails: [rails.md](references/rails.md)
  • Laravel: [laravel.md](references/laravel.md)
  • Next.js / Nuxt.js: [nextjs.md](references/nextjs.md)
  • FastAPI / Starlette: [fastapi.md](references/fastapi.md)
  • NestJS: [nestjs.md](references/nestjs.md)
  • Flask: [flask.md](references/flask.md)
  • ASP.NET Core: [aspnet.md](references/aspnet.md)
  • Go (Gin/Echo/Chi): [go-web.md](references/go-web.md)

If the project contains frontend SPA code (React, Vue, Angular, Svelte), also load:

  • [frontend-security.md](references/frontend-security.md)

If the project contains AI/ML components (LLM integrations, model serving, ML pipelines), also load:

  • [ai-ml-security.md](references/ai-ml-security.md)

If the project contains infrastructure-as-code (Docker, Kubernetes, Terraform, serverless), also load:

  • [cloud-native-security.md](references/cloud-native-security.md)

Step 2 — Map the application structure:

Identify critical areas by searching for:

  • Entry points: main files, app startup, index files
  • Route definitions: API endpoints, URL patterns, controllers
  • Authentication modules: login, auth, session, token, middleware
  • Database layer: models, migrations, ORM config, raw queries
  • Configuration: settings files, env loading, config directories
  • External integrations: HTTP clients, SDKs, webhook handlers

Step 3 — Record the scope:

Note the exact target root, excluded paths, selected audit mode, and tech stack summary — include this in the report header.


Phase 2: Analysis

Objective: Systematically scan for vulnerabilities across 8 categories.

For each category, use Grep and Read to find real evidence. Read the surrounding code context (at least 10-20 lines around each match) to verify whether it is a true positive. Discard false positives. Think like an attacker — consider what is actually exploitable. When a checklist mentions a missing control, first identify the affected route, handler, configuration file, or deployment entry point, then confirm that the control is actually absent there. Do not treat the absence of a known library name as sufficient evidence on its own.

Use [data-flow-verification.md](references/data-flow-verification.md) for the 3-pass source→sink→sanitization protocol when verifying injection-class findings. Use [safe-patterns.md](references/safe-patterns.md) to identify framework-provided safety mechanisms that may make a grep hit a false positive.

In quick mode:

  • Focus first on internet-facing routes, auth/session code, admin actions, file upload paths, deserialization, command execution, raw query usage, secrets, CI/CD, Dockerfiles, and dependency metadata.
  • Prefer high-confidence, high-impact findings over broad coverage.
  • Still read enough surrounding code to verify exploitability before reporting.
  • Only include hardening observations when they are tightly connected to a verified risk path. Otherwise omit them.

In deep mode:

  • Execute the full category sweep.
  • Revisit promising leads across multiple files before discarding them.
  • Broader hardening or hygiene notes are allowed, but keep them in hardening_observations unless you verified a concrete exploit path or directly exposed sensitive surface.
Category 1: OWASP Top 10:2025

Load and follow the checklist in [owasp-top10.md](references/owasp-top10.md). This covers: Broken Access Control, Security Misconfiguration, Supply Chain Failures, Cryptographic Failures, Injection, Insecure Design, Authentication Failures, Software/Data Integrity Failures, Logging Failures, and Mishandling Exceptional Conditions.

Category 2: Authentication & Authorization

Search for:

  • Hardcoded credentials (passwords, API keys, tokens in source code)
  • Weak password validation (no length/complexity requirements)
  • Missing authentication on sensitive endpoints
  • Broken session management (predictable tokens, no expiry, no rotation)
  • JWT issues (algorithm confusion, missing expiry, symmetric secrets in code)
  • Missing role/permission checks on privileged operations
  • Privilege escalation paths (user can access admin functionality)
Category 3: Data Exposure & Sensitive Data Handling

Search for:

  • PII or secrets written to log output
  • Sensitive data included in URLs (query parameters)
  • API responses returning full database objects instead of DTOs
  • Stack traces or debug information exposed in error responses
  • Sensitive data stored without encryption
  • Missing data sanitization before display

Only promote a response-serialization issue to a confirmed finding when the code proves that sensitive fields are actually exposed or the framework serialization behavior clearly includes them. If the response returns a broad model object but the sensitive fields are inferred rather than demonstrated, record it as a hardening_observation.

Category 4: Dependency Vulnerabilities

Run the appropriate audit command for the detected ecosystem:

  • Node.js: npm audit --json or yarn audit --json or pnpm audit --json
  • Python: pip audit --format json or pip-audit or safety check
  • Rust: cargo audit
  • Ruby: bundle audit or bundle-audit
  • PHP: composer audit
  • Go: go list -m -json all
  • .NET: dotnet list package --vulnerable

If the audit command is not available, note it in the report and check manually:

  • Look for outdated dependency versions in manifest files
  • Check if lock files exist (package-lock.json, yarn.lock, Pipfile.lock, etc.)
  • Check for unpinned versions (using * or latest or broad ranges)
  • Treat missing lockfiles or broad version ranges as hardening_observations by default unless you can verify a more direct execution or integrity risk path.
Category 5: Configuration Security

Load and follow the checklist in [configuration-security.md](references/configuration-security.md). Covers: secrets in source, env file exposure, debug modes, security headers, CORS, cookies, CI/CD.

Category 6: API Security

Load and follow the checklist in [api-security-checklist.md](references/api-security-checklist.md). Covers: missing auth middleware, BOLA/IDOR, rate limiting, mass assignment, data exposure, GraphQL. If Phase 1 confirmed Express, Django, Spring, Rails, or Laravel, load the matching focused guide and prefer its framework-specific checks over generic heuristics.

Category 7: Input Validation & Output Encoding

Search for:

  • User input flowing into SQL/NoSQL queries without parameterization
  • User input used in OS command construction
  • User input included in file path operations (path traversal)
  • User input rendered as HTML without escaping (XSS)
  • Dynamic code evaluation with user-controlled strings
  • Deserialization of untrusted data
  • Template injection vectors
  • Regular expressions with user input (ReDoS)

Use the language-specific patterns in [vulnerability-patterns.md](references/vulnerability-patterns.md) to find these issues in the detected tech stack. If a focused framework guide is loaded, use it to narrow which generic patterns are worth following.

Category 8: Cryptographic Issues

Search for:

  • Weak hashing algorithms used for security purposes (MD5, SHA1)
  • Hardcoded encryption keys or initialization vectors
  • Insufficient key lengths (RSA authentication issue
  • authentication exists but admin or function-level guard is missing -> authorization issue
  • authentication exists but object ownership check is missing -> IDOR / BOLA

Step 3: For each confirmed finding, document:

  • Title: Concise, descriptive name
  • Severity: Critical / High / Medium / Low / Info
  • Confidence: High / Medium / Low
  • Category: Which of the 8 categories it belongs to
  • Location: file_path:line_number
  • Related Locations: Additional supporting files when the verified root cause spans multiple files
  • CWE: The applicable CWE identifier (if known)
  • Description: What the issue is, in plain language
  • Evidence: The actual vulnerable code snippet from the codebase
  • Impact: What an attacker could achieve by exploiting this
  • Remediation: Specific steps to fix, with corrected code example where possible

For each hardening observation, document:

  • a concise title
  • confidence
  • category
  • location
  • rationale for why it stayed below the confirmed finding bar
  • a narrow hardening suggestion

If a finding is about a missing control, the evidence must show both:

  • the affected code path or configuration entry point
  • the missing guard at that exact location (for example: route without auth, state-changing form without CSRF, GraphQL server without depth limits, container build without non-root user)

Set Confidence based on the evidence quality:

  • High: the vulnerable path is explicit in code or config and exploitation conditions are clear
  • Medium: the issue is well-supported but some runtime assumptions remain
  • Low: the weakness is plausible and evidenced, but key runtime details are inferred

Keep remediation tightly scoped to the verified root cause shown in the evidence. Do not add generic hardening advice unless it directly fixes the reported issue. Use [cwe-mapping.md](references/cwe-mapping.md) to keep CWE choices consistent. Use [finding-normalization.md](references/finding-normalization.md) to keep titles, ordering, IDs, and output parity stable.

Step 4: Write the complete report to security-audit-report.md and the machine-readable companion file to security-audit-report.json in the target directory root.

Step 5: Print a brief summary to the conversation:

  • Total findings by severity
  • Number of high-confidence findings
  • Top 3 most critical findings
  • Overall risk assessment (Critical / Poor / Fair / Good / Excellent)
  • Paths to both report files

Important Rules

  1. NEVER fabricate findings. Every finding MUST reference a real file and line number from the codebase. If you cannot find evidence, do not report it.
  2. Verify before reporting. Read surrounding code context (10-20+ lines) to confirm each finding is a true positive. Consider mitigating factors.
  3. Consider application context. A finding in a public-facing API is more severe than the same issue in an internal CLI tool.
  4. Be thorough. Read files completely when investigating a potential vulnerability. Do not skim.
  5. Report clean categories. If a category has no findings, explicitly state "No issues found" in that section.
  6. Prioritize exploitability. Rank findings by real-world exploitability, not just theoretical risk.
  7. Stay in scope. Only scan the target directory. Do not scan excluded dependency, build, cache, or generated directories for application findings.
  8. Do not report by absence alone. Missing package names, middleware names, decorators, or helper libraries are investigation hints, not findings by themselves.
  9. Prefer omission over speculation. If you cannot prove exploitability from the scanned code or config, do not report the issue.
  10. Keep remediation specific. Tie every fix recommendation to the evidence shown for that finding.
  11. Emit both outputs. The Markdown and JSON reports must describe the same findings, severities, confidence levels, and clean categories.

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.