// npm 패키지
@codeplex-sac/ui
버전
14
메인테이너
2
최초 publish
2026-01-02
publisher
codeplexdev
tarball
882,510 B
AUTO-PUBLISHED·1개 버전 인덱싱됨·최근 publish: 2026-06-03
// exfil path
what is read → where it shipssteals
- ● Azure creds
sends to
(no destination string extracted — payload may be dynamic / obfuscated)
→ view full payload// offending code· @0.0.17· 3 files flagged
- @0.0.17··AUTO-PUBLISHED·publisher: codeplexdevheuristic 74/100static flags 3llm skippednew-publisher:0dfirst-version-suspicious-publishermature-packagepublisher-multi-name-burst:10publisher-version-pump:11reads-env-varschild-process-spawnreads-azure-creds
// offending code· 3 files flaggedpatterns: 3
--- package/index.cjs (excerpt) --- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react/jsx-runtime"),le=require("react"),re=require("@mui/system"),Qs=require("@emotion/styled");require("@emotion/react");const W=require("@mui/material"),ur=require("react-dom"),Yo=require("nextstepjs"),Po=require("@mui/icons-material"),Yn=require("@codeplex-sac/inputs"),mt=require("@codeplex-sac/feedback");function sa(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const E=sa(le),el=sa(ur),tl={};function rl(){return h.jsx("div",{className:tl.container,children:h.jsx("h1",{children:"Welcome to Ui!"})})}function ol(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ir={exports:{}},Nr={exports:{}},be={};var Kn;function nl(){if(Kn)return be;Kn=1;var e=typeof Symbol=="function"&&Symbol.for,t=e?Symbol.for("react.element"):60103,r=e?Symbol.for("react.portal"):60106,n=e?Symbol.for("react.fragment"):60107,i=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,s=e?Symbol.for("react.provider"):60109,l=e?Symbol.for("react.context"):60110,c=e?Symbol.for("react.async_mode"):60111,u=e?Symbol.for("react.concurrent_mode"):60111,p=e?Symbol.for("react.forward_ref"):60112,m=e?Symbol.for("react.suspense"):60113,y=e?Symbol.for( --- package/index.js (excerpt) --- import { jsx as b, jsxs as Y, Fragment as Gs } from "react/jsx-runtime"; import * as E from "react"; import Ge, { isValidElement as Qr, cloneElement as en, Children as Ys, useState as xt, useRef as or, useEffect as ei, createElement as Ks, useCallback as rr } from "react"; import { unstable_createGetCssVar as Xs, createSpacing as Zs, useTheme as Js, GlobalStyles as Qs, unstable_memoTheme as el, keyframes as Xe, css as qt, alpha as he, createBox as tl } from "@mui/system"; import rl from "@emotion/styled"; import "@emotion/react"; import { useTheme as Gt, ClickAwayListener as nl, Box as $e, Popper as ol, Fade as il, Paper as al, alpha as Fe, Typography as Ve, Chip as sl, Button as nn, IconButton as fa, LinearProgress as ll } from "@mui/material"; import * as cl from "react-dom"; import Lr from "react-dom"; import { NextStepProvider as ul, NextStepReact as pl } from "nextstepjs"; import { useNextStep as my } from "nextstepjs"; import { Close as dl, ArrowBack as fl, ArrowForward as ml } from "@mui/icons-material"; export * from "@codeplex-sac/inputs"; import { CodeplexDialogo as yy, CodeplexDialogoAcciones as by, CodeplexDialogoContenido as vy, CodeplexDialogoTexto as xy, CodeplexDialogoTitulo as Cy, CodeplexMensajeEmergente as wy, CodeplexNotificacion as Ty, CodeplexToast as Ey, CodeplexTooltip as Sy, CodeplexTostada as Oy } from "@codeplex-sac/feedback"; const hl = {}; function Vg() { return /* @__PURE__ */ b("div", { className: hl.container, children: /* @__PURE__ */ b("h1" --- package/lib/tour/tour.d.ts (excerpt) --- import { default as React } from 'react'; import { Step, CardComponentProps } from 'nextstepjs'; export { useNextStep } from 'nextstepjs'; export type { Tour as CodeplexTourDefinicion, Step as CodeplexPasoTour, CardComponentProps as CodeplexTarjetaTourProps } from 'nextstepjs'; /** Paso individual del tour con API en español */ export interface CodeplexPaso { /** Icono del paso (ReactNode o emoji string) */ icono?: React.ReactNode | string | null; /** Título del paso */ titulo: string; /** Contenido/descripción del paso */ contenido: React.ReactNode; /** Selector CSS del elemento objetivo (ej: '#mi-boton', '.mi-clase') */ selector?: string; /** Posición de la tarjeta respecto al elemento */ posicion?: Step['side']; /** Mostrar controles de navegación */ mostrarControles?: boolean; /** Mostrar botón de saltar */ mostrarSaltar?: boolean; /** Padding del puntero alrededor del elemento */ paddingPuntero?: number; /** Radio del borde del puntero */ radioPuntero?: number; /** Deshabilitar interacción con el elemento resaltado */ deshabilitarInteraccion?: boolean; /** Ruta a navegar en el siguiente paso */ siguienteRuta?: string; /** Ruta a navegar en el paso anterior */ anteriorRuta?: string; /** ID del viewport contenedor */ viewportId?: string; } /** Definición de un tour completo */ export interface CodeplexDefinicionTour { /** Identificador único del tour */ id: strin
