{"_id":"@aikidosec/zen-internals","_rev":"13-e854b44e6325ba0b92e9c8e962fe0a16","name":"@aikidosec/zen-internals","dist-tags":{"latest":"0.1.18"},"versions":{"0.1.0":{"name":"@aikidosec/zen-internals","version":"0.1.0","_id":"@aikidosec/zen-internals@0.1.0","maintainers":[{"name":"hansaikido","email":"hans@aikido.dev"},{"name":"willem-delbare","email":"willem@aikido.dev"}],"homepage":"https://github.com/AikidoSec/zen-internals#readme","bugs":{"url":"https://github.com/AikidoSec/zen-internals/issues"},"dist":{"shasum":"ff1eb9df60ed9165d8a6ad7f736ed6135d726788","tarball":"https://registry.npmjs.org/@aikidosec/zen-internals/-/zen-internals-0.1.0.tgz","fileCount":5,"integrity":"sha512-JfNgngLuHDlKsbYVAGZqXtsBv6MWyilx+902d2f5MfSdXMvd0BDMNihbqz6jY50a8gOt4yJ1+kyGOwPwel9leQ==","signatures":[{"sig":"MEUCIDRFMztE6GVAiHrYSnlO8xBvgmDXtJMqWkvoZMCSz58bAiEAlBD5rS+EYzVn/js/rQaR0Z/Rrei1guDFfWQhB8FNxFU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aikidosec%2fzen-internals@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2825442},"main":"zen_internals.js","types":"zen_internals.d.ts","gitHead":"389b0be387b56a00e48003d9978ca29f3647b75c","_npmUser":{"name":"willem-delbare","email":"willem@aikido.dev"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/AikidoSec/zen-internals.git","type":"git"},"_npmVersion":"10.7.0","description":"Zen Internals is a library that can be used via FFI in different languages. Contains vulnerability code, like :  - Shell Injection (WIP) - SQL Injection","directories":{},"_nodeVersion":"18.20.4","collaborators":["Aikido Security"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zen-internals_0.1.0_1727434003927_0.9216985574334993","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@aikidosec/zen-internals","version":"0.1.2","_id":"@aikidosec/zen-internals@0.1.2","maintainers":[{"name":"hansaikido","email":"hans@aikido.dev"},{"name":"willem-delbare","email":"willem@aikido.dev"}],"homepage":"https://github.com/AikidoSec/zen-internals#readme","bugs":{"url":"https://github.com/AikidoSec/zen-internals/issues"},"dist":{"shasum":"3b801fb124d5c964d26479fd0c4e9a69a9b84e94","tarball":"https://registry.npmjs.org/@aikidosec/zen-internals/-/zen-internals-0.1.2.tgz","fileCount":5,"integrity":"sha512-bi1dakrzCG5CiBWUuBTj+QGuv8VCUhMDOQcErMdAF2JF3OdBrX0+pFVbrEjkchY+DgRq65Ky2M+etV5NmIeuwA==","signatures":[{"sig":"MEUCIQCvj01StH/fDdF0ngr6eGGkP5KuH2DGvf5RQW4L1BUEGgIgOHi1T4gl1u+hByvkWhdNfTq3ezM7O9kJbX+H7Q9+bWo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aikidosec%2fzen-internals@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2825443},"main":"zen_internals.js","types":"zen_internals.d.ts","gitHead":"7fe2faf1db910976da12767c8549ecfe390e7abf","_npmUser":{"name":"willem-delbare","email":"willem@aikido.dev"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/AikidoSec/zen-internals.git","type":"git"},"_npmVersion":"10.7.0","description":"Zen Internals is a library that can be used via FFI in different languages. Contains vulnerability code, like :  - Shell Injection (WIP) - SQL Injection","directories":{},"_nodeVersion":"18.20.4","collaborators":["Aikido Security"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zen-internals_0.1.2_1727437871008_0.40283731985930804","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"@aikidosec/zen-internals","version":"0.1.7","_id":"@aikidosec/zen-internals@0.1.7","maintainers":[{"name":"hansaikido","email":"hans@aikido.dev"},{"name":"willem-delbare","email":"willem@aikido.dev"}],"homepage":"https://github.com/AikidoSec/zen-internals#readme","bugs":{"url":"https://github.com/AikidoSec/zen-internals/issues"},"dist":{"shasum":"08b5e9c7f33735006ca7d08d264ba0c3ae61c0e6","tarball":"https://registry.npmjs.org/@aikidosec/zen-internals/-/zen-internals-0.1.7.tgz","fileCount":4,"integrity":"sha512-TnGUjoE7fCAAHotrrr0oX25y7aF5Af8Bg4s5xXnr8TA4J/lbErwyf1tCXVZDrC/smA6s4Dn8piT++sFcemiUFQ==","signatures":[{"sig":"MEUCIQD0xCERYl9VxF7okFq5navr3xmKvWSLRAH/aQRDQANPlwIgBmBcMEVK0KadREZuZadH65QiAh+ObwlZyuOc9HVvLZQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3474510},"main":"zen_internals.js","types":"zen_internals.d.ts","gitHead":"e312be9068eb0c5feba79a460a229a74d0e24630","private":false,"_npmUser":{"name":"willem-delbare","email":"willem@aikido.dev"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","repository":{"url":"git+https://github.com/AikidoSec/zen-internals.git","type":"git"},"_npmVersion":"9.9.3","directories":{},"_nodeVersion":"18.0.0","collaborators":["Aikido Security"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zen-internals_0.1.7_1727880175648_0.19585468564009978","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"@aikidosec/zen-internals","version":"0.1.10","_id":"@aikidosec/zen-internals@0.1.10","maintainers":[{"name":"hansaikido","email":"hans@aikido.dev"},{"name":"willem-delbare","email":"willem@aikido.dev"}],"dist":{"shasum":"aa40e80019a2eb1d7198445d3717f31ba1fa4df1","tarball":"https://registry.npmjs.org/@aikidosec/zen-internals/-/zen-internals-0.1.10.tgz","fileCount":6,"integrity":"sha512-PmGYg457RcBw3PWawnZKvZ4it2Xin/F7QLOuYD9ZB+TKucmlMod5PbkNy136PYxECXCAPvcY/HUPDsFSwUSQqw==","signatures":[{"sig":"MEUCIQDWxX03NtWSwHWEC7JfNGWkqTeTDOS5Nk43K42Qsx5EXgIgIqb06hHDmllO9yDrJUEdq0Zuct885xcVJ3ut2e1QO/I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2825351},"main":"zen_internals.js","type":"module","types":"zen_internals.d.ts","gitHead":"e312be9068eb0c5feba79a460a229a74d0e24630","_npmUser":{"name":"willem-delbare","email":"willem@aikido.dev"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"9.9.3","description":"Zen Internals is a library that can be used via FFI in different languages. Contains algorithms to detect: - Shell Injections (WIP) - SQL Injections","directories":{},"sideEffects":["./zen_internals.js","./snippets/*"],"_nodeVersion":"18.0.0","collaborators":["Aikido Security"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zen-internals_0.1.10_1727883026671_0.18532656553907523","host":"s3://npm-registry-packages"}},"0.1.12":{"name":"@aikidosec/zen-internals","version":"0.1.12","_id":"@aikidosec/zen-internals@0.1.12","maintainers":[{"name":"hansaikido","email":"hans@aikido.dev"},{"name":"willem-delbare","email":"willem@aikido.dev"}],"dist":{"shasum":"3f16b53c2428d7345ea8c8ac25307d435234845c","tarball":"https://registry.npmjs.org/@aikidosec/zen-internals/-/zen-internals-0.1.12.tgz","fileCount":6,"integrity":"sha512-bPBdKbjJCYIrGNedk/XSg5+lYNrw9C5hSulB4hc8ZMrAgXbI/cTKIAd8H//0JtviXgWz67/c7XRN7T2lEKlUNA==","signatures":[{"sig":"MEUCIQDZj/OJJnoRb741+EIHBeGGHMj5DjJZaAXrXv1tUjC3rwIgUI5uR0LYOmyW6f/0awtydLbWx/YzEEaPr9oDgtwBitc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2839818},"main":"zen_internals.js","type":"module","types":"zen_internals.d.ts","gitHead":"48f0a9f9da41bac3b4f807c112d987e64304a931","_npmUser":{"name":"willem-delbare","email":"willem@aikido.dev"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"10.7.0","description":"Zen Internals is a library that can be used via FFI in different languages. Contains algorithms to detect: - Shell Injections (WIP) - SQL Injections","directories":{},"sideEffects":["./zen_internals.js","./snippets/*"],"_nodeVersion":"18.20.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zen-internals_0.1.12_1727884611507_0.7089871028789518","host":"s3://npm-registry-packages"}},"0.1.13":{"name":"@aikidosec/zen-internals","version":"0.1.13","license":"AGPL-3.0-or-later","_id":"@aikidosec/zen-internals@0.1.13","maintainers":[{"name":"hansaikido","email":"hans@aikido.dev"},{"name":"willem-delbare","email":"willem@aikido.dev"}],"dist":{"shasum":"36abf45d82fcb6dc57cb19eaa8c3fc390fe85ca2","tarball":"https://registry.npmjs.org/@aikidosec/zen-internals/-/zen-internals-0.1.13.tgz","fileCount":7,"integrity":"sha512-uCnuQE1pmrbfnyyTx5fEGjl/aeShJXS4FZNJrbURlJr36ZyDGQeDx6Y3kxZ0G0H8ktE4PJFzfJHp1/qfe10V7w==","signatures":[{"sig":"MEUCIEDld01Xrqn7Yth6cMp70nLrmT3gmUnbFt3nTb9Le0MsAiEAgGnZk1wUvBZwnifJz6TZClQMbztq09AZfXnGH5yazMI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2875147},"main":"zen_internals.js","type":"module","types":"zen_internals.d.ts","gitHead":"16b9ee0576dbd3fd426ff77fd9b1f3646da823d8","_npmUser":{"name":"willem-delbare","email":"willem@aikido.dev"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"10.7.0","description":"Internal library with utilities to power Zen by Aikido","directories":{},"sideEffects":["./zen_internals.js","./snippets/*"],"_nodeVersion":"18.20.4","collaborators":["Aikido Security"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zen-internals_0.1.13_1727885477593_0.7543503547615313","host":"s3://npm-registry-packages"}},"0.1.14":{"name":"@aikidosec/zen-internals","version":"0.1.14","license":"AGPL-3.0-or-later","_id":"@aikidosec/zen-internals@0.1.14","maintainers":[{"name":"hansaikido","email":"hans@aikido.dev"},{"name":"willem-delbare","email":"willem@aikido.dev"}],"dist":{"shasum":"4ed5a3bbb62161bf3f5b5a8ea23eb919269b5263","tarball":"https://registry.npmjs.org/@aikidosec/zen-internals/-/zen-internals-0.1.14.tgz","fileCount":7,"integrity":"sha512-gF3Ar3UaagGa4v+tQbL6zNxiy6hDusZ4lbRSuzaqRVyZVOsCtGFXS2fvzz2Ro4Xc6nbHKVoD77+rdxNTLc0aUQ==","signatures":[{"sig":"MEQCIHFNwHOLclLsQB4jmhJafIXVbcgt/rL+2H2Rs6/zwKldAiA7aqaQ1eCYeyRxPMj73hgHSfCpNdM8p5wRAsB67Mvx+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2875147},"main":"zen_internals.js","type":"module","types":"zen_internals.d.ts","gitHead":"5db348c98469b84dbbf5e8d706e19a6182249648","_npmUser":{"name":"willem-delbare","email":"willem@aikido.dev"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"10.7.0","description":"Internal library with utilities to power Zen by Aikido","directories":{},"sideEffects":["./zen_internals.js","./snippets/*"],"_nodeVersion":"18.20.4","collaborators":["Aikido Security"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zen-internals_0.1.14_1727887283100_0.7705011190483457","host":"s3://npm-registry-packages"}},"0.1.18":{"name":"@aikidosec/zen-internals","version":"0.1.18","license":"AGPL-3.0-or-later","_id":"@aikidosec/zen-internals@0.1.18","maintainers":[{"name":"hansaikido","email":"hans@aikido.dev"},{"name":"willem-delbare","email":"willem@aikido.dev"}],"dist":{"shasum":"5ab3252002cb3fdb3805d31a6e78c9b71472266f","tarball":"https://registry.npmjs.org/@aikidosec/zen-internals/-/zen-internals-0.1.18.tgz","fileCount":7,"integrity":"sha512-MEVcBjBQ3HLWE+sWaoFuaar8CtiQ402OQtVOZWOgQmc0VRtmFTN+s11Sxt9xlBXxn2QJF4czkyqfbHP2Mhl8gg==","signatures":[{"sig":"MEUCIHxQxnZ6bsDayb5yHl3ALgrz284SAMbMA7qQv46UwDYzAiEAi+M4aw7KLQEhw/Kk5xMvmefPx/kUFvL0q5VzhRKeJN0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2875147},"main":"zen_internals.js","type":"module","types":"zen_internals.d.ts","gitHead":"e7aa9fcf4dcf935eede9ab6b527cf3a5d73abc27","_npmUser":{"name":"willem-delbare","email":"willem@aikido.dev"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.","_npmVersion":"10.7.0","description":"Internal library with utilities to power Zen by Aikido","directories":{},"sideEffects":["./zen_internals.js","./snippets/*"],"_nodeVersion":"18.20.4","collaborators":["Aikido Security"],"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zen-internals_0.1.18_1728040972370_0.6428435368526493","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-09-27T10:46:43.836Z","modified":"2026-06-24T11:54:09.056Z","0.1.0":"2024-09-27T10:46:44.242Z","0.1.2":"2024-09-27T11:51:11.198Z","0.1.7":"2024-10-02T14:42:56.001Z","0.1.10":"2024-10-02T15:30:26.937Z","0.1.12":"2024-10-02T15:56:51.784Z","0.1.13":"2024-10-02T16:11:17.822Z","0.1.14":"2024-10-02T16:41:23.385Z","0.1.18":"2024-10-04T11:22:52.558Z"},"license":"AGPL-3.0-or-later","description":"Internal library with utilities to power Zen by Aikido","maintainers":[],"readme":"# Zen Internals library.\nZen Internals is a library that can be used via FFI in different languages. Contains algorithms to detect:\n- Shell Injections (WIP)\n- SQL Injections\n\n## Python FFI Example code : \n```py\nimport ctypes\nzen_internals = ctypes.CDLL(\"target/release/libzen_internals.so\")\n\nif __name__ == \"__main__\":\n    command = \"whoami | shell\".encode(\"utf-8\")\n    userinput = \"whoami\".encode(\"utf-8\")\n    result = zen_internals.detect_shell_injection(command, userinput)\n    print(\"Result\", bool(result))\n```\n\n## Node.js bindings\n\n### Install\n\n```bash\n$ npm install @aikidosec/zen-internals\n```\n\n```bash\n$ yarn add @aikidosec/zen-internals\n```\n\n### API \n\n#### SQL injection detection\n\n```js\nconst { wasm_detect_sql_injection } = require(\"@aikidosec/zen-internals\");\n\nconst detected = wasm_detect_sql_injection(\n    `SELECT * FROM users WHERE id = '' OR 1=1 -- '`, // query\n    `' OR 1=1 -- `, // user input\n    9 // MySQL dialect\n);\n\nconsole.log(detected); // 1\n```\n\nSee [list of dialects](https://github.com/AikidoSec/zen-internals/blob/main/src/sql_injection/helpers/select_dialect_based_on_enum.rs#L18)\n","readmeFilename":"README.md"}