Who it is for
Replace port numbers with stable, named .localhost URLs for local development. For humans and agents.
README.md:3
Scanned repository says: Replace port numbers with stable, named .localhost URLs for local development. For humans and agents.
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.
Critical finding · details withheld for 30 days
Inspect the findingsRuntime 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.
Replace port numbers with stable, named .localhost URLs for local development. For humans and agents.
README.md:3No explicit capability or integration was extracted; that does not mean none exists.
macOS, Linux, or Windows
README.md:557Tailscale CLI (optional, for --tailscale and --funnel)
README.md:558ngrok CLI (optional, for --ngrok)
README.md:559Manifest declares Node.js >=24 as a requirement.
package.json:7A license or copying file is present; its terms have not been reviewed.
LICENSE:1These are references in selected source files, not proof that a feature works at runtime.
Read from commit 674c2de at Oct 12, 2026, 5:18 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.
Details are withheld from public view for 30 days after the scan. The owner can see them in full.
Review the private assessment and address the finding.
Details are withheld from public view for 30 days after the scan. The owner can see them in full.
Review the private assessment and address the finding.
The code turns off certificate checking for HTTPS connections. Anyone on the network path can then impersonate the model provider, a tool API or a data source and read or change what the agent sends and receives.
Keep certificate verification on; if a private CA is needed, trust that CA explicitly instead of disabling checks.
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 public endpoint calls a model without any visible rate limit. Anyone can send many requests and run up cost or exhaust quota.
Apply per-user or per-IP rate limits before model calls.
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.
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.