// npm 패키지
weavedb-exm-sdk-web
Web Client for WeaveDB on Execution Machine
주간
19
월간
77
버전
19
메인테이너
1
라이선스
MIT
최초 publish
2022-10-29
publisher
asteroiddao
tarball
978,913 B
AUTO-PUBLISHED·2개 버전 인덱싱됨·최근 publish: 2026-05-26
// publisher 캠페인by asteroiddao
이 계정에서 catch된 패키지 9건고립된 catch가 아닙니다. 동일 publisher가 8개의 다른 패키지를 추가로 발행했고, 모두 파이프라인이 catch했습니다 — 일회성이 아닌 조직적 캠페인의 형태. 아래 링크는 각 형제 catch의 분석으로 이동합니다.
// offending code· @0.7.4· no static-pattern hits
llm: benign · 0.85→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s), 1 other host(s).
- @0.7.4··AUTO-PUBLISHED·publisher: asteroiddaoheuristic 89/100static flags 0llm benign (0.85) via ollamainstall-scripts:preinstallnew-publisher:1dmature-packagehas-source-repopublisher-multi-name-burst:16publisher-version-pump:17osv-flagged:MAL-2026-4719
→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s), 1 other host(s).
// offending code· no static-pattern hits
--- install scripts --- ### preinstall ./bin/install-deps --- package.json (entry) --- { "name": "weavedb-exm-sdk-web", "version": "0.7.4", "description": "Web Client for WeaveDB on Execution Machine", "homepage": "https://weavedb.dev", "repository": { "type": "git", "url": "https://github.com/weavedb/weavedb" }, "main": "index.js", "license": "MIT", "engines": { "node": "16" }, "scripts": { "preinstall": "./bin/install-deps" }, "dependencies": { "arweave": "^1.11.4", "fpjson-lang": "^0.1.1", "isomorphic-fetch": "^3.0.0", "json-logic-js": "^2.0.2", "ramda": "^0.28.0", "weavedb-base": "^0.7.3" }, "devDependencies": { "esbuild": "^0.14.50", "rimraf": "^3.0.2" } } --- index.js (entry) --- const Base = require("weavedb-base") const { isNil, clone, keys } = require("ramda") let Arweave = require("arweave") Arweave = isNil(Arweave.default) ? Arweave : Arweave.default require("isomorphic-fetch") class SDK extends Base { constructor({ functionId }) { super() this.functionId = functionId this.arweave = Arweave.init() this.domain = { name: "weavedb", version: "1", verifyingContract: "exm" } } async request(func, ...query) { return this.viewState({ function: func, query, }) } async viewState(opt) { const tx = await this.send(opt) if ( isNil(tx.data.execution.result) || tx.data.execution.result.success !== true ) { throw new Error() } return tx.data.execution.result.result } async getNonce(addr) { return ( (await this.viewState({ function: "nonce", address: addr, })) + (isNil(this.endpoint) ? 1 : 0) ) } async getIdx(tx) { return await this.viewState({ function: "ids", tx, }) } async _request(func, param) { return await this.send(param) } async evolve(value, opt) { return this._write2("evolve", { value }, {
