registry / @prosopo/procaptcha-bundle / 4.3.0
@prosopo/procaptcha-bundle@4.3.0
AI Security Review
scanned 2mo ago · by lpm-firewall-aiStatic inspection shows a browser captcha bundle with no install lifecycle hook or concrete malicious behavior. Environment-variable references are bounded configuration inputs for the widget, not general environment harvesting.
Static reason
One or more suspicious static signals were detected.
Trigger
A website imports or loads the bundle and renders a Procaptcha widget.
Impact
It can modify the host page's captcha container and invoke its captcha dependencies; no unrelated file, credential, or agent-control action was found.
Mechanism
Browser DOM widget rendering and aligned captcha-provider prefetch.
AI rationale
Static inspection shows a browser captcha bundle with no install lifecycle hook or concrete malicious behavior. Environment-variable references are bounded configuration inputs for the widget, not general environment harvesting.
Decision evidence
public snapshotAI called this Clean at 95.0% confidence as Benign with low false-positive risk.
Evidence for AI clean decision
- The browser entry dynamically loads its aligned captcha dependencies only when a site key is present and automatic mode is used.
- Runtime configuration reads named Prosopo environment settings to configure the captcha widget; it does not enumerate or transmit general environment variables.
- The package manifest has no preinstall, install, or postinstall hook.
- Detector prefetch dynamically imports only the two Prosopo captcha dependencies.
Evidence against
- No child-process, shell, eval, filesystem-harvesting, credential collection, or hard-coded network endpoint was found in shipped source.
- No self-dependency, persistence mechanism, destructive project mutation, or AI-agent control-surface write was found.
- The entrypoint mounts a browser captcha widget and exposes its documented widget API on window.
Behavioral surface
CryptoEnvironmentVarsFilesystem
HighEntropyStringsUrlStrings
Source & flagged code
3 flaggeddist/index.jsView file
5package = @prosopo/procaptcha-bundle; repositoryIdentity = captcha; dependency = @prosopo/procaptcha-common
L5: import { WidgetThemeResolver } from "./util/widgetThemeResolver.js";
L6: import { getWindowCallback } from "@prosopo/procaptcha-common";
L7: import { PROCAPTCHA_START_EVENT, StartModeEnum } from "@prosopo/types";
High
Copied Package Dependency Bridge
Package metadata claims a different repository identity while copied source loads a runtime dependency bridge.
dist/index.jsView on unpkg · L537var startDetectorPrefetch = (siteKey, flags) => {
if (!siteKey) return;
if (flags.startMode === StartModeEnum.manual) return;
Promise.all([import("@prosopo/procaptcha-frictionless"), import("@prosopo/procaptcha-common")]).then(([frictionless, common]) => {
frictionless.prefetchDetector(process.env.PROSOPO_DEFAULT_ENVIRONMENT, common.pickIpMode(flags), siteKey);
Low
Suspicious Dependency Evidence
Detector prefetch dynamically imports only the two Prosopo captcha dependencies.
dist/index.jsView on unpkg · L37package.jsonView file
Findings
1 High2 Medium6 Low
HighCopied Package Dependency Bridgedist/index.js
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowSuspicious Lifecycle Evidencepackage.json
LowSuspicious Dependency Evidencedist/index.js
Affected versions and remediation
This report applies to @prosopo/procaptcha-bundle@4.3.0.
See all versions of @prosopo/procaptcha-bundle for other recorded verdicts.
- Review the evidence and your use of @prosopo/procaptcha-bundle@4.3.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.