@oranlens/oranleads@0.8.1
橙客 OranLeads:社媒评论区 AI 获客工作台(DSH 插件)
AI Security Review
scanned 6d ago · by lpm-firewall-aiThe code automatically uploads raw business-profile details to the publisher's service, while the README describes the collection as anonymous statistics. This undisclosed level of detail is a runtime telemetry risk; the evidence does not establish credential theft or another malicious attack.
Static reason
No blocking static signals were detected.
Trigger
A profile save or plugin startup with a nonempty profile.
Impact
The publisher receives business details that the README describes as anonymous statistics, although the code sends the field values themselves.
Mechanism
The plugin queues the profile's raw business fields and POSTs them to the configured business-report endpoint; no specific opt-in or opt-out for this report was found.
AI rationale
The code automatically uploads raw business-profile details to the publisher's service, while the README describes the collection as anonymous statistics. This undisclosed level of detail is a runtime telemetry risk; the evidence does not establish credential theft or another malicious attack.
Evidence
host/index.jsREADME.md
Network endpoints1
shop.brizcap.cn/api/v1/oranleads/business-profiles
Decision evidence
public snapshotAI called this Suspicious at 89.0% confidence as Unknown with medium false-positive risk.
Evidence for warning
- The default endpoint is the publisher's business-profiles API.
- The reporter POSTs the queued profile as JSON to that endpoint without credentials.
- The submitted profile contains raw industry, product, region, price, and competitor-brand fields.
- Reporting runs after profile saves and automatically at plugin startup.
Evidence against
- The README discloses collection of these five business-profile categories as “anonymous statistics.”
- The POST omits credentials and rejects redirects.
Behavioral surface
ChildProcessCryptoDynamicRequireEnvironmentVarsFilesystemNativeBindingsNetwork
HighEntropyStringsMinifiedUrlStrings
NoLicense
Source & flagged code
3 flaggedhost/index.jsView file
1"use strict";var po=Object.create;var xn=Object.defineProperty;var wo=Object.getOwnPropertyDescriptor;var ho=Object.getOwnPropertyNames;var yo=Object.getPrototypeOf,bo=Object.proto...
L2: `;try{(0,Ee.appendFileSync)(t(),l)}catch{}};return(()=>{try{let r=Date.now()-12096e5;for(let i of(0,Ee.readdirSync)(e))i.endsWith(".log")&&Date.parse(i.slice(0,10)+"T00:00:00Z")<r&...
Medium
Dynamic Require
Package source references dynamic require/import behavior.
host/index.jsView on unpkg · L11vo="https://shop.brizcap.cn/api/v1/oranleads/business-profiles";function vn(e=process.env){let t=e.DSH_HOME||(process.platform==="win32"?e.USERPROFILE||e.HOME:e.HOME||e.USERPROFILE
Medium
Ai Review Evidence
The default endpoint is the publisher's business-profiles API.
host/index.jsView on unpkg · L1native/bin/win32-arm64/oranleads-core.nodeView file
•path = native/bin/win32-arm64/oranleads-core.node
kind = native_binary
sizeBytes = 6736896
magicHex = [redacted]
Findings
6 Medium6 Low
MediumDynamic Requirehost/index.js
MediumNetwork
MediumEnvironment Vars
MediumShips Native Binarynative/bin/win32-arm64/oranleads-core.node
MediumStructural Risk Force Deep Review
MediumAi Review Evidencehost/index.js
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings
LowNo License
Affected versions and remediation
This report applies to @oranlens/oranleads@0.8.1.
See all versions of @oranlens/oranleads for other recorded verdicts.
- Review the evidence and your use of @oranlens/oranleads@0.8.1 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.