VulnForge MCP
VulnForge MCP is a security audit, fuzzing, and patch-synthesis server for modern cloud-native, supply-chain, cryptographic, and runtime systems.
Audit web apps for header/cookie/CSP/HSTS issues, DOM XSS sinks, and tabnabbing.
Audit REST/GraphQL APIs for BOLA/IDOR, unauthenticated mutations, missing rate limits, mass assignment, introspection exposure, depth/batching DoS, and resolver auth gaps.
Audit SQL/NoSQL/ORM/database connection code for injection, raw interpolation, and credential leaks.
Fuzz API routes with mutation, boundary, type-confusion, and prototype-pollution strategies; synthesize validation patches.
Audit CI/CD workflows, Dockerfiles, Kubernetes manifests, and container security.
Audit eBPF, Falco, Tetragon, and Seccomp policies plus Wasm runtime and WASI capability configurations.
Audit IAM, KMS/HSM, vault/secrets rotation, SBOM/dependency supply chain, Cosign/Sigstore/SLSA, and in-toto/DSSE/Rekor provenance.
Audit network microsegmentation, P2P gossip protocols, ZKP gateways/circuits, AI model supply chains, and post-quantum hybrid KEM/TLS/SSH configurations.
Inject defensive patches into vulnerable code and verify them in isolated canary sandboxes against attack and benign payloads.
Run an end-to-end full scan across web, API, database, GraphQL, CI/CD, container, runtime, supply-chain, cryptographic, and cloud-native layers.
Provides vulnerability auditing and automated patch injection for Express applications, including security header middleware, route analysis for BOLA/IDOR, and mass assignment fixes.
Provides vulnerability auditing and automated patch injection for Fastify applications, including security header middleware, route analysis for BOLA/IDOR, and mass assignment fixes.
Generates Koa security header injection middleware and audits Koa route definitions for authentication and mass assignment issues.
Audits MongoDB queries for NoSQL injection vectors such as $where and suggests sanitized or parameterized alternatives.
Audits Mongoose ODM calls for NoSQL injection, raw query concatenation, and unsafe query patterns, with automated patch injection.
Audits Next.js route definitions for BOLA/IDOR, missing authentication, and mass assignment risks, with automated patch suggestions.
Audits Prisma ORM calls for SQL injection and unsafe query patterns, generating secure replacements.
Audits Sequelize ORM calls for SQL injection and unsafe query patterns, generating parameterized replacements.
Audits TypeORM ORM calls for SQL injection and unsafe query patterns, generating secure replacements.
Generates Zod DTO parsers to prevent mass assignment and validate API inputs during automated patch injection.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VulnForge MCPaudit my Express app for XSS, BOLA, and SQL injection and patch all findings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VulnForge MCP (vulnforge-mcp)
🏛️ Official Organization Transfer Notice
This project has been officially transferred to the KRC Labs engineering organization.
All active runtime engineering, public releases, and technical documentation are maintained under KRC Labs.
🔗 Official Resources & Portal (공식 링크 및 리소스)
🏛️ Organization (공식 조직): https://github.com/KRC-Labs
🌐 Interactive Systems Showcase (실시간 시스템 쇼케이스): https://krc-labs.github.io/
📊 Status & Release Hub (시스템 현황 & 변경 로그): https://github.com/KRC-Labs/status
Flag / Language | Official Migration Notice (1:1 Translation) |
🇺🇸 English | This project has been officially transferred to KRC Labs. All active runtimes and documentation are maintained under KRC Labs. |
🇰🇷 한국어 | 이 프로젝트는 공식 엔지니어링 조직인 **KRC Labs**로 정식 이관되었습니다. 모든 시스템 런타임 및 기술 문서는 KRC Labs에서 통합 관리됩니다. |
🇯🇵 日本語 | 本プロジェクトは公式エンジニアリング組織 KRC Labs へ正式移管されました。すべてのランタイム開発および技術文書は KRC Labs にて管理されます。 |
🇨🇳 简体中文 | 本项目已正式迁移至官方工程组织 KRC Labs。所有活跃的运行时工程与技术文档均由 KRC Labs 统一维护。 |
🇩🇪 Deutsch | Dieses Projekt wurde offiziell an KRC Labs übertragen. Sämtliche Laufzeitentwicklungen und Dokumentationen werden von KRC Labs verwaltet. |
🇫🇷 Français | Ce projet a été officiellement transféré à l'organisation d'ingénierie KRC Labs. L'ensemble des runtimes et de la documentation est géré par KRC Labs. |
🇪🇸 Español | Este proyecto ha sido transferido oficialmente a KRC Labs. Toda la ingeniería de ejecución activa y la documentación técnica se gestionan en KRC Labs. |
🇷🇺 Русский | Данный проект официально передан инженерной организации KRC Labs. Вся разработка и техническая документация поддерживаются в KRC Labs. |
🇮🇳 हिन्दी | यह प्रोजेक्ट आधिकारिक रूप से KRC Labs को स्थानांतरित कर दिया गया है। सभी रनटाइम और तकनीकी दस्तावेज़ KRC Labs द्वारा प्रबंधित किए जाते हैं। |
🇵🇹 Português | Este projeto foi oficialmente transferido para a KRC Labs. Todo o desenvolvimento ativo e a documentação técnica são mantidos pela KRC Labs. |
© KRC Labs. All rights reserved.
Available Tools
24 toolsvulnforge_audit_apiB
Audits REST/GraphQL endpoint handlers for Broken Object Level Auth (BOLA/IDOR), unauthenticated mutating endpoints, missing rate limits, and mass assignment risks.
| Name | Required | Description | Default |
|---|---|---|---|
| routeCode | Yes | Source code defining API route handlers (Express, Fastify, Next.js, etc.) | |
| sourceFile | No | Filename or identifier for reporting (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does add real behavioral content beyond the title by naming the exact weakness categories (BOLA/IDOR, unauthenticated mutations, missing rate limits, mass assignment), but it never says whether the analysis is static-only, whether code is executed, whether any permission or network access is required, or how findings are reported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and resource come first and the detection list follows. The four-item enumeration is information-dense and each item earns its place, though the sentence is long enough to be slightly list-heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter audit tool with no output schema and no annotations, the description establishes scope but is thin on everything else: no result format, severity model, scope limits, or handling of non-JS frameworks beyond the 'etc.' hint. Adequate to select the tool, incomplete for predicting its behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (routeCode, sourceFile), so the schema fully documents them. The description adds no parameter-level meaning such as accepted languages, size limits, or how sourceFile affects reporting, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audits) and a precise resource (REST/GraphQL endpoint handlers), then enumerates the four vulnerability classes it detects. An agent can distinguish this from vulnforge_audit_web and vulnforge_audit_db by the 'API endpoint handlers' scope, though it never explicitly names or contrasts those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the agent can infer 'use this when you have API route handler source', but there is no guidance on when to prefer vulnforge_full_scan or the sibling audits, and no prerequisites or ordering advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_cicdA
Audits GitHub Actions (.github/workflows/*.yml) and GitLab CI (.gitlab-ci.yml) workflows for dangerous triggers (pull_request_target with untrusted checkout), missing or overprivileged permissions (write-all), hardcoded secrets/tokens, unpinned third-party actions, context expression script injections, and insecure OIDC configurations.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | No | Path or identifier of the workflow file (e.g. .github/workflows/ci.yml, .gitlab-ci.yml) | |
| workflowType | No | CI/CD platform type (auto-detected if omitted) | |
| workflowContent | Yes | CI/CD workflow YAML content to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the detection scope (pull_request_target with untrusted checkout, write-all permissions, hardcoded secrets, unpinned actions, expression injection, insecure OIDC), which is real behavioral detail. However, it never says whether this is a read-only static analysis, whether filePath causes the file to be read from disk or is merely a label, and with no output schema it gives no hint of result shape or severity grading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence led by the verb and the target artifacts, with the check list following. The enumeration is dense but every item is a distinct, actionable detection category, so little is wasted; only the length of the trailing list slightly taxes scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter static-analysis tool with no annotations and no output schema, the description covers what is analyzed and what is looked for, which is the core need. It still leaves the agent guessing about output structure, severity reporting, and whether input is read from disk, which matters for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the workflowType enum and the workflowContent/filePath semantics are already documented in the schema. The description adds no parameter-level guidance beyond that — notably it does not clarify the filePath-versus-workflowContent relationship or the auto-detection behavior. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audits) against a specific resource pair (GitHub Actions .github/workflows/*.yml and GitLab CI .gitlab-ci.yml), then enumerates the exact vulnerability classes checked. The CI/CD domain cleanly separates it from sibling audits like vulnforge_audit_iam, vulnforge_audit_container, or vulnforge_audit_sbom without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: it targets workflow YAML, so an agent infers it should be called when such content is in hand. There is no explicit when-to-use statement, no when-not condition, and no routing to alternatives such as vulnforge_full_scan or the other domain-specific audits when the artifact is not a CI/CD file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_containerA
Audits Dockerfiles and Kubernetes manifests (Pods, Deployments, RBAC Roles, ClusterRoles) for root container execution, missing multi-stage builds, unpinned mutable images, hardcoded secrets, dangerous capabilities, host namespace sharing, and unconstrained RBAC wildcards.
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | Dockerfile or Kubernetes YAML manifest content to analyze | |
| filePath | No | Path or identifier of the container manifest (e.g. Dockerfile, deployment.yaml) | |
| manifestType | No | Manifest type override (auto-detected if omitted) | |
| dockerfileContent | No | Explicit Dockerfile content (optional) | |
| k8sManifestContent | No | Explicit Kubernetes YAML manifest content (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the whole burden; it does disclose substantive behavior via the enumerated detection categories (root execution, unpinned images, RBAC wildcards, etc.), which is real value. However, it omits key operational facts: that all 5 parameters are optional (so the agent must infer that content/filePath/dockerfileContent/k8sManifestContent supplies the input) and what the audit returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource scope first and the defect list second; no filler and nothing repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should say more about input expectations (at least one content field is needed) and result shape. The detection list is complete for what it covers, making it adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains content, filePath, manifestType, dockerfileContent, and k8sManifestContent. The description adds nothing about parameter usage or precedence between content and the explicit content fields, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (audits) and precise resources (Dockerfiles, Kubernetes Pods/Deployments/Roles/ClusterRoles), then enumerates the exact defect classes checked. That resource-and-check specificity cleanly separates it from siblings like vulnforge_audit_iam or vulnforge_audit_cicd.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of the obvious alternatives (vulnforge_full_scan, other audit_* tools). Nothing tells the agent whether to reach for this versus the broader scan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_cosignC
Audits Artifact Cosign signatures, Sigstore keyless attestation proofs, Rekor transparency log SET inclusion, in-toto SLSA Build Level 3 provenance, and Kyverno/Gatekeeper container admission verification policies against 8 core supply chain vulnerability vectors (CWE-347, CWE-295, CWE-353, CWE-829, CWE-298, CWE-327, CWE-1104, CWE-284).
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | Raw Cosign payload, Sigstore bundle JSON, Kyverno policy YAML, Gatekeeper constraint, or container manifest | |
| filePath | No | File path of manifest or policy (optional) | |
| requireSlsa | No | Require in-toto SLSA Build Level 3 provenance attestation (default: false) | |
| strictRekor | No | Enforce strict Rekor transparency log proof check (default: true) | |
| keylessConfig | No | Permitted OIDC issuers and SAN identity constraints for Sigstore keyless verification | |
| policyContent | No | Alternative alias for Kyverno or Gatekeeper admission policy YAML | |
| imageReference | No | Container image reference to audit (e.g. ghcr.io/org/app:latest) | |
| manifestContent | No | Alternative alias for container workload manifest or compose specification |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and does not meet it: it never says whether the audit is read-only, whether verification contacts live Sigstore/Rekor endpoints, whether any artifacts are mutated, or what a pass/fail result looks like. It also omits that all 8 parameters are optional, leaving unclear what happens if only imageReference (or nothing) is supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no filler, which is efficient. However, it is a dense wall of acronyms (CWE lists, SET, SLSA, SAN) with no structural breakdown, so the actionable scope is harder to scan than a two- or three-clause version would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 optional parameters, a nested keylessConfig object, three overlapping raw-content inputs, no annotations, and no output schema, the description is thin. It never clarifies which input field to prefer for a given artifact type, what minimum input is required, or what the audit produces — a significant gap the agent cannot fill from structured fields alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3: each parameter already carries its own description, including the keylessConfig sub-fields. The prose adds no parameter-level meaning beyond the schema — it does not explain the aliasing among content/policyContent/manifestContent or how the strictRekor and requireSlsa defaults change behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audits) and a precise resource set: Cosign signatures, Sigstore keyless attestations, Rekor SETs, SLSA Build L3 provenance, and Kyverno/Gatekeeper admission policies, plus the eight CWE vectors checked. An agent can tell this is the signature/attestation/admission auditor rather than the SBOM or generic container auditor. It falls short of 5 because it never names the overlapping siblings (vulnforge_audit_intoto, vulnforge_audit_container, vulnforge_audit_sbom) or the boundary between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives among the ~20 sibling audit tools. The description only describes what the tool inspects, leaving the agent to infer that it should be chosen for signed-artifact or admission-policy inputs rather than for adjacent supply chain audits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_dbB
Audits SQL/NoSQL query snippets, ORM commands, and database connection strings for injection vulnerabilities, raw interpolations, and credential leaks.
| Name | Required | Description | Default |
|---|---|---|---|
| queryCode | Yes | SQL query string, ORM call snippet (Sequelize, Prisma, TypeORM, Mongoose) | |
| sourceFile | No | Filename or identifier for reporting (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully names what it detects (injection vulnerabilities, raw interpolations, credential leaks), which is real behavioral value, but it never states that this is a static, non-executing analysis, nor how findings are reported or prioritized.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb, scope, and detection targets are all packed in without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description should say more about what an agent gets back (finding format, severity, whether it only analyzes rather than connects to a DB). It covers the input scope well but leaves the result side underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only two parameters, so the schema already documents queryCode and sourceFile fully. The description adds no syntax or format detail beyond it, and its mention of 'connection strings' is only loosely reflected in the queryCode schema description, which lists SQL/ORM snippets but not connection strings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (audits) and enumerates the exact resources in scope: SQL/NoSQL query snippets, ORM commands, and connection strings. That DB-specific framing implicitly separates it from vulnforge_audit_web and vulnforge_audit_api, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this tool versus vulnforge_full_scan, nor any mention of the natural audit-then-inject_patch workflow. The usage context (you have a query snippet to check) is only inferable from the resource list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_ebpfC
Audits eBPF C programs, Falco rules, Tetragon TracingPolicies, and Seccomp profiles for kernel verifier safety, unbounded loops, unchecked map lookup pointers, dangerous helpers (bpf_probe_write_user), direct packet access OOBs, missing container shell spawn rules, and permissive default actions.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | eBPF C source, Falco rules YAML, Tetragon TracingPolicy YAML, or Seccomp profile JSON content | |
| filePath | No | Path or identifier of the eBPF code or runtime policy file (optional) | |
| policyType | No | Policy type override (auto-detected if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the entire behavioral burden. It never states that this is a static/read-only analysis (no code executed or deployed), whether content is persisted, what permissions or auth are needed, or anything about side effects; it only enumerates check categories.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the resource targets front-loaded ahead of the flaw list, and no filler. It is long, but every clause names a concrete audit target rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, so the description must do more than it does. It adequately conveys what is audited but omits the return shape, the static-analysis nature, and disambiguation from vulnforge_audit_wasm_ebpf.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are already documented in the input schema. The description echoes the policy-type names that map to the policyType enum but adds no format, precedence, or override semantics beyond the schema; this is the baseline 3 for schema-driven parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Audits) and precise resources (eBPF C programs, Falco rules, Tetragon TracingPolicies, Seccomp profiles), plus a concrete list of the flaw classes it targets. An agent understands exactly what it inspects, but the description never distinguishes it from the nearby sibling vulnforge_audit_wasm_ebpf, leaving overlap ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative-tool guidance is given. The sibling set contains audit_container, audit_microsegmentation, and audit_wasm_ebpf, all plausibly adjacent, yet the description offers no routing signal between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_graphqlB
Audits GraphQL schemas, resolvers, queries, and server configurations for introspection exposure, cyclic query depth DoS, query batching attacks, field complexity bypass, and sensitive field leakage without authorization.
| Name | Required | Description | Default |
|---|---|---|---|
| sourceFile | No | Source filename or endpoint identifier for reporting (optional) | |
| queryPayload | No | Client GraphQL query string or batch array payload to analyze for depth and complexity (optional) | |
| resolversCode | No | Resolver definitions code (optional) | |
| rawCodeOrQuery | No | Unified raw GraphQL code, query, or server script if not pre-split (optional) | |
| schemaOrTypeDefs | No | GraphQL SDL schema or typeDefs string (optional) | |
| serverConfigCode | No | Server initialization code for Apollo Server, Yoga, Express GraphQL, etc. (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It lists what it looks for but never says whether it is passive static analysis or actively sends payloads to a live endpoint, whether it mutates anything, what permissions it needs, or how findings are returned — critical for a security-scanning tool where an agent must know if execution is safe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the verb and resource, with the vulnerability list serving as useful scope information rather than filler. Slightly long but every clause maps to a real audit dimension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With six all-optional parameters, no annotations, and no output schema, the description should clarify whether zero arguments yields a useful result or whether at least one of schemaOrTypeDefs/resolversCode/rawCodeOrQuery is expected. It is silent on this and on how the split parameters relate to the unified rawCodeOrQuery fallback.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all six parameters are already documented in the schema with optionality and purpose. The description's mention of schemas, resolvers, queries, and server configs loosely maps to the parameter set but adds no new syntax, format, or combination guidance. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Audits') plus concrete resource types (GraphQL schemas, resolvers, queries, server configurations) and an enumerated list of vulnerability classes. This clearly separates it from generic siblings like vulnforge_audit_api, vulnforge_audit_web, and vulnforge_audit_db, since GraphQL is named outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context (you have GraphQL artifacts to inspect) but never states when to pick this over vulnforge_audit_api or vulnforge_full_scan, nor any prerequisites or exclusions. An agent must infer routing from the word 'GraphQL' alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_iamA
Audits Cloud-Native IAM policies and Zero Trust access rules (AWS IAM JSON, Terraform HCL, GCP IAM bindings, Azure RBAC) for overprivileged wildcards, privilege escalation paths (iam:PassRole), insecure public trust relationships, confused deputy risks, and missing Zero Trust TLS/MFA controls.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | IAM policy JSON, Terraform HCL, GCP IAM YAML/JSON, or Azure RBAC manifest to audit | |
| filePath | No | Path or identifier of the IAM policy file (optional) | |
| policyType | No | IAM policy format type override (auto-detected if omitted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It does disclose substantive behavior by naming the exact vulnerability classes the audit detects, which is real value. But it never states that the operation is read-only/non-mutating, whether the content is transmitted or processed locally, or what kind of findings report is produced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the resource and scope front-loaded, and the check list appended as a qualifying clause. Every listed item is informative rather than filler, though the enumeration is long enough that the sentence is approaching a run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the agent knows what the tool analyzes but not what it returns — a findings list, a score, per-issue severities, remediation text? For a multi-format audit tool the 'what you get back' gap is the material omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already has a clear description including the policyType enum with an 'auto-detected if omitted' note. The description's mention of AWS IAM JSON, Terraform HCL, GCP IAM bindings, and Azure RBAC mirrors the enum values but adds no syntax or format nuance beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Audits' paired with a narrowly scoped resource: Cloud-Native IAM policies and Zero Trust access rules across four named formats. The enumerated check classes (wildcards, iam:PassRole escalation, public trust, confused deputy, TLS/MFA) make it trivially separable from siblings like vulnforge_audit_vault, vulnforge_audit_kms_hsm, or vulnforge_audit_microsegmentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The domain (IAM/Zero Trust policy artifacts) implicitly signals when this tool applies, and the accepted input formats narrow it further. However, there is no explicit guidance on when to prefer it over overlapping siblings such as vulnforge_full_scan or vulnforge_audit_vault, and no stated prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_intotoC
Audits In-toto supply chain metadata, DSSE envelopes, cryptographic provenance attestations, SLSA predicate policies, and Sigstore Rekor transparency log proofs across 8 critical vulnerability vectors (CWE-347, CWE-353, CWE-829, CWE-778, CWE-284, CWE-20, CWE-613, CWE-200) with automated patch synthesis and canary verification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | In-toto format (IN_TOTO_STATEMENT_V1, IN_TOTO_LAYOUT, IN_TOTO_LINK, SLSA_PROVENANCE_PREDICATE, DSSE_ENVELOPE, REKOR_INTOTO_ENTRY) (optional) | |
| content | No | Raw In-toto statement, layout, link, SLSA provenance, or DSSE envelope JSON | |
| filePath | No | File path of attestation or metadata artifact (optional) | |
| linkContent | No | In-toto step link metadata JSON for material-product continuity check (optional) | |
| strictRekor | No | Mandate Sigstore Rekor transparency log SET proof verification (default: true) | |
| layoutContent | No | In-toto root layout JSON content for step verification (optional) | |
| requireSlsaL3 | No | Enforce SLSA Build Level 3 provenance guarantees (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It mentions automated patch synthesis and canary verification, but does not clarify whether patches are applied or only generated, whether operation is read-only or mutating, what permissions are needed, or what the response looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single sentence and front-loads the core auditing purpose, so it is compact. However, it is a dense run-on list with eight CWE identifiers and multiple feature phrases, which hurts readability and does not separate purpose from behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex audit tool with seven parameters, no annotations, and no output schema. The description covers the general purpose but leaves out usage conditions, prerequisites, return behavior, and side-effect clarity, which are important for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented in the input schema. The description adds no parameter-specific syntax, defaults, or usage distinctions beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: auditing In-toto supply chain metadata, DSSE envelopes, SLSA provenance, and Rekor proofs. It is clearly distinct from most siblings, but it does not explicitly differentiate itself from close alternatives such as audit_cosign, audit_sbom, or audit_model_supply_chain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool audits but gives no when-to-use guidance, no prerequisites, and no exclusions. With many sibling audit tools, an agent receives no routing signal about when this tool is preferred over audit_cosign, audit_sbom, or audit_cicd.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_kms_hsmC
Audits Multi-Tenant KMS Key Derivation, Cloud KMS Lifecycles, and Hardware Security Module (HSM) Remote Attestation across 8 critical vulnerability vectors (CWE-320, CWE-284, CWE-295, CWE-732, CWE-361, CWE-327, CWE-522, CWE-778) with automated patch synthesis and canary verification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | KMS/HSM format (AWS_KMS_KEY_POLICY, GCP_CLOUD_KMS_CONFIG, AZURE_KEY_VAULT_HSM_POLICY, PKCS11_HSM_CONFIG, ENVELOPE_ENCRYPTION_SPEC, HSM_REMOTE_ATTESTATION_STATEMENT) (optional) | |
| content | No | Raw KMS policy, GCP KMS config, Azure Managed HSM policy, PKCS#11 config, envelope encryption spec, or HSM remote attestation statement | |
| filePath | No | File path of KMS or HSM configuration (optional) | |
| tenantId | No | Tenant identifier for multi-tenant envelope encryption verification (optional) | |
| requireTenantAad | No | Enforce tenant context binding in Additional Authenticated Data (AAD) (default: true) | |
| enforceHsmAttestation | No | Mandate FIPS 140-3 Level 3 HSM remote attestation quote verification (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden, and the phrase 'automated patch synthesis and canary verification' is genuinely ambiguous for an audit tool — it is unclear whether invoking it mutates anything or merely proposes findings. No mention of required permissions, side effects, or severity reporting.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the purpose stated first. The CWE enumeration is dense but does communicate scope; nothing is repeated or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Six optional parameters, no output schema, and no annotations mean the description must explain what comes back, but it never describes the findings format, severity, or whether patch artifacts are returned. The patch-synthesis claim raises a question the description never answers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter is individually documented, so the description adds no parameter meaning beyond the schema. Baseline 3 applies; notably it never explains the interaction between content/filePath or how requireTenantAad and enforceHsmAttestation change results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Audits) and a precise resource domain (multi-tenant KMS key derivation, cloud KMS lifecycles, HSM remote attestation) with named CWE coverage. It is clearly distinct from siblings such as vulnforge_audit_iam or vulnforge_audit_vault, though it never explicitly says so.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to choose this over vulnforge_audit_vault, vulnforge_audit_pqc, or vulnforge_full_scan, and no preconditions (e.g., whether a config file or raw content must be supplied first). Usage is only inferable from the format enum in the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_microsegmentationB
Audits distributed eBPF microsegmentation policies (CiliumNetworkPolicy, Kubernetes NetworkPolicy), verifies Zero-Trust default-deny postures, cloud metadata egress restrictions (169.254.169.254/32), L7 protocol visibility, and auto-synthesizes hardened policies from live kernel flow telemetry.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Format override (auto-detected if omitted) | |
| content | No | Raw NetworkPolicy YAML, CiliumNetworkPolicy YAML, or JSON policy content | |
| filePath | No | Policy file path or manifest name (optional) | |
| flowEvents | No | Live kernel flow events array or JSONL string to analyze and synthesize policies against (optional) | |
| enforceDefaultDeny | No | Require default-deny baseline for all unclassified traffic (default: true) | |
| enforceZeroTrustIngress | No | Flag wildcard ingress and require strict matchLabels endpoint selection (default: true) | |
| enforceMetadataEgressBlock | No | Block cloud provider instance metadata endpoint 169.254.169.254/32 in egress (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description must carry the full behavioral load. It does disclose the checks performed (default-deny, metadata egress, L7 visibility) and that it synthesizes hardened policies from flow telemetry, which is meaningful context. However, it never clarifies whether the tool is read-only or writes/injects policies, nor what 'Require' vs 'Flag' actually does (hard-fail vs report), leaving mutation semantics ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the primary verb and resource before enumerating checks, so an agent gets the gist immediately. It is jargon-heavy but contains no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Seven optional parameters, no annotations, and no output schema mean the description should cover more ground. It describes the audit checks but not the synthesis output shape or which mode (audit vs. policy generation) results from which inputs, which is a notable gap for a tool whose headline feature is auto-synthesis.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, establishing a baseline of 3. The description adds only indirect meaning (169.254.169.254/32, default-deny, L7) that maps back to parameters already explained inline; it adds no syntax, format, or interaction detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Audits') with a well-scoped resource ('distributed eBPF microsegmentation policies') and names concrete policy dialects (CiliumNetworkPolicy, Kubernetes NetworkPolicy). It implicitly separates itself from the generic vulnforge_audit_ebpf and vulnforge_audit_wasm_ebpf siblings by focusing on network policy posture, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this tool over vulnforge_audit_ebpf, vulnforge_audit_wasm_ebpf, or vulnforge_audit_container, all of which could plausibly apply to eBPF-adjacent work. The only implied usage is the topic itself; no prerequisites, exclusions, or alternative routing are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_model_supply_chainA
Audits AI model supply chains, Safetensors tensor headers, PyTorch pickle opcodes (CWE-502), and model hub provenance configs across 8 critical vectors (CWE-502, CWE-345, CWE-20, CWE-494, CWE-295, CWE-829, CWE-200, CWE-778) with automated patch synthesis and canary sandbox verification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Model artifact format override (auto-detected if omitted) | |
| content | No | Raw Safetensors header JSON, PyTorch model loader script, or Hugging Face model config | |
| filePath | No | File path or model artifact name (e.g. model.safetensors, config.json, loader.py) (optional) | |
| commitSha | No | Pinned git commit SHA for immutable revision verification (optional) | |
| modelRepoId | No | Hugging Face or model hub repository identifier (e.g. meta-llama/Llama-3-8B) (optional) | |
| disallowRemoteCode | No | Flag and disallow trust_remote_code=True (default: true) | |
| maxHeaderSizeBytes | No | Maximum permitted Safetensors header size in bytes (default: 104857600) | |
| enforceSafetensorsOnly | No | Disallow pickle formats and mandate Safetensors (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose something beyond the schema — that the tool performs 'automated patch synthesis and canary sandbox verification' — which signals non-trivial side behavior (patch generation, sandbox execution), but it never states whether patches are merely emitted or applied, what permissions are needed, or how long/expensive the sandbox step is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence that leads with the core action and scope before the supporting detail. The eight-CWE enumeration is somewhat dense and reads as marketing padding, but the sentence still earns most of its length and has no redundant clauses.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, zero-required-parameter audit tool with no annotations and no output schema, the description covers what is inspected but leaves the response shape, severity/score semantics, and whether findings are reported only or also patched entirely unexplained. It is minimally adequate, not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 8 parameters (format enum, content, filePath, commitSha, modelRepoId, the three policy flags) is already documented with defaults and examples. The description adds no additional parameter meaning such as precedence between filePath and content or how the enforcement flags interact with the format override, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Audits') and a tightly scoped resource set — AI model supply chains, Safetensors tensor headers, PyTorch pickle opcodes, and model hub provenance configs — which cleanly separates it from the many sibling audit tools (ebpf, IAM, SBOM, container, CI/CD) that cover other domains. An agent can route model-artifact auditing here without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the enumerated artifacts (Safetensors headers, pickle loaders, HF configs) suggest when to reach for this tool, but there is no explicit 'use this when…' statement, no exclusions (e.g. when to prefer vulnforge_audit_sbom or vulnforge_full_scan instead), and no prerequisites such as requiring a repo ID or pinned commit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_p2p_gossipC
Audits Decentralized P2P Gossip Protocols, Policy Revocation Manifests, Byzantine Quorum Consensus, and Distributed Transparency Log Sync across 8 critical vulnerability vectors (CWE-347, CWE-284, CWE-294, CWE-362, CWE-400, CWE-353, CWE-200, CWE-754) with automated policy synthesis and canary sandbox verification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Gossip format (LIBP2P_GOSSIPSUB_SPEC, P2P_POLICY_REVOCATION_MANIFEST, DISTRIBUTED_TRANSPARENCY_LOG_SYNC, EPIDEMIC_GOSSIP_CONFIG, VECTOR_CLOCK_CONSENSUS_SPEC) (optional) | |
| content | No | Raw P2P gossip config, libp2p GossipSub spec, policy revocation manifest, or transparency log sync spec | |
| filePath | No | File path of P2P gossip configuration or revocation manifest (optional) | |
| strictQuorum | No | Enforce supermajority Byzantine quorum threshold (0.67) (default: true) | |
| configContent | No | GossipSub peer configuration text (optional) | |
| manifestContent | No | Policy revocation manifest text (optional) | |
| strictSignatures | No | Enforce Ed25519 envelope signature on all peer broadcasts (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. 'Automated policy synthesis and canary sandbox verification' hints at writes and sandboxed execution but never says whether any artifacts are created or mutated, whether privileges are required, or whether content/filePath must be supplied; the safety profile is left ambiguous for what may be a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence packs domain lists, eight CWE identifiers, and two extra capabilities into one breath with no front-loaded summary of inputs or behavior. The verb leads, but the rest reads as marketing copy rather than operative information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, zero required, no annotations, and no output schema, the agent needs the description to clarify that at least one input source (content, filePath, configContent, or manifestContent) must be supplied and what the audit returns. The description covers neither, claiming only breadth of coverage and extra synthesis capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters, making 3 the baseline. The description mentions 'Byzantine Quorum Consensus' and 'Policy Revocation Manifests' which loosely map to strictQuorum and manifestContent, but it adds no format constraints, precedence between content/filePath/configContent, or required-vs-optional guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audits') and a well-defined resource class (P2P gossip protocols, revocation manifests, Byzantine quorum consensus, transparency log sync), which separates it from sibling auditors like vulnforge_audit_api or vulnforge_audit_zkp_gateway by domain. The CWE list adds precision but the sentence is a noun-stuffed run-on rather than a crisp scope statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to invoke this versus vulnforge_full_scan, vulnforge_audit_api, or any sibling auditor, and no prerequisites or exclusions are stated. The agent must infer usage purely from the domain nouns in the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_pqcC
Audits Post-Quantum Hybrid Key Encapsulation (ML-KEM / Kyber), FIPS 203 Cryptographic Migration, TLS 1.3 / SSH KEX specs, and X.509 hybrid certificates across 8 critical vulnerability vectors (CWE-326, CWE-327, CWE-20, CWE-459, CWE-754, CWE-319) with automated policy synthesis and canary sandbox verification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | PQC format (TLS13_HYBRID_KEM_CONFIG, SSH_POST_QUANTUM_SPEC, X509_HYBRID_CERT_MANIFEST, KEM_ENVELOPE_ENCRYPTION_SPEC, PQ_MIGRATION_POLICY) (optional) | |
| content | No | Raw PQC migration policy, TLS 1.3 hybrid KEM config, SSH post-quantum spec, or KEM envelope encryption spec | |
| filePath | No | File path of PQC artifact or TLS/SSH configuration (optional) | |
| specContent | No | KEM envelope or certificate manifest text (optional) | |
| configContent | No | TLS or SSH KEX configuration text (optional) | |
| strictFips203 | No | Enforce NIST FIPS 203 standardized ML-KEM parameter sets (default: true) | |
| strictZeroization | No | Enforce immediate ephemeral secret buffer zeroization (default: true) | |
| strictAntiRollback | No | Disallow fail-open fallback to classical RSA/ECDH cipher suites (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It hints at side effects ('automated policy synthesis', 'canary sandbox verification') without saying whether artifacts are written, whether the sandbox mutates anything, what permissions are needed, or what the result contains. The CWE count is also internally inconsistent — '8 critical vulnerability vectors' followed by only six CWE identifiers — which weakens trust in the stated scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single compact sentence that front-loads the verb and the audited artifact types. However, buzzword-dense trailing clauses ('automated policy synthesis and canary sandbox verification') consume space without resolving any decision the caller must make.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Eight parameters with zero required fields, no annotations, and no output schema leave major questions open: what happens if no content/filePath is supplied, whether the audit reads a file or inline text preferentially, and what the tool returns. For a tool of this parameter richness, the description does far too little.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all eight parameters, including the three strict* flags with their defaults, are documented there. The description adds only interpretive context (FIPS 203, ML-KEM, TLS 1.3/SSH) that helps an agent understand what the format enum values mean, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audits') plus a tightly scoped resource set: ML-KEM/Kyber hybrid KEM, FIPS 203 migration, TLS 1.3/SSH KEX, X.509 hybrid certs. This domain specificity naturally separates it from siblings like vulnforge_audit_ebpf or vulnforge_audit_iam, though it never explicitly names a sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or prerequisite guidance. The agent gets no signal on how this relates to overlapping siblings such as vulnforge_audit_kms_hsm (KEM envelope), vulnforge_full_scan, or vulnforge_inject_patch, nor when a full scan should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_sbomA
Audits Software Bill of Materials (SBOM) manifests (CycloneDX JSON/XML, SPDX JSON/Tag-Value), package manifests (package.json, package-lock.json, Cargo.toml, requirements.txt), and registry configs (.npmrc) for dependency confusion (CWE-427), lookalike typosquatting (CWE-829), compromised packages (event-stream, flatmap-stream), unpinned wildcards (CWE-1104), dangerous install lifecycle scripts, missing integrity hashes, and NTIA minimum elements compliance (EO 14028).
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | SBOM or package manifest format override (auto-detected if omitted) | |
| content | No | Raw SBOM or package manifest content to audit | |
| filePath | No | File path or manifest filename (e.g. package.json, sbom.cdx.json) (optional) | |
| npmrcContent | No | Content of .npmrc file defining private scoped registries (optional) | |
| internalScopes | No | List of internal package scopes requiring private scoped registries (e.g. ["@internal", "@myorg"]) | |
| enforceNtiaCompliance | No | Enforce strict 7-element NTIA compliance check on CycloneDX/SPDX SBOMs (default: true) | |
| packageManifestContent | No | Alternative alias for package manifest content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers on the detection side: it names concrete threat classes (dependency confusion CWE-427, typosquatting CWE-829, event-stream compromise, wildcards CWE-1104, lifecycle scripts, integrity hashes, NTIA/EO 14028). It never states that this is a read-only analysis with no mutation, whether it reads from disk versus only the supplied content string, or anything about result shape or cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and resource first, then the detection catalogue. Dense but every clause is informational; the CWE identifiers and famous-package examples could be trimmed slightly without loss, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no annotations and no output schema, the description covers inputs and detection scope but leaves the agent without any sense of what the audit returns (findings list? severity? compliance verdict?) or how the interacting parameters compose. Adequate to select the tool, thin for predicting the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies — every parameter including the format enum and the packageManifestContent alias is already documented in the schema. The description adds only indirect mapping (its format list mirrors the enum), and does not clarify the overlapping content/packageManifestContent parameters or the npmrcContent+internalScopes pairing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Audits) plus a precisely enumerated resource set: SBOM formats (CycloneDX, SPDX), package manifests (package.json, Cargo.toml, requirements.txt), and registry configs (.npmrc). The dependency-supply-chain focus clearly separates it from sibling audit tools covering eBPF, IAM, containers, GraphQL, cosign, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the resource enumeration — you audit a manifest when you have one — and the schema notes format is auto-detected when omitted. But there is no explicit when-to-use/when-not, no mention of when to reach for vulnforge_full_scan instead, and no stated prerequisites (e.g., supplying internalScopes alongside npmrcContent).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_vaultA
Audits secret rotation policies, cryptographic key lifecycles, and vault configurations across HashiCorp Vault HCL/JSON, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, and Kubernetes KMS EncryptionConfig for stale rotation intervals, weak key derivation/ciphers, excessive lease TTLs, unencrypted backends, missing audit logging, wildcard secret policies, single unseal threshold risks, and plaintext secret exposures.
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | Vault configuration, secret rotation rule, or KMS manifest content to audit | |
| filePath | No | Path or identifier of the vault configuration file (optional) | |
| vaultType | No | Vault type override (auto-detected if omitted) | |
| configContent | No | Alternative alias for content | |
| minRsaKeyLength | No | Minimum acceptable RSA key bit length (default: 2048) | |
| maxAcceptableRotationDays | No | Maximum acceptable rotation days threshold (default: 90) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose the finding taxonomy (stale rotation, weak ciphers, excessive TTLs, unencrypted backends, missing audit logging, plaintext exposure), which tells the agent what kind of output to expect. However, it never states that the operation is read-only/non-mutating, whether content is required, or anything about severity levels or result structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the correct verb and resource, but the entire body is one ~70-word compound sentence enumerating finding categories, which is dense and hard to parse. No wasted framing, but the run-on list should be broken up or trimmed to the highest-signal categories.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a stateless content-auditing tool with 100% schema coverage and no output schema, the definition supplies the platform scope and the complete set of detected issue classes, which is what an agent needs to decide applicability and interpret results. Remaining gaps (read-only confirmation, result shape) are minor given how fully the schema documents inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (content, filePath, vaultType enum, configContent alias, minRsaKeyLength, maxAcceptableRotationDays) is already documented. The description adds no parameter-level meaning beyond what the schema supplies; the platform list loosely maps to the vaultType enum but adds no new constraint or default information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('audits') and a well-scoped resource (secret rotation policies, key lifecycles, vault configs) plus the exact platforms covered, so an agent can tell it is a vault/secret-manager config auditor rather than a generic IAM or KMS scanner. It never names or contrasts a sibling such as vulnforge_audit_kms_hsm, so differentiation is implied by subject matter only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the enumerated platforms and check categories; there is no explicit when-to-use, when-not-to-use, or alternative routing (e.g., kms_hsm vs this tool, or full_scan). An agent can infer it should be called with vault config text, but has to guess the boundary cases on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_wasm_ebpfB
Audits WebAssembly runtime configurations (WasmEdge, Wasmtime, Envoy proxy-wasm filters), eBPF-to-Wasm hostcall bridges, and distributed host telemetry streams against 8 critical vectors (CWE-119 memory bounds, CWE-284 WASI root preopens, CWE-400 fuel/CPU DoS, CWE-345 unpinned digest, CWE-778 dropped telemetry, CWE-209 credential leaks, CWE-276 shared memory permissions, CWE-693 unconfined host privileges), with causal multi-host attack chain correlation and automated secret scrubbing.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Format override (auto-detected if omitted) | |
| content | No | Raw Wasm runtime config, EnvoyFilter YAML, or WAT module content | |
| filePath | No | File path or manifest filename (optional) | |
| telemetryEvents | No | Array of host telemetry events or JSON Lines string representing distributed kernel telemetry (optional) | |
| sanitizeTelemetry | No | Automatically scrub and redact plaintext credentials from telemetry output (default: true) | |
| strictCorrelation | No | Enable strict multi-host attack chain correlation (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the detection coverage (8 CWE vectors), multi-host attack-chain correlation, and default secret scrubbing, but it never states that the operation is read-only, whether it makes network calls to collect telemetry, or what permissions/inputs it requires. The safety profile remains implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in a single sentence with no filler. However, the sentence is a dense run-on that packs in eight CWE identifiers plus three technology names and feature qualifiers, reducing readability for an agent parsing it quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex audit tool with six parameters, no annotations, and no output schema, the description should say more about what the audit returns and how results are structured. It thoroughly covers the input-side scope but leaves return format and operational prerequisites undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all six parameters. The description adds vendor/format context (WasmEdge, Wasmtime, Envoy proxy-wasm, WAT) and restates correlation/scrubbing behavior, but it does not materially extend the meaning of individual parameters beyond what the schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Audits') and a tightly scoped set of resources: WebAssembly runtime configs (WasmEdge, Wasmtime, Envoy proxy-wasm), eBPF-to-Wasm hostcall bridges, and distributed host telemetry. This is clearly narrower than a generic eBPF audit or a Wasm fuzzer, but it never names the nearby siblings (vulnforge_audit_ebpf, vulnforge_fuzz_wasm_runtime) to draw the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. The listed formats and the scope of resources imply the domain, but an agent must infer whether this replaces or complements vulnforge_audit_ebpf or vulnforge_fuzz_wasm_runtime.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_webB
Audits web HTTP response headers, cookie flags, and DOM client code for security misconfigurations, XSS sinks, weak CSP, HSTS absences, and tabnabbing.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Target URL being audited (optional) | |
| cookies | No | List of Set-Cookie header strings (optional) | |
| headers | No | Map of HTTP headers (e.g. { "content-security-policy": "..." }) | |
| htmlOrCode | No | HTML markup or client-side JavaScript code to scan for DOM injection sinks (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it omits key traits: whether it is read-only, whether it performs network requests against `url`, authentication requirements, and what all-optional parameters mean (it is unclear what happens when all four are empty). It also never describes the shape or severity of findings, leaving the agent without behavioral context for an audit operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the verb and the audited surfaces, with no filler or repetition. The trailing list of checks is long but each item is substantive, so no sentence needs removing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description is the only source for what the tool returns, and it stops at enumerating detection categories without describing result format or severity. It compensates somewhat by implicitly naming the findings an agent should expect, and the input side is fully covered by a 100%-documented schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the parameters and their nested/array types are already documented, which sets the baseline at 3. The description contextualizes what the inputs are used for (headers, cookie strings, HTML/JS sinks) but adds no syntax, format, or combination semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Audits') plus the exact surfaces inspected — HTTP response headers, cookie flags, and DOM client code — and enumerates the misconfiguration classes it looks for (XSS sinks, weak CSP, missing HSTS, tabnabbing). This target-surface list clearly differentiates it from siblings like vulnforge_audit_api and vulnforge_audit_db, which target different layers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives such as vulnforge_full_scan, and no stated prerequisites (e.g., whether the tool fetches the URL itself or only analyzes supplied artifacts). Usage is only inferable from the tool name and the audited surfaces.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_audit_zkp_gatewayA
Audits Zero-Knowledge Proof (ZKP) verification gates, Groth16/Plonk arithmetic circuits, W3C Verifiable Credential revocation registries, and DID authentication gateways across 8 critical cryptographic and gateway vectors (CWE-682 underconstrained signals, CWE-20 unvalidated public inputs, CWE-294 nullifier replay & double-spending, CWE-284 mock verifier bypasses, CWE-345 unpinned verification keys, CWE-295 missing revocation registries, CWE-613 expired proof lifetimes, CWE-327 weak Fiat-Shamir transcripts) with automated policy synthesis and canary sandbox verification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Format override (auto-detected if omitted) | |
| content | No | Raw Circom circuit, Solidity verifier contract, W3C Verifiable Credential JSON, or ZKP gateway configuration | |
| filePath | No | File path or manifest name (optional) | |
| proofPayload | No | ZKP proof payload object with pi_a, pi_b, pi_c or proof string and publicInputs array (optional) | |
| maxProofAgeSeconds | No | Maximum permitted proof freshness window in seconds (default: 300) | |
| enforcePairingCheck | No | Disallow mock verifiers and require strict cryptographic pairing checks (default: true) | |
| enforceNullifierTracking | No | Require immutable atomic nullifier tracking to block double-spending (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does volunteer that the tool performs "automated policy synthesis and canary sandbox verification," which hints at active execution rather than pure static reading. But it never states whether the audit is read-only, whether files or sandbox environments are mutated, what permissions are required, or what happens to a disabled gate (destroyed vs. reported).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and primary resource, then structured as a scannable parenthetical list of CWE-scoped vectors. It is a single dense sentence, and the eight-item CWE enumeration is long but each entry earns its place by defining audit coverage. Slightly over-packed but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, no-output-schema, no-annotation audit tool, an agent still lacks crucial context: what the result looks like (findings list? pass/fail per vector? synthesized policy output?) and how the canary sandbox step reports back. The input side is thoroughly covered, but the return/side-effect side is not, and with no output schema the description must compensate—it only partly does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter including the enum, defaults (300s, true, true), and the optional proof payload shape. The description adds nothing about parameter interplay—e.g., how format override interacts with auto-detection or how maxProofAgeSeconds feeds CWE-613 checks—so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Audits") and a precise resource set (ZKP verification gates, Groth16/Plonk circuits, W3C VC revocation registries, DID gateways), then enumerates eight named vulnerability vectors with CWE IDs. This is unmistakably distinguishable from every sibling (eBPF, IAM, vault, SBOM, etc.), none of which touch ZKP/circuit semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The enumeration of supported artifact formats and CWE classes makes the "when to use" condition clear by domain. However, it never names an alternative or states exclusions (e.g., when to prefer vulnforge_audit_pqc for post-quantum proofs, or vulnforge_audit_api for the surrounding REST surface), leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_full_scanA
Runs an end-to-end multi-layer vulnerability audit across Web, API, Database, GraphQL, CI/CD, Container/Kubernetes, and eBPF/Runtime Security layers, generating unified findings and ready-to-apply patches.
| Name | Required | Description | Default |
|---|---|---|---|
| dbCode | No | ||
| apiCode | No | ||
| headers | No | ||
| tenantId | No | Tenant identifier for KMS envelope audit (optional) | |
| kmsFormat | No | KMS/HSM format (optional) | |
| pqcFormat | No | PQC format (optional) | |
| kmsContent | No | KMS key policy, envelope spec, or HSM remote attestation to audit (optional) | |
| pqcContent | No | PQC hybrid KEM config, migration policy, or SSH spec to audit (optional) | |
| zkpContent | No | Zero-Knowledge circuit, proof verifier, or gateway policy to audit (optional) | |
| ebpfContent | No | eBPF C source or runtime security policy YAML/JSON to audit (optional) | |
| graphqlCode | No | GraphQL schema, server, or resolver code (optional) | |
| iamFilePath | No | File path of IAM policy (optional) | |
| kmsFilePath | No | File path of KMS or HSM configuration (optional) | |
| pqcFilePath | No | File path of PQC artifact (optional) | |
| sbomContent | No | SBOM manifest or package.json content to audit (optional) | |
| wasmContent | No | WebAssembly runtime or EnvoyFilter configuration to audit (optional) | |
| zkpFilePath | No | File path of ZKP circuit or gateway policy (optional) | |
| cicdFilePath | No | File path of CI/CD workflow (optional) | |
| cicdWorkflow | No | CI/CD workflow YAML content to audit (optional) | |
| ebpfFilePath | No | File path of eBPF source or policy (optional) | |
| frontendCode | No | ||
| gossipFormat | No | P2P gossip format (optional) | |
| graphqlQuery | No | GraphQL query payload to analyze (optional) | |
| modelContent | No | AI model config or safetensors header to audit (optional) | |
| npmrcContent | No | Content of .npmrc file defining private scoped registries (optional) | |
| sbomFilePath | No | File path of SBOM or manifest (optional) | |
| cosignContent | No | Cosign payload, Sigstore bundle, or Kyverno admission policy to audit (optional) | |
| fuzzRouteCode | No | API route handler source code to fuzz test (optional) | |
| gossipContent | No | P2P gossip configuration or policy revocation manifest to audit (optional) | |
| iamPolicyType | No | IAM policy type (auto-detected if omitted) | |
| intotoContent | No | In-toto attestation or layout JSON to audit (optional) | |
| modelFilePath | No | File path of model artifact (optional) | |
| ebpfPolicyType | No | eBPF policy type (auto-detected if omitted) | |
| gossipFilePath | No | File path of P2P gossip artifact (optional) | |
| intotoFilePath | No | File path of in-toto attestation (optional) | |
| wasmFuzzFormat | No | Wasm format (optional) | |
| verifyInSandbox | No | Run automated canary sandbox verification on synthesized patches (default: true) | |
| wasmFuzzContent | No | Wasm config, WASI manifest, differential fuzz spec, or WAT text to audit (optional) | |
| iamPolicyContent | No | IAM policy document or cloud access rule content to audit (optional) | |
| wasmFuzzFilePath | No | File path of Wasm configuration or WAT module (optional) | |
| containerFilePath | No | File path of container/k8s manifest (optional) | |
| dockerfileContent | No | Dockerfile content to audit (optional) | |
| k8sManifestContent | No | Kubernetes manifest YAML to audit (optional) | |
| cosignPolicyContent | No | Kyverno or Gatekeeper policy YAML to audit (optional) | |
| hostTelemetryStream | No | Host telemetry event stream JSON Lines (optional) | |
| kernelFlowTelemetry | No | Kernel flow telemetry events JSON or JSONL stream (optional) | |
| cosignImageReference | No | Container image reference to audit (optional) | |
| networkPolicyContent | No | Cilium or K8s network policy content to audit (optional) | |
| telemetryConfigContent | No | Distributed eBPF telemetry pipeline manifest (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that findings are unified and patches are generated rather than applied, but it does not say whether scanning is read-only, whether it actively probes live systems, what permissions or authorization are required, or what side effects sandbox verification may have.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire definition is a single front-loaded sentence that states the action, scope, and outputs without filler. The long layer list is information-dense rather than redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description names the covered layers and the return artifacts (unified findings and patches), which is useful given there is no output schema. However, for a 49-parameter orchestration tool with zero required inputs and no annotations, it omits how to select layers via optional params and lacks operational safety context needed to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 92%, so the parameter definitions already explain nearly all 49 optional inputs, including content/path pairs and enum types. The description adds no mapping between its named layers and the corresponding parameters, so it does not add meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource ('Runs an end-to-end multi-layer vulnerability audit') and enumerates the Web, API, Database, GraphQL, CI/CD, Container/Kubernetes, and eBPF/Runtime layers it covers. That scope distinguishes it from the per-layer sibling tools such as vulnforge_audit_ebpf and vulnforge_audit_api.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'End-to-end multi-layer' implies this is the comprehensive option, but the description never states when to choose it over the narrower audit_* siblings or when a targeted scan is preferable. It also gives no guidance on whether to supply inputs for all layers or only selected ones.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_fuzz_apiB
Fuzzes REST/API route handlers and schemas using dynamic feedback-guided mutations (boundary values, type mismatches, prototype pollution probes, oversized payloads) to uncover unhandled crashes and input validation gaps, synthesizing defensive Zod/sanitizer validation patches.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | No | Source filename or route path identifier (optional) | |
| routeCode | Yes | API route handler source code to analyze for mutation resilience (Express, Fastify, Next.js, etc.) | |
| endpointUrl | No | Target endpoint URL or route path (optional) | |
| fuzzStrategy | No | Mutation fuzzing strategy (default: ALL) | |
| mutationRounds | No | Number of mutation variants per field (default: 5) | |
| schemaDefinition | No | Optional schema or OpenAPI definition snippet |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the mutation techniques and that it synthesizes defensive Zod/sanitizer patches, but it never says whether the handler is actually executed (sandboxed runtime vs. static simulation), whether files are written or patches are merely returned, or what permissions are needed — significant gaps for a security-mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the verb and resource before the technique list and outcome. Dense and slightly overloaded with parenthetical technique names, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter tool with no annotations and no output schema, the description omits what the return value looks like (crash reports, patch text, findings list) and the execution model. It covers the 'what' adequately but leaves the agent guessing about the shape and side effects of results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters including the fuzzStrategy enum. The description's mention of boundary values, type mismatches, and prototype pollution loosely maps to enum members but adds no format, default, or interaction details beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Fuzzes REST/API route handlers and schemas', with named techniques and a stated goal (crashes, validation gaps, patch synthesis). It implicitly separates itself from the auditing siblings by technique (dynamic fuzzing vs. audit), but never names an alternative, so the differentiation is left for the agent to infer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: you supply route handler source and get mutation resilience findings. There is no explicit when-to-use statement, no mention of when to prefer vulnforge_audit_api or vulnforge_full_scan, and no prerequisites such as whether a live endpoint must be running for endpointUrl.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_fuzz_wasm_runtimeC
Audits WebAssembly execution engines (Wasmtime, Wasmer, WasmEdge), WASI capability preopens, and differential mutation fuzzing specs across 8 critical vulnerability vectors (CWE-119, CWE-284, CWE-400, CWE-770, CWE-698, CWE-362, CWE-459, CWE-778) with automated policy synthesis and canary sandbox verification.
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Wasm format (WASMTIME_CONFIG, WASMER_CONFIG, WASMEDGE_CONFIG, WASI_CAPABILITY_MANIFEST, DIFFERENTIAL_FUZZ_SPEC, WAT_MODULE) (optional) | |
| content | No | Raw Wasm runtime config, WASI capability manifest, differential fuzz spec, or WAT module text | |
| filePath | No | File path of Wasm configuration or WAT module (optional) | |
| watContent | No | WebAssembly text format (WAT) module content (optional) | |
| mutationRounds | No | Number of mutation rounds to evaluate (default: 100) | |
| strictPreopens | No | Enforce strict non-overlapping virtual directory preopens without root access (default: true) | |
| fuzzSpecContent | No | Differential mutation fuzzing specification content (optional) | |
| strictDifferential | No | Enforce exact trap-code and result match across all target runtimes (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet 'automated policy synthesis and canary sandbox verification' is unexplained jargon — it does not say whether it writes files, spawns runtimes, or is read-only. With zero required parameters, it also fails to say what happens when content/filePath/watContent are all omitted, or what the response contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence is efficient, but it is packed with a parenthetical list of eight CWE identifiers that displaces more useful information such as return behavior or mode selection. The CWE enumeration does not help an agent decide or invoke correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no annotations and no output schema, the description omits return values, side effects, mode selection across the format enum, and defaults behavior. The scope of what gets produced after 'canary sandbox verification' is entirely unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both the parameter meanings and the format enum values are already fully documented in the schema. The description adds no syntax, defaults, or interaction rules (e.g. how format selects between content, watContent, and fuzzSpecContent) beyond what the schema supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Wasm runtimes, WASI preopens, differential fuzz specs) but muddles the verb: the tool is named 'fuzz' yet the text leads with 'Audits', and no distinction is drawn from siblings like vulnforge_audit_wasm_ebpf or vulnforge_fuzz_api. An agent can guess the domain but not whether this is an audit or a fuzzing engine.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer for overlapping Wasm/eBPF or API fuzzing work. The CWE list implies an audit context but gives no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_inject_patchB
Synthesizes and automatically injects defensive patches into vulnerable code, converting raw queries to parameterized statements, adding headers, sanitizing DOM sinks, and optionally verifying via canary sandbox.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | Target filename (e.g. server.ts, db.ts) | |
| vaultType | No | Vault type override (optional) | |
| sourceCode | Yes | The vulnerable source code to remediate | |
| vaultFilePath | No | File path of vault configuration (optional) | |
| verifyInSandbox | No | When true, runs automated canary verification in isolated VM sandbox (default: true) | |
| vaultConfigContent | No | Vault configuration or KMS manifest content to audit (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations, the description carries the full disclosure burden. It conveys that this is a mutation ('automatically injects') and that sandbox verification runs in an isolated VM, but omits whether files are modified in place, whether the patched code is returned, reversibility of changes, or privilege requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the primary verb and resource, with each clause carrying distinct remediation information. Slightly run-on but no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate on the what, but incomplete for a mutation tool with five sibling auditors, no annotations, and no output schema. An agent still cannot tell what the call returns, whether it edits the target file, or how the vault parameters interact with the patch flow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters and the enum. The description adds nothing about the three vault-related parameters (vaultType, vaultFilePath, vaultConfigContent), whose purpose is non-obvious in a patch-injection tool, so it stays at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Uses a concrete verb pair ('synthesizes and automatically injects defensive patches') tied to a specific resource ('vulnerable code') and enumerates the remediation classes it performs (parameterized statements, headers, DOM sink sanitization). This clearly distinguishes it from the audit_* siblings, though it does not explicitly differentiate itself from the adjacent vulnforge_verify_patch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to use this versus the many audit_* tools or verify_patch, and no exclusions or prerequisites. The 'optionally verifying via canary sandbox' clause hints at overlap with verify_patch but never routes the agent between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vulnforge_verify_patchB
Executes isolated Node.js vm canary sandbox verification of defensive patches against dual attack and benign functional payloads to prove exploit mitigation with zero regressions.
| Name | Required | Description | Default |
|---|---|---|---|
| vulnType | No | Vulnerability type (SQL_INJECTION, DOM_XSS, SECURITY_HEADERS, GRAPHQL_INTROSPECTION, GRAPHQL_RESOLVER_AUTH, etc.). Auto-inferred if omitted. | |
| timeoutMs | No | Execution timeout in milliseconds (default: 2000) | |
| patchedCode | Yes | The synthesized defensive patched code snippet | |
| originalCode | Yes | The original vulnerable source code snippet | |
| attackPayload | No | Custom attack payload to verify containment against (optional) | |
| benignPayload | No | Custom benign functional payload to verify lack of regression (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add real behavioral context the schema cannot: execution happens in an isolated Node.js vm sandbox, and it runs two payload classes (attack for containment, benign for regression). It omits what a failure looks like, whether code execution has side effects outside the sandbox, and runtime prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the verb front-loaded and zero filler. It is dense with jargon ('vm canary sandbox', 'dual attack and benign functional payloads') but each clause contributes distinguishing information rather than restating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter, no-output-schema verification tool, the description covers the mechanism but not the outcome: it never says whether the result is a pass/fail verdict, per-payload diagnostics, or a regression report. Given there is no output schema, that gap should have been filled in prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the six parameters are already documented, giving a baseline of 3. The description reinforces that verification is dual-purpose (attack payload vs benign payload), which explains why attackPayload and benignPayload are optional custom overrides, but adds no format or syntax detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Executes ... verification') and a precise resource ('defensive patches'), and adds distinguishing methodology (isolated Node.js vm canary sandbox, dual attack + benign payloads). It clearly separates itself from audit_* and inject_patch siblings by being a post-patch verification step, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the phrase 'to prove exploit mitigation with zero regressions' suggests it belongs after a patch is synthesized (i.e., after vulnforge_inject_patch), but no explicit when-to-use, when-not-to-use, or prerequisite is stated. An agent can infer the place in the workflow but must guess at ordering and inputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
21 tool updates
v1.19.0- Added
vulnforge_audit_cicd - Added
vulnforge_audit_container - Added
vulnforge_audit_cosign - Added
vulnforge_audit_ebpf - Added
vulnforge_audit_graphql - Added
vulnforge_audit_iam - Added
vulnforge_audit_intoto - Added
vulnforge_audit_kms_hsm - Added
vulnforge_audit_microsegmentation - Added
vulnforge_audit_model_supply_chain - Added
vulnforge_audit_p2p_gossip - Added
vulnforge_audit_pqc - Added
vulnforge_audit_sbom - Added
vulnforge_audit_vault - Added
vulnforge_audit_wasm_ebpf - Added
vulnforge_audit_zkp_gateway - Changed
vulnforge_full_scan45 fields changed- added
Input schema / properties / cicdFilePathAdded value: +{ + "description": "File path of CI/CD workflow (optional)", + "type": "string" +} - added
Input schema / properties / cicdWorkflowAdded value: +{ + "description": "CI/CD workflow YAML content to audit (optional)", + "type": "string" +} - added
Input schema / properties / containerFilePathAdded value: +{ + "description": "File path of container/k8s manifest (optional)", + "type": "string" +} - added
Input schema / properties / cosignContentAdded value: +{ + "description": "Cosign payload, Sigstore bundle, or Kyverno admission policy to audit (optional)", + "type": "string" +} - added
Input schema / properties / cosignImageReferenceAdded value: +{ + "description": "Container image reference to audit (optional)", + "type": "string" +} - added
Input schema / properties / cosignPolicyContentAdded value: +{ + "description": "Kyverno or Gatekeeper policy YAML to audit (optional)", + "type": "string" +} - added
Input schema / properties / dockerfileContentAdded value: +{ + "description": "Dockerfile content to audit (optional)", + "type": "string" +} - added
Input schema / properties / ebpfContentAdded value: +{ + "description": "eBPF C source or runtime security policy YAML/JSON to audit (optional)", + "type": "string" +} - added
Input schema / properties / ebpfFilePathAdded value: +{ + "description": "File path of eBPF source or policy (optional)", + "type": "string" +} - added
Input schema / properties / ebpfPolicyTypeAdded value: +{ + "description": "eBPF policy type (auto-detected if omitted)", + "enum": [ + "ebpf_c", + "falco_rules", + "tetragon_policy", + "seccomp_profile" + ], + "type": "string" +} - added
Input schema / properties / fuzzRouteCodeAdded value: +{ + "description": "API route handler source code to fuzz test (optional)", + "type": "string" +} - added
Input schema / properties / gossipContentAdded value: +{ + "description": "P2P gossip configuration or policy revocation manifest to audit (optional)", + "type": "string" +} - added
Input schema / properties / gossipFilePathAdded value: +{ + "description": "File path of P2P gossip artifact (optional)", + "type": "string" +} - added
Input schema / properties / gossipFormatAdded value: +{ + "description": "P2P gossip format (optional)", + "type": "string" +} - added
Input schema / properties / graphqlCodeAdded value: +{ + "description": "GraphQL schema, server, or resolver code (optional)", + "type": "string" +} - added
Input schema / properties / graphqlQueryAdded value: +{ + "description": "GraphQL query payload to analyze (optional)", + "type": "string" +} - added
Input schema / properties / hostTelemetryStreamAdded value: +{ + "description": "Host telemetry event stream JSON Lines (optional)", + "type": "string" +} - added
Input schema / properties / iamFilePathAdded value: +{ + "description": "File path of IAM policy (optional)", + "type": "string" +} - added
Input schema / properties / iamPolicyContentAdded value: +{ + "description": "IAM policy document or cloud access rule content to audit (optional)", + "type": "string" +} - added
Input schema / properties / iamPolicyTypeAdded value: +{ + "description": "IAM policy type (auto-detected if omitted)", + "enum": [ + "aws_iam_json", + "aws_iam_terraform", + "gcp_iam", + "azure_rbac", + "unknown" + ], + "type": "string" +} - added
Input schema / properties / intotoContentAdded value: +{ + "description": "In-toto attestation or layout JSON to audit (optional)", + "type": "string" +} - added
Input schema / properties / intotoFilePathAdded value: +{ + "description": "File path of in-toto attestation (optional)", + "type": "string" +} - added
Input schema / properties / k8sManifestContentAdded value: +{ + "description": "Kubernetes manifest YAML to audit (optional)", + "type": "string" +} - added
Input schema / properties / kernelFlowTelemetryAdded value: +{ + "description": "Kernel flow telemetry events JSON or JSONL stream (optional)", + "type": "string" +} - added
Input schema / properties / kmsContentAdded value: +{ + "description": "KMS key policy, envelope spec, or HSM remote attestation to audit (optional)", + "type": "string" +} - added
Input schema / properties / kmsFilePathAdded value: +{ + "description": "File path of KMS or HSM configuration (optional)", + "type": "string" +} - added
Input schema / properties / kmsFormatAdded value: +{ + "description": "KMS/HSM format (optional)", + "type": "string" +} - added
Input schema / properties / modelContentAdded value: +{ + "description": "AI model config or safetensors header to audit (optional)", + "type": "string" +} - added
Input schema / properties / modelFilePathAdded value: +{ + "description": "File path of model artifact (optional)", + "type": "string" +} - added
Input schema / properties / networkPolicyContentAdded value: +{ + "description": "Cilium or K8s network policy content to audit (optional)", + "type": "string" +} - added
Input schema / properties / npmrcContentAdded value: +{ + "description": "Content of .npmrc file defining private scoped registries (optional)", + "type": "string" +} - added
Input schema / properties / pqcContentAdded value: +{ + "description": "PQC hybrid KEM config, migration policy, or SSH spec to audit (optional)", + "type": "string" +} - added
Input schema / properties / pqcFilePathAdded value: +{ + "description": "File path of PQC artifact (optional)", + "type": "string" +} - added
Input schema / properties / pqcFormatAdded value: +{ + "description": "PQC format (optional)", + "type": "string" +} - added
Input schema / properties / sbomContentAdded value: +{ + "description": "SBOM manifest or package.json content to audit (optional)", + "type": "string" +} - added
Input schema / properties / sbomFilePathAdded value: +{ + "description": "File path of SBOM or manifest (optional)", + "type": "string" +} - added
Input schema / properties / telemetryConfigContentAdded value: +{ + "description": "Distributed eBPF telemetry pipeline manifest (optional)", + "type": "string" +} - added
Input schema / properties / tenantIdAdded value: +{ + "description": "Tenant identifier for KMS envelope audit (optional)", + "type": "string" +} - added
Input schema / properties / verifyInSandboxAdded value: +{ + "description": "Run automated canary sandbox verification on synthesized patches (default: true)", + "type": "boolean" +} - added
Input schema / properties / wasmContentAdded value: +{ + "description": "WebAssembly runtime or EnvoyFilter configuration to audit (optional)", + "type": "string" +} - added
Input schema / properties / wasmFuzzContentAdded value: +{ + "description": "Wasm config, WASI manifest, differential fuzz spec, or WAT text to audit (optional)", + "type": "string" +} - added
Input schema / properties / wasmFuzzFilePathAdded value: +{ + "description": "File path of Wasm configuration or WAT module (optional)", + "type": "string" +} - added
Input schema / properties / wasmFuzzFormatAdded value: +{ + "description": "Wasm format (optional)", + "type": "string" +} - added
Input schema / properties / zkpContentAdded value: +{ + "description": "Zero-Knowledge circuit, proof verifier, or gateway policy to audit (optional)", + "type": "string" +} - added
Input schema / properties / zkpFilePathAdded value: +{ + "description": "File path of ZKP circuit or gateway policy (optional)", + "type": "string" +}
- Added
vulnforge_fuzz_api - Added
vulnforge_fuzz_wasm_runtime - Changed
vulnforge_inject_patch4 fields changed- added
Input schema / properties / vaultConfigContentAdded value: +{ + "description": "Vault configuration or KMS manifest content to audit (optional)", + "type": "string" +} - added
Input schema / properties / vaultFilePathAdded value: +{ + "description": "File path of vault configuration (optional)", + "type": "string" +} - added
Input schema / properties / vaultTypeAdded value: +{ + "description": "Vault type override (optional)", + "enum": [ + "hashicorp_vault", + "aws_secrets_manager", + "azure_key_vault", + "gcp_secret_manager", + "kubernetes_kms", + "age_vault", + "unknown" + ], + "type": "string" +} - added
Input schema / properties / verifyInSandboxAdded value: +{ + "description": "When true, runs automated canary verification in isolated VM sandbox (default: true)", + "type": "boolean" +}
- Added
vulnforge_verify_patch
5 tool updates
v1.0.0- First observed
vulnforge_audit_api - First observed
vulnforge_audit_db - First observed
vulnforge_audit_web - First observed
vulnforge_full_scan - First observed
vulnforge_inject_patch
TDQS
Scored across 24 tools
Most tools target distinct security domains, but several clusters overlap heavily: audit_sbom, audit_cosign, audit_intoto, audit_model_supply_chain, and audit_p2p_gossip all cover supply-chain/attestation concerns, while audit_ebpf, audit_wasm_ebpf, audit_microsegmentation, and fuzz_wasm_runtime overlap runtime/kernel surfaces. Descriptions do help differentiate them, but an agent could still misselect when asked for a broad layer such as 'supply chain audit'. The presence of full_scan alongside granular audits adds another selection ambiguity.
Almost all tools use a consistent vulnforge_ prefix with snake_case verb/noun patterns such as audit_*, fuzz_*, inject_patch, and verify_patch. The only minor deviations are full_scan lacking the audit/fuzz verb style and some names combining multiple nouns, but the convention remains predictable overall.
Twenty-four tools is heavy for a single server and likely reflects a very broad security audit suite rather than a tightly scoped toolset. Most tools do earn their place by covering distinct security domains, but the count is borderline excessive and increases selection burden.
The surface covers a wide audit lifecycle: domain-specific audits, fuzzing, patch injection, patch verification, and an end-to-end full scan. Minor gaps exist around reporting/export, triage workflows, and general result management, but agents can work around these for most audit workflows.
Maintenance
Related MCP Connectors
Security scanner for AI-written code: SAST, secrets, dependencies, IaC, containers and DAST.
Pay-per-call cybersecurity for AI agents: vuln scans, threat intel, compliance, code security.
Authorized security scans, evidence, fix prompts and retests for AI-built web apps.
Security scanner for AI agents: prompt injection, leaked secrets, PII, and SSRF-risk URL detection.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAutomatically detects security vulnerabilities in AI-generated code, scanning for hardcoded secrets, injection flaws, XSS, weak cryptography, authentication issues, path traversal, and vulnerable dependencies across JavaScript, Python, Java, and Go.14 npm2MIT
- AlicenseAqualityDmaintenanceAn AI-powered security audit tool that analyzes codebases for vulnerabilities using real-time data from MITRE CWE and npm audit. It enables deep analysis of authentication, API security, and dependencies to provide structured findings and remediation steps.2115 npm1MIT

shipsafe-mcpofficial
AlicenseAqualityCmaintenanceEnables AI coding assistants to scan projects for security issues such as leaked API keys, missing Supabase RLS, open Firebase rules, unauthenticated routes, and hallucinated packages, then fix and verify the results.81MIT- AlicenseNot gradedqualityCmaintenanceEnables AI editors such as Cursor, Claude Code, Windsurf and VS Code to scan a project for common AI-introduced security mistakes — leaked keys, open Supabase/Firebase data, missing auth, unverified Stripe webhooks, SQL injection and more — and return findings with exact fix instructions. It also provides a guided prompt that walks an agent through fixing critical issues one by one and verifying each fix by re-scanning, without ever editing files or rotating keys itself.2MIT