// npm 패키지
@antv/xflow-core
## Getting Started
주간
32,177
월간
127,659
버전
82
메인테이너
51
라이선스
MIT
최초 publish
2021-11-02
publisher
newbyvector
tarball
2,995,699 B
AUTO-PUBLISHED·1개 버전 인덱싱됨·최근 publish: 2023-04-06
// exfil path
what is read → where it shipssteals
- ○ clipboard
sends to
(no destination string extracted — payload may be dynamic / obfuscated)
→ view full payload// publisher 캠페인by newbyvector
이 계정에서 catch된 패키지 9건고립된 catch가 아닙니다. 동일 publisher가 8개의 다른 패키지를 추가로 발행했고, 모두 파이프라인이 catch했습니다 — 일회성이 아닌 조직적 캠페인의 형태. 아래 링크는 각 형제 catch의 분석으로 이동합니다.
// offending code· @1.0.55· 1 file flagged
llm: benign · 0.85→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s).
- @1.0.55··AUTO-PUBLISHED·publisher: newbyvectorheuristic 75/100static flags 1llm benign (0.85) via ollamarecent-owner-changepopularity:very-highmature-packageosv-flagged:MAL-2026-4119clipboard-access
→ 의심 전송지 없음, 원격 실행 형태 없음 — 1 known-vendor host(s).
// offending code· 1 file flaggedpatterns: 1
--- package/lib/xflow-main/graph/config.js (excerpt) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createGraphConfig = exports.registerGraphConfig = exports.IGraphOptionProvider = exports.GraphConfig = exports.NsGraphConfig = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var mana_syringe_1 = require("mana-syringe"); var deferred_1 = require("../../common/deferred"); var constants_1 = require("../../constants"); var uuid_1 = require("../../common/uuid"); var react_group_node_1 = require("./react-group-node"); var react_node_1 = require("./react-node"); var NsGraphConfig; (function (NsGraphConfig) { NsGraphConfig.CONFIG_TYPE = 'GraphConfig'; /** 默认的Node解析函数 */ NsGraphConfig.defaultNodeTypeParser = function (nodeConfig) { return nodeConfig.renderKey; }; /** 构造的Edge解析函数 */ NsGraphConfig.defaultEdgeTypeParser = function (edgeConfig) { return edgeConfig.renderKey; }; /** XFlow默认的React组件 */ NsGraphConfig.defaultNodeMapValue = [ [constants_1.XFLOW_DEFAULT_NODE, react_node_1.XFlowDefaultNode], [constants_1.XFLOW_DEFAULT_GROUP_NODE, react_group_node_1.XFlowDefaultGroupNode], ]; })(NsGraphConfig = exports.NsGraphConfig || (exports.NsGraphConfig = {})); var GraphConfig = /** @class */ (function () { /** 构造函数 */ function GraphConfig() { var _this = this; /** 配置类型 */ this.CONFIG_TYPE = NsGraphConfig.CONFIG_TYPE; /** 画布的属性 */ this.x6Options = new deferred_1.De --- bundled output (OSV-MAL flagged — LLM scope expansion) --- --- lib/xflow-main/application-module.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.initApp = exports.ExtensionRegistry = void 0; /* eslint-disable @typescript-eslint/no-redeclare */ require("reflect-metadata"); /** Application */ var application_1 = require("./application"); /** Command 模块 */ var module_1 = require("../command/module"); var module_2 = require("../model-service/module"); /** Extension 注册中心 */ var extension_registry_1 = require("./components/extension-registry"); Object.defineProperty(exports, "ExtensionRegistry", { enumerable: true, get: function () { return extension_registry_1.ExtensionRegistry; } }); /** 类型定义 */ var mana_syringe_1 = require("mana-syringe"); /** application */ var appMainModule = (0, mana_syringe_1.Module)(function (register) { /** 声明IFrontendApplicationContribution扩展点*/ mana_syringe_1.Contribution.register(register, application_1.IFrontendApplicationContribution); /** 声明 FrontendApplication */ register(application_1.FrontendApplication); }); var initApp = function (moduleRegistry) { var extensions = moduleRegistry.getAllExtensions(); var container = new mana_syringe_1.Container(); /** command */ /** react renderer */ /** 批量创建 extension module */ var modules = extensions.map(function (module) { var createModule = module.createModule, config = module.config; return createModule(config); }); /** 单独加载 appMainModule */ container.load(appMainModule); /** 单独加载 commandRegistryModule */ container.load(module_1.commandRegistryModule); // /** 单独加载 modelServiceModule */ container.load(module_2.modelServiceModule); /** * 批量加载 extension module * 包括:menu/toolbar/keybinding/graph */ modules.forEach(function (module) { container.load(module); }); var app = container.get(application_1.FrontendApplication); return app; }; exports.initApp = initApp; //# sourceMappingURL=application-module.js.map --- lib/xflow-main/graph/graph-provider.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerGraphModule = exports.GraphManager = exports.IModelServiceProvider = exports.ICommandServiceProvider = exports.IGraphProvider = void 0; var tslib_1 = require("tslib"); var react_dom_1 = tslib_1.__importDefault(require("react-dom")); var x6_1 = require("@antv/x6"); var disposable_1 = require("../../common/disposable"); var deferred_1 = require("../../common/deferred"); var config_1 = require("./config"); var mana_syringe_1 = require("mana-syringe"); var command_1 = require("../../command"); var interface_1 = require("../../model-service/interface"); var hooks_1 = require("../../hooks"); var context_1 = require("../../command-contributions/components/context"); var constants_1 = require("../../constants"); /** !!! 所有需要使用Graph相关信息的地方, 都统一使用IGraphProvider来获取 */ exports.IGraphProvider = Symbol('IGraphProvider'); exports.ICommandServiceProvider = Symbol('ICommandServiceProvider'); exports.IModelServiceProvider = Symbol('IModelServiceProvider'); var GraphManager = /** @class */ (function () { function GraphManager() { var _this = this; /** 处理画布实例的销毁 */ this.toDispose = new disposable_1.DisposableCollection(); /** 储存画布实例 */ this.graphMap = new Map(); /** 获取X6 Graph 实例 */ this.getGraph = function (graphId) { return tslib_1.__awaiter(_this, void 0, void 0, function () { var graphDefer, options_1, hooks_2, mergedOptions, graphContainer, edgeRender, nodeRender, edgeTypeParser_1, edgeRenderMap_1, clientHeight, clientWidth, commandService_1, modelService_1, graph_1; var _this = this; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: graphDefer = this.graphMap.get(graphId); if (!!graphDefer) return [3 /*break*/, 8]; graphDefer = new deferred_1.Deferred(); --- lib/xflow-main/components/app-context.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.XFlowAppProvider = exports.XFlowAppInternalProvider = exports.useXFlowAppContainer = exports.useXFlowApp = exports.XFlowAppContext = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); /** AppContext */ exports.XFlowAppContext = react_1.default.createContext(null); exports.XFlowAppContext.displayName = 'XFlowAppContext'; /** AppContext:获取 app */ var useXFlowApp = function () { var container = react_1.default.useContext(exports.XFlowAppContext); return container && container.getApp ? container.getApp() : null; }; exports.useXFlowApp = useXFlowApp; /** AppContext: 获取 appContainer */ var useXFlowAppContainer = function () { return react_1.default.useContext(exports.XFlowAppContext); }; exports.useXFlowAppContainer = useXFlowAppContainer; var AppContainer = /** @class */ (function () { function AppContainer(isUserDefined) { if (isUserDefined === void 0) { isUserDefined = false; } var _this = this; this.cache = null; this.setApp = function (app) { _this.cache = app; if (_this.onAppChangeCallback) { _this.onAppChangeCallback(app); } }; this.isUserDefined = function () { return _this.isUserDefinedFlag; }; this.getApp = function () { return _this.cache; }; this.onAppChange = function (cb) { _this.onAppChangeCallback = cb; }; this.dispose = function () { _this.cache = null; }; this.isUserDefinedFlag = isUserDefined; } return AppContainer; }()); /** XFlow内部使用 */ var XFlowAppInternalProvider = function (props) { var userDefinedAppContainer = (0, exports.useXFlowAppContainer)(); var _a = react_1.default.useState(null), setTick = _a[1]; var appContainer = react_1.default.useMemo(function () { return userDefinedAppContai --- lib/xflow-main/components/app-extension-module.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.XFlowAppExtensionModule = void 0; var tslib_1 = require("tslib"); var react_1 = tslib_1.__importDefault(require("react")); var extension_context_1 = require("./extension-context"); function XFlowAppExtensionModule(props) { var _this = this; var createModule = props.createModule, children = props.children; /** 获取扩展Registry */ var extensionRegistry = (0, extension_context_1.useExtensionRegistry)(); /** Config */ var config = react_1.default.useMemo(function () { return props.config || { CONFIG_TYPE: '', getConfig: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) { return [2 /*return*/, ({})]; }); }); } }; }, /* eslint-disable-next-line */ []); react_1.default.useEffect(function () { /** 注册 extension 到 Registry */ var disposable = extensionRegistry.addExtension({ config: config, createModule: createModule, }); return function () { disposable.dispose(); }; /* eslint-disable-next-line */ }, []); /** 可以 Wrap Children组件 */ if (Array.isArray(children) || react_1.default.isValidElement(children)) { return react_1.default.createElement(react_1.default.Fragment, null, " ", children, " "); } return null; } exports.XFlowAppExtensionModule = XFlowAppExtensionModule; //# sourceMappingURL=app-extension-module.js.map --- lib/xflow-main/components/extension-context.js (bundled) --- "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExtensionRegistry = exports.useExtensionRegistry = expo
