@canonry/canonry@7.70.0
Self-hosted AI visibility (AEO) platform: track how ChatGPT, Claude, Gemini, and Perplexity cite your domain, join it with Search Console, GA4, server-side traffic, and paid media, and fix what you find through agent tools (CLI, REST, MCP). Local SQLite.
AI Security Review
scanned 5d ago · by lpm-firewall-aiThe package’s flagged credential handling maps to expected dashboard authentication and configured provider integrations. Its manifest has no install lifecycle hook, and the flagged package installation runs only through an application callback.
Decision evidence
public snapshot- The manifest defines build, typecheck, test and lint scripts, with no install lifecycle script.
- The OpenRouter sentiment transport is pinned to openrouter.ai and rejects any other endpoint; redirects are disabled.
- The flagged password fields belong to the dashboard’s user creation and login request schemas.
- DuckDB installation is wired to an onInstallBacklinks callback, rather than being triggered by the package manifest.
- The package has provider integrations and uses API credentials for their configured services, which fits its stated purpose.
- The launcher delegates to the package CLI, and the scanner-flagged credential and process behaviors have ordinary application contexts.
Source & flagged code
9 flaggedThis package version adds a dangerous source file absent from the previous stored version; route for source-aware review.
dist/chunk-JGO7LGVN.jsView on unpkgPackage source references child process execution.
dist/chunk-JGO7LGVN.jsView on unpkg · L60333Findings
Affected versions and remediation
This report applies to @canonry/canonry@7.70.0.
See all versions of @canonry/canonry for other recorded verdicts.
- Review the evidence and your use of @canonry/canonry@7.70.0 before allowing it. Restrict the permissions described in this report.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
Evidence last updated: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.