registry / @superatomai/sdk-node / 0.0.48-mds
@superatomai/sdk-node@0.0.48-mds
Node.js TypeScript SDK for Superatom
AI Security Review
scanned 3mo ago · by lpm-firewall-aiSource inspection shows an application SDK that uses configured credentials and a documented WebSocket service only after explicit runtime use. No concrete malicious chain or lifecycle abuse was found.
Static reason
No blocking static signals were detected.
Trigger
Application constructs the SDK and calls sdk.connect()
Impact
No unconsented install-time execution, credential harvesting, or foreign control-surface mutation established.
Mechanism
Documented Superatom WebSocket, LLM, and project-storage operations
AI rationale
Source inspection shows an application SDK that uses configured credentials and a documented WebSocket service only after explicit runtime use. No concrete malicious chain or lifecycle abuse was found.
Evidence
package.jsondist/index.mjsREADME.md
Network endpoints2
wss://ws.superatom.ai/websocketopenrouter.ai/api/v1
Decision evidence
public snapshotAI called this Clean at 94.0% confidence as Benign with low false-positive risk.
Evidence for AI clean decision
Evidence against
- package.json has no preinstall/install/postinstall hooks.
- dist/index.mjs exposes SDK behavior; connection requires explicit sdk.connect().
- WebSocket target is Superatom's documented service.
- No child-process, eval, VM, or dynamic code-loading primitive found.
- Filesystem writes are scoped to Superatom project storage during SDK use.
Behavioral surface
ChildProcessCryptoEnvironmentVarsFilesystemNetworkWebSocket
HighEntropyStrings
Source & flagged code
3 flaggeddist/index.mjsView file
1// src/websocket.ts
L2: import WebSocket from "ws";
...
L99: ).optional(),
L100: data: z.record(z.string(), z.any()).optional(),
L101: render: UIElementSchema.optional(),
...
L821: constructor() {
L822: const envLevel = (process.env.SUPERATOM_LOG_LEVEL || "info").toLowerCase();
L823: if (this.isValidLogLevel(envLevel)) {
...
L1605: const cipher = crypto.createCipheriv(this.algorithm, this.encryptionKey, iv);
L1606: let encrypted = cipher.update(payload, "utf8", "base64");
L1607: encrypted += cipher.final("base64");
...
L4060: this.databaseType = "postgresql";
Low
README.mdView file
186patternName = generic_password
severity = medium
line = 186
matchedText = password...rd',
Medium
194patternName = generic_password
severity = medium
line = 194
matchedText = password...rd',
Findings
4 Medium4 Low
MediumNetwork
MediumEnvironment Vars
MediumSecret PatternREADME.md
MediumSecret PatternREADME.md
LowScripts Present
LowWeak Cryptodist/index.mjs
LowFilesystem
LowHigh Entropy Strings
Affected versions and remediation
This report applies to @superatomai/sdk-node@0.0.48-mds.
See all versions of @superatomai/sdk-node for other recorded verdicts.
- Review the evidence and your use of @superatomai/sdk-node@0.0.48-mds 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.