scriptguard 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AACA,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpC,yCAAoC;AACpC,4CAA8B;AAC9B,gDAAkC;AAElC,kDAAkG;AAElG,MAAM,UAAU,GAA8B;IAC5C,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,IAAI;IACZ,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF,MAAM,WAAW,GAA8B;IAC7C,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,KAAK,GAAG,UAAU,CAAC;AAEzB,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,GAAG,CAAC,IAAY;IACvB,OAAO,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,KAAgB;IACjC,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,MAAM,CAAC,mBAAmB,+BAA+B,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC;IAC5J,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,6CAA6C,KAAK,EAAE,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,UAAU;IACV,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC,gBAAgB,OAAO,CAAC,CAAC;IACrG,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,aAAa,YAAY,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC,QAAQ,eAAe,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,eAAe,CAAC,IAAI,WAAW,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,aAAa,UAAU,CAAC,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,CAAC;IAE3S,sBAAsB;IACtB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,+BAA+B,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,2BAA2B,GAAG,KAAK,EAAE,CAAC,CAAC;QAC3G,KAAK,CAAC,IAAI,CAAC,2BAA2B,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,uBAAuB,GAAG,KAAK,EAAE,CAAC,CAAC;QAC9G,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,uBAAuB;IACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAE7C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,SAAS,OAAO,CAAC,CAAC;QAElI,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACtG,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrG,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;YACpD,CAAC;YAED,mCAAmC;YACnC,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjE,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAClD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnE,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACpE,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;wBAC5B,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;oBAC7E,CAAC;oBACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBACxB,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC7I,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,qCAAqC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,oDAAoD,CAAC,EAAE,CAAC,CAAC;QAC7E,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,kEAAkE,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,UAAU,CAAC,MAAkB;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,WAAW,CAAC,MAAkB;IACrC,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,sGAAsG;QAC/G,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,CAAC;gBACL,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,aAAa;wBACnB,OAAO,EAAE,OAAO;wBAChB,cAAc,EAAE,6CAA6C;wBAC7D,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACrB,EAAE,EAAE,CAAC,CAAC,OAAO;4BACb,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;4BACzC,oBAAoB,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE;yBACzD,CAAC,CAAC,CACJ;qBACF;iBACF;gBACD,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACrC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrB,MAAM,EAAE,CAAC,CAAC,OAAO;oBACjB,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;oBAClE,SAAS,EAAE,CAAC;4BACV,gBAAgB,EAAE;gCAChB,gBAAgB,EAAE,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC,IAAI,eAAe,EAAE;6BACjE;yBACF,CAAC;iBACH,CAAC,CAAC,CACJ;aACF,CAAC;KACH,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,UAAU,CAAC,KAAgB;IAClC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAAC;QAC5B,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;QAChC,KAAK,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,oDAAoD,CAAC;KACjE,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,mBAAmB,EAAE,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KAC1D,MAAM,CAAC,eAAe,EAAE,yBAAyB,EAAE,KAAK,CAAC;KACzD,MAAM,CAAC,oBAAoB,EAAE,yDAAyD,EAAE,KAAK,CAAC;KAC9F,MAAM,CAAC,mBAAmB,EAAE,qDAAqD,EAAE,EAAE,CAAC;KACtF,MAAM,CAAC,uBAAuB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KAC5E,MAAM,CAAC,MAAM,EAAE,oCAAoC,CAAC;KACpD,MAAM,CAAC,kBAAkB,EAAE,6CAA6C,EAAE,UAAU,CAAC;KACrF,MAAM,CAAC,iBAAiB,EAAE,kDAAkD,EAAE,IAAI,CAAC;KACnF,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,EAAE,MAAM,CAAC;KAC3E,MAAM,CAAC,mBAAmB,EAAE,oCAAoC,EAAE,OAAO,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;IACrB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAc,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,MAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEvE,wCAAwC;IACxC,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAC/E,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,8BAA8B;QAC9B,MAAM,SAAS,GAA0B,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,UAAU;YAC/B,UAAU,EAAE,IAAI,CAAC,YAAY,KAAK,KAAK;YACvC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC;YAC/C,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;SAC7C,CAAC,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,MAAM,GAAG,MAAM,IAAA,sBAAW,EAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;YACpC,YAAY,EAAE,OAAO;YACrB,MAAM;YACN,SAAS;YACT,EAAE,EAAE,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,QAAQ,EAAE,IAAA,4BAAiB,EAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;aACtD,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;YACnD,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC1C,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAExB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,IAAI,SAAS,IAAI,IAAA,qBAAU,EAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yDAAyD,CAAC;KACtE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;KAC1C,MAAM,CAAC,uBAAuB,EAAE,kCAAkC,EAAE,OAAO,CAAC;KAC5E,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,yBAAyB,QAAQ,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,0BAAe,EAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;QACnD,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;YAC1C,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC3D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;YACjG,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /** ScriptGuard — Public API exports */
2
- export { scanProject, scanPackageJson, shouldFail, filterByRiskLevel } from './scanners/index.js';
2
+ export { scanProject, scanPackageJson, scanPackageJsonWithAI, shouldFail, filterByRiskLevel } from './scanners/index.js';
3
3
  export { analyzePackage, scanInstalledPackages, scanSinglePackage } from './scanners/lifecycle.js';
4
4
  export { PATTERN_RULES } from './scanners/patterns.js';
5
- export type { Finding, PackageAnalysis, ScanResult, ScanOptions, PatternRule, RiskLevel, } from './types/index.js';
5
+ export type { Finding, PackageAnalysis, ScanResult, ScanOptions, PatternRule, RiskLevel, AIOptions, AIMode, AIAnalysis, AIInsight, } from './types/index.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EACV,OAAO,EACP,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AAEvC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,qBAAqB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzH,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EACV,OAAO,EACP,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,SAAS,GACV,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  /** ScriptGuard — Public API exports */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.PATTERN_RULES = exports.scanSinglePackage = exports.scanInstalledPackages = exports.analyzePackage = exports.filterByRiskLevel = exports.shouldFail = exports.scanPackageJson = exports.scanProject = void 0;
4
+ exports.PATTERN_RULES = exports.scanSinglePackage = exports.scanInstalledPackages = exports.analyzePackage = exports.filterByRiskLevel = exports.shouldFail = exports.scanPackageJsonWithAI = exports.scanPackageJson = exports.scanProject = void 0;
5
5
  var index_js_1 = require("./scanners/index.js");
6
6
  Object.defineProperty(exports, "scanProject", { enumerable: true, get: function () { return index_js_1.scanProject; } });
7
7
  Object.defineProperty(exports, "scanPackageJson", { enumerable: true, get: function () { return index_js_1.scanPackageJson; } });
8
+ Object.defineProperty(exports, "scanPackageJsonWithAI", { enumerable: true, get: function () { return index_js_1.scanPackageJsonWithAI; } });
8
9
  Object.defineProperty(exports, "shouldFail", { enumerable: true, get: function () { return index_js_1.shouldFail; } });
9
10
  Object.defineProperty(exports, "filterByRiskLevel", { enumerable: true, get: function () { return index_js_1.filterByRiskLevel; } });
10
11
  var lifecycle_js_1 = require("./scanners/lifecycle.js");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;AAEvC,gDAAkG;AAAzF,uGAAA,WAAW,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AACpE,wDAAmG;AAA1F,8GAAA,cAAc,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AACjE,sDAAuD;AAA9C,4GAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;AAEvC,gDAAyH;AAAhH,uGAAA,WAAW,OAAA;AAAE,2GAAA,eAAe,OAAA;AAAE,iHAAA,qBAAqB,OAAA;AAAE,sGAAA,UAAU,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAC3F,wDAAmG;AAA1F,8GAAA,cAAc,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AACjE,sDAAuD;AAA9C,4GAAA,aAAa,OAAA"}
@@ -0,0 +1,11 @@
1
+ /** ScriptGuard — AST-based pattern detection (Layer 2) */
2
+ import type { ASTFinding } from '../types/index.js';
3
+ /**
4
+ * Analyze script content using AST to detect structural patterns
5
+ * that regex cannot see (dynamic require, computed eval, etc.)
6
+ *
7
+ * @param scriptContent - The JavaScript code to analyze
8
+ * @returns Array of AST findings (empty if parse fails or no patterns found)
9
+ */
10
+ export declare function analyzeScriptAST(scriptContent: string): ASTFinding[];
11
+ //# sourceMappingURL=ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/scanners/ast.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAI1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAoBpD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,GACpB,UAAU,EAAE,CA4Gd"}
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ /** ScriptGuard — AST-based pattern detection (Layer 2) */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.analyzeScriptAST = analyzeScriptAST;
38
+ const acorn_1 = require("acorn");
39
+ const walk = __importStar(require("acorn-walk"));
40
+ /**
41
+ * Dangerous objects that we want to track access to
42
+ */
43
+ const DANGEROUS_OBJECTS = new Set([
44
+ 'process',
45
+ 'fs',
46
+ 'child_process',
47
+ 'net',
48
+ 'http',
49
+ 'https',
50
+ 'url',
51
+ 'path',
52
+ 'os',
53
+ 'crypto',
54
+ 'vm',
55
+ 'cluster',
56
+ ]);
57
+ /**
58
+ * Analyze script content using AST to detect structural patterns
59
+ * that regex cannot see (dynamic require, computed eval, etc.)
60
+ *
61
+ * @param scriptContent - The JavaScript code to analyze
62
+ * @returns Array of AST findings (empty if parse fails or no patterns found)
63
+ */
64
+ function analyzeScriptAST(scriptContent) {
65
+ // Skip large scripts (>1MB) to prevent memory issues
66
+ if (scriptContent.length > 1_000_000) {
67
+ return [];
68
+ }
69
+ let ast;
70
+ try {
71
+ ast = (0, acorn_1.parse)(scriptContent, {
72
+ ecmaVersion: 'latest',
73
+ sourceType: 'script',
74
+ });
75
+ }
76
+ catch (error) {
77
+ // Malformed JavaScript — return empty array (graceful degradation)
78
+ return [];
79
+ }
80
+ const findings = [];
81
+ // Walk the AST and detect patterns
82
+ walk.simple(ast, {
83
+ // Detect: require(variable), require(computed), require('child_' + 'process')
84
+ CallExpression(node) {
85
+ const callee = node.callee;
86
+ // Pattern 1: Dynamic require()
87
+ if (callee.type === 'Identifier' && callee.name === 'require') {
88
+ if (node.arguments.length > 0) {
89
+ const arg = node.arguments[0];
90
+ // Flag if argument is NOT a literal string
91
+ if (!isLiteral(arg)) {
92
+ findings.push({
93
+ pattern: 'ast-dynamic-require',
94
+ description: 'Dynamic require() with non-literal argument — may load arbitrary modules',
95
+ riskLevel: 'high',
96
+ nodeType: 'CallExpression',
97
+ match: extractMatch(scriptContent, node),
98
+ });
99
+ }
100
+ }
101
+ }
102
+ // Pattern 2: Computed eval() or Function()
103
+ if ((callee.type === 'Identifier' && (callee.name === 'eval' || callee.name === 'Function')) ||
104
+ (callee.type === 'MemberExpression' &&
105
+ callee.property.type === 'Identifier' &&
106
+ (callee.property.name === 'eval' || callee.property.name === 'Function'))) {
107
+ if (node.arguments.length > 0) {
108
+ const arg = node.arguments[0];
109
+ // Flag if argument is NOT a literal string
110
+ if (!isLiteral(arg)) {
111
+ findings.push({
112
+ pattern: 'ast-computed-eval',
113
+ description: 'Computed eval() or Function() — may execute arbitrary code',
114
+ riskLevel: 'critical',
115
+ nodeType: 'CallExpression',
116
+ match: extractMatch(scriptContent, node),
117
+ });
118
+ }
119
+ }
120
+ }
121
+ },
122
+ // Pattern 3: Computed property access on dangerous objects
123
+ // Example: process.env[computed], fs['read' + 'File']
124
+ MemberExpression(node) {
125
+ if (node.computed) {
126
+ // Check if object is dangerous
127
+ const objectName = getObjectName(node.object);
128
+ if (objectName && DANGEROUS_OBJECTS.has(objectName)) {
129
+ // Flag if property is computed (not a literal)
130
+ if (!isLiteral(node.property)) {
131
+ findings.push({
132
+ pattern: 'ast-computed-property',
133
+ description: `Computed property access on ${objectName} — may bypass keyword detection`,
134
+ riskLevel: 'high',
135
+ nodeType: 'MemberExpression',
136
+ match: extractMatch(scriptContent, node),
137
+ });
138
+ }
139
+ }
140
+ }
141
+ },
142
+ // Pattern 4: String concatenation building dangerous keywords
143
+ // Example: 'child_' + 'process', 'eval' + variable
144
+ BinaryExpression(node) {
145
+ if (node.operator === '+') {
146
+ const built = tryResolveBinaryExpression(node);
147
+ if (built && containsDangerousKeyword(built)) {
148
+ findings.push({
149
+ pattern: 'ast-string-building',
150
+ description: 'String concatenation building dangerous keywords — possible obfuscation',
151
+ riskLevel: 'medium',
152
+ nodeType: 'BinaryExpression',
153
+ match: extractMatch(scriptContent, node),
154
+ });
155
+ }
156
+ }
157
+ },
158
+ });
159
+ return findings;
160
+ }
161
+ /**
162
+ * Check if an AST node is a literal (string, number, boolean, null)
163
+ */
164
+ function isLiteral(node) {
165
+ if (!node)
166
+ return false;
167
+ if (node.type === 'Literal') {
168
+ return true;
169
+ }
170
+ // Template literals with no expressions are literals
171
+ if (node.type === 'TemplateLiteral') {
172
+ return node.expressions.length === 0;
173
+ }
174
+ return false;
175
+ }
176
+ /**
177
+ * Get the name of an object from a MemberExpression or Identifier
178
+ */
179
+ function getObjectName(node) {
180
+ if (!node)
181
+ return null;
182
+ if (node.type === 'Identifier') {
183
+ return node.name;
184
+ }
185
+ if (node.type === 'MemberExpression') {
186
+ return getObjectName(node.object);
187
+ }
188
+ return null;
189
+ }
190
+ /**
191
+ * Try to resolve a binary expression to a string
192
+ * Returns null if resolution fails
193
+ */
194
+ function tryResolveBinaryExpression(node) {
195
+ if (!node)
196
+ return null;
197
+ // If it's a literal, return its value
198
+ if (node.type === 'Literal' && typeof node.value === 'string') {
199
+ return node.value;
200
+ }
201
+ // If it's a binary expression, try to resolve both sides
202
+ if (node.type === 'BinaryExpression' && node.operator === '+') {
203
+ const left = tryResolveBinaryExpression(node.left);
204
+ const right = tryResolveBinaryExpression(node.right);
205
+ if (left !== null && right !== null) {
206
+ return left + right;
207
+ }
208
+ }
209
+ return null;
210
+ }
211
+ /**
212
+ * Check if a string contains dangerous keywords
213
+ */
214
+ function containsDangerousKeyword(str) {
215
+ const lower = str.toLowerCase();
216
+ const dangerousKeywords = [
217
+ 'eval',
218
+ 'function',
219
+ 'require',
220
+ 'exec',
221
+ 'spawn',
222
+ 'child_process',
223
+ 'process.env',
224
+ 'fs.',
225
+ 'http.',
226
+ 'net.',
227
+ ];
228
+ for (const keyword of dangerousKeywords) {
229
+ if (lower.includes(keyword)) {
230
+ return true;
231
+ }
232
+ }
233
+ return false;
234
+ }
235
+ /**
236
+ * Extract the source code for a given AST node
237
+ */
238
+ function extractMatch(scriptContent, node) {
239
+ if (!node || !node.loc) {
240
+ return '';
241
+ }
242
+ try {
243
+ const lines = scriptContent.split('\n');
244
+ const startLine = node.loc.start.line - 1; // 0-indexed
245
+ const endLine = node.loc.end.line - 1;
246
+ const startCol = node.loc.start.column;
247
+ const endCol = node.loc.end.column;
248
+ if (startLine === endLine) {
249
+ // Single line
250
+ const line = lines[startLine];
251
+ return line.substring(startCol, endCol);
252
+ }
253
+ else {
254
+ // Multi-line
255
+ let result = lines[startLine].substring(startCol);
256
+ for (let i = startLine + 1; i < endLine; i++) {
257
+ result += '\n' + lines[i];
258
+ }
259
+ result += '\n' + lines[endLine].substring(0, endCol);
260
+ return result;
261
+ }
262
+ }
263
+ catch {
264
+ return '';
265
+ }
266
+ }
267
+ //# sourceMappingURL=ast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../src/scanners/ast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** ScriptGuard — Simplified deobfuscation (Layer 3, decode-only, NO code execution) */
2
+ import type { DeobfuscationResult } from '../types/index.js';
3
+ /**
4
+ * Deobfuscate a script by decoding obvious encoding layers.
5
+ * This is a DECODE-ONLY approach — NO code execution.
6
+ *
7
+ * @param scriptContent - The obfuscated JavaScript code
8
+ * @param maxIterations - Maximum decode iterations (default: 2)
9
+ * @returns Deobfuscation result with deobfuscated code and metadata
10
+ */
11
+ export declare function deobfuscateScript(scriptContent: string, maxIterations?: number): DeobfuscationResult;
12
+ //# sourceMappingURL=deobfuscation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deobfuscation.d.ts","sourceRoot":"","sources":["../../src/scanners/deobfuscation.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAGvF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,MAAM,EACrB,aAAa,GAAE,MAAU,GACxB,mBAAmB,CAiFrB"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ /** ScriptGuard — Simplified deobfuscation (Layer 3, decode-only, NO code execution) */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.deobfuscateScript = deobfuscateScript;
5
+ const acorn_1 = require("acorn");
6
+ /**
7
+ * Deobfuscate a script by decoding obvious encoding layers.
8
+ * This is a DECODE-ONLY approach — NO code execution.
9
+ *
10
+ * @param scriptContent - The obfuscated JavaScript code
11
+ * @param maxIterations - Maximum decode iterations (default: 2)
12
+ * @returns Deobfuscation result with deobfuscated code and metadata
13
+ */
14
+ function deobfuscateScript(scriptContent, maxIterations = 2) {
15
+ // Skip large scripts (>1MB) to prevent memory issues
16
+ if (scriptContent.length > 1_000_000) {
17
+ return {
18
+ deobfuscated: scriptContent,
19
+ iterations: 0,
20
+ techniques: [],
21
+ success: false,
22
+ };
23
+ }
24
+ let current = scriptContent;
25
+ const techniques = [];
26
+ let iterations = 0;
27
+ for (let i = 0; i < maxIterations; i++) {
28
+ const previous = current;
29
+ const iterationTechniques = [];
30
+ // Layer 1: Base64 decoding
31
+ current = decodeBase64Layers(current, iterationTechniques);
32
+ // Layer 2: Hex escape decoding
33
+ current = decodeHexEscapes(current, iterationTechniques);
34
+ // Layer 3: Unicode escape decoding
35
+ current = decodeUnicodeEscapes(current, iterationTechniques);
36
+ // Check if we made progress
37
+ if (current === previous) {
38
+ break;
39
+ }
40
+ techniques.push(...iterationTechniques);
41
+ iterations++;
42
+ // Safety: Stop if script becomes too large (exponential unpacking prevention)
43
+ if (current.length > scriptContent.length * 10) {
44
+ // Script grew too much — potential unpacking bomb
45
+ return {
46
+ deobfuscated: scriptContent, // Return original
47
+ iterations: 0,
48
+ techniques: [],
49
+ success: false,
50
+ };
51
+ }
52
+ }
53
+ // Validate that deobfuscated code is still valid JavaScript
54
+ if (iterations > 0) {
55
+ try {
56
+ (0, acorn_1.parse)(current, {
57
+ ecmaVersion: 'latest',
58
+ sourceType: 'script',
59
+ });
60
+ // Deobfuscated successfully and is valid JS
61
+ return {
62
+ deobfuscated: current,
63
+ iterations,
64
+ techniques,
65
+ success: true,
66
+ };
67
+ }
68
+ catch {
69
+ // Deobfuscation produced invalid syntax — return original
70
+ return {
71
+ deobfuscated: scriptContent,
72
+ iterations: 0,
73
+ techniques: [],
74
+ success: false,
75
+ };
76
+ }
77
+ }
78
+ // No deobfuscation occurred
79
+ return {
80
+ deobfuscated: scriptContent,
81
+ iterations: 0,
82
+ techniques: [],
83
+ success: false,
84
+ };
85
+ }
86
+ /**
87
+ * Decode base64-encoded strings in the script.
88
+ * Detects: atob(...), Buffer.from(..., 'base64'), base64 -d patterns
89
+ *
90
+ * Only decodes OBVIOUS patterns (no nested expressions) to avoid false positives.
91
+ */
92
+ function decodeBase64Layers(script, techniques) {
93
+ let result = script;
94
+ // Pattern 1: atob('base64string')
95
+ const atobPattern = /atob\s*\(\s*(['"`])([A-Za-z0-9+/=]+)\1\s*\)/g;
96
+ result = result.replace(atobPattern, (match, quote, base64) => {
97
+ try {
98
+ const decoded = Buffer.from(base64, 'base64').toString('utf-8');
99
+ // Only replace if decoded looks like valid text (no control characters)
100
+ if (/^[\x20-\x7E\s]*$/.test(decoded)) {
101
+ techniques.push('base64-atob');
102
+ return JSON.stringify(decoded); // Return as quoted string
103
+ }
104
+ }
105
+ catch {
106
+ // Invalid base64 — return original
107
+ }
108
+ return match;
109
+ });
110
+ // Pattern 2: Buffer.from('base64string', 'base64')
111
+ const bufferPattern = /Buffer\.from\s*\(\s*(['"`])([A-Za-z0-9+/=]+)\1\s*,\s*['"`]base64['"`]\s*\)/g;
112
+ result = result.replace(bufferPattern, (match, quote, base64) => {
113
+ try {
114
+ const decoded = Buffer.from(base64, 'base64').toString('utf-8');
115
+ if (/^[\x20-\x7E\s]*$/.test(decoded)) {
116
+ techniques.push('base64-buffer');
117
+ return JSON.stringify(decoded);
118
+ }
119
+ }
120
+ catch {
121
+ // Invalid base64
122
+ }
123
+ return match;
124
+ });
125
+ // Pattern 3: .toString('base64') chains (reverse)
126
+ // This is more complex and may produce false positives, so be conservative
127
+ const toStringPattern = /\.toString\s*\(\s*['"`]base64['"`]\s*\)/g;
128
+ // Don't auto-replace these — they're harder to detect safely
129
+ return result;
130
+ }
131
+ /**
132
+ * Decode hexadecimal escape sequences: \xNN
133
+ */
134
+ function decodeHexEscapes(script, techniques) {
135
+ let result = script;
136
+ let hasDecoded = false;
137
+ // Match \xNN patterns (where NN are hex digits)
138
+ const hexPattern = /\\x([0-9a-fA-F]{2})/g;
139
+ result = result.replace(hexPattern, (match, hex) => {
140
+ const charCode = parseInt(hex, 16);
141
+ const char = String.fromCharCode(charCode);
142
+ hasDecoded = true;
143
+ return char;
144
+ });
145
+ if (hasDecoded) {
146
+ techniques.push('hex-escape');
147
+ }
148
+ return result;
149
+ }
150
+ /**
151
+ * Decode Unicode escape sequences: \uNNNN
152
+ */
153
+ function decodeUnicodeEscapes(script, techniques) {
154
+ let result = script;
155
+ let hasDecoded = false;
156
+ // Match \uNNNN patterns (where NNNN are hex digits)
157
+ const unicodePattern = /\\u([0-9a-fA-F]{4})/g;
158
+ result = result.replace(unicodePattern, (match, hex) => {
159
+ const charCode = parseInt(hex, 16);
160
+ const char = String.fromCharCode(charCode);
161
+ hasDecoded = true;
162
+ return char;
163
+ });
164
+ if (hasDecoded) {
165
+ techniques.push('unicode-escape');
166
+ }
167
+ return result;
168
+ }
169
+ //# sourceMappingURL=deobfuscation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deobfuscation.js","sourceRoot":"","sources":["../../src/scanners/deobfuscation.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare function scanProject(options: ScanOptions & {
5
5
  }): Promise<ScanResult>;
6
6
  export declare function scanProjectSync(options: ScanOptions): ScanResult;
7
7
  export declare function scanPackageJson(filePath: string): ScanResult;
8
+ export declare function scanPackageJsonWithAI(filePath: string, aiOptions?: AIOptions): Promise<ScanResult>;
8
9
  export declare function shouldFail(result: ScanResult, failLevel?: RiskLevel): boolean;
9
10
  export declare function filterByRiskLevel(analyses: PackageAnalysis[], minLevel: RiskLevel): PackageAnalysis[];
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAsDxH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBhG;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAIhE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS5D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAM7E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,SAAS,GAAG,eAAe,EAAE,CAQrG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AAEtC,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAsDxH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,EAAE,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAqBhG;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAIhE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAS5D;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAaxG;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAM7E;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,SAAS,GAAG,eAAe,EAAE,CAQrG"}
@@ -37,6 +37,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.scanProject = scanProject;
38
38
  exports.scanProjectSync = scanProjectSync;
39
39
  exports.scanPackageJson = scanPackageJson;
40
+ exports.scanPackageJsonWithAI = scanPackageJsonWithAI;
40
41
  exports.shouldFail = shouldFail;
41
42
  exports.filterByRiskLevel = filterByRiskLevel;
42
43
  const lifecycle_js_1 = require("./lifecycle.js");
@@ -86,7 +87,7 @@ function aggregateResults(analyses, startTime) {
86
87
  }
87
88
  async function scanProject(options) {
88
89
  const startTime = Date.now();
89
- const analyses = (0, lifecycle_js_1.scanInstalledPackages)(options.path, options.includeDev);
90
+ const analyses = (0, lifecycle_js_1.scanInstalledPackages)(options.path, options.includeDev, { ast: options.ast, deobfuscate: options.deobfuscate });
90
91
  let result = aggregateResults(analyses, startTime);
91
92
  // Phase 2: AI analysis (opt-in)
92
93
  if (options.ai?.enabled) {
@@ -112,6 +113,19 @@ function scanPackageJson(filePath) {
112
113
  const analysis = (0, lifecycle_js_1.analyzePackage)(JSON.parse(content).name || path.basename(path.dirname(filePath)), JSON.parse(content).version || 'unknown', JSON.parse(content).scripts || {});
113
114
  return aggregateResults([analysis], startTime);
114
115
  }
116
+ async function scanPackageJsonWithAI(filePath, aiOptions) {
117
+ let result = scanPackageJson(filePath);
118
+ if (aiOptions?.enabled) {
119
+ try {
120
+ result = await enrichWithAI(result, aiOptions);
121
+ }
122
+ catch (error) {
123
+ console.warn(`\n ⚠️ AI analysis failed: ${error.message}`);
124
+ console.warn(' Continuing with regex-based scanning only.\n');
125
+ }
126
+ }
127
+ return result;
128
+ }
115
129
  function shouldFail(result, failLevel) {
116
130
  if (!failLevel)
117
131
  return false;