Who it is for
GitHub last commit
README.md:8Want to know more about its architecture and how it works? You can read it here.
README.md:15
Scanned repository says: GitHub last commit
Metal Mantra scanned this public repository on its own initiative; the maintainer did not submit it. Maintainers: scan the repository yourself to take this report over, or contact us.
Inspect GitHub sourceVotes show community interest, not safety. They never change this score.
Runtime safety, real-world agent capability, fitness for your use case or independent certification.
Structured, cited information from the scanned archive. Repository-authored claims are labeled and never treated as verified capabilities.
GitHub last commit
README.md:8Want to know more about its architecture and how it works? You can read it here.
README.md:15🤖 Support for all major AI providers - Use local LLMs through Ollama or connect to OpenAI, Anthropic Claude, Google Gemini, Groq, and more. Mix and match models based on your needs.
README.md:19There are mainly 2 ways of installing Vane - With Docker, Without Docker. Using Docker is highly recommended.
README.md:64Declares a dependency on openai.
package.json:42Declares a dependency on zod.
package.json:56Declares a dependency on @google/genai.
package.json:14Declares a dependency on @headlessui/react.
package.json:15Declares a dependency on @headlessui/tailwindcss.
package.json:16Declares a dependency on @huggingface/transformers.
package.json:17Manifest declares MIT as its license.
package.json:4These are references in selected source files, not proof that a feature works at runtime.
Read from commit 348feca at Oct 12, 2026, 5:29 AM UTC. Source links open that exact commit. Repository statements are unreviewed and do not affect the score.
Critical details are withheld publicly for the first 30 days after a scan. A matched pattern is a lead for investigation, not a confirmed vulnerability.
Dependencies: no lockfile or exact version pins at the repository root, so no advisory check was possible.
A model request does not set a maximum output length. One unusual input can produce a very long, expensive response.
Set max_tokens or the provider's equivalent on each model call.
A model request does not set a maximum output length. One unusual input can produce a very long, expensive response.
Set max_tokens or the provider's equivalent on each model call.
Model output is used without being checked against a schema. Unexpected or malformed output can break later steps or be trusted when it should not be.
Validate model output with Zod, JSON Schema, Pydantic or provider structured output.
Model output is used without being checked against a schema. Unexpected or malformed output can break later steps or be trusted when it should not be.
Validate model output with Zod, JSON Schema, Pydantic or provider structured output.
A model call has no visible fallback. If the provider fails or is rate limited, the whole agent fails with it.
Configure a secondary model or explicit fallback path for provider failures.
Metal Mantra could not confirm that the owner controls the stated domain. The domain may belong to someone else.
Verify the domain using the Metal Mantra DNS TXT challenge.
The stated website could not be reached over HTTPS, so Metal Mantra could not confirm it is a secure, working site.
Make the official website reachable over HTTPS for verification.
No privacy policy link was found on the stated homepage. Buyers cannot see how the vendor handles their data.
Expose a clear Privacy Policy link on the official homepage.
No terms link was found on the stated homepage. Buyers cannot see the conditions that apply to using the service.
Expose a clear Terms link on the official homepage.
Each pillar starts at 100. Rule deductions reduce its score; weights determine the overall contribution.
No user reports yet.
Each report is one signed-in GitHub account saying what happened. We do not verify that the account ran the agent, and reports never change the automated score or grade. For a security problem, use the disclosure page instead of a public note.
Share the full report so its scope and limits travel with the score.