
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
Make secure parts in shared code
npm i --save cipherio
const code = `a = 1;`;
let a = 0;
let seed = 1; // defaults to 0
const encoded = cipherio.compile(code, seed);
eval(cipherio.read(encoded));
console.log(a); // 1
Encoding types
cipherio.DEFAULT; // disorders text in the idempotent way
cipherio.HUFFMAN; // disorders text using huffman algorithm
cipherio.HUFFMAN_COMPRESSED; // disorders text using huffman algorithm with smaller letter count of the resulting decoded text
const code = `actual = 1;`;
const options1 = { encoding: cipherio.HUFFMAN, seed: 0 };
const options2 = { encoding: cipherio.HUFFMAN_COMPRESSED, seed: 1 };
const encoded1 = cipherio.compile(code, options1);
const encoded2 = cipherio.compile(code, options2);
const decoded1 = cipherio.read(encoded1);
const decoded2 = cipherio.read(encoded2);
seed defaults to 0
encoding defaults to cipherio.DEFAULT
Wrapping classes to return hashed values
const instance = new (class extends cipherio.Wrapper {
prop = "abc";
foo() {
return "bar";
}
})();
const originalProp = cipherio.read(instance.prop);
const functionResult = cipherio.read(instance.foo());
Subscribe to events
const instance = new (class extends cipherio.Wrapper {
x = "abc";
foo() {
return true;
}
})();
instance.on("access", ({ before, after }) => {
console.log(before !== after); // true
});
instance.x;
const instance = new (class extends cipherio.Wrapper {
x = "abc";
foo() {
return true;
}
})();
instance.on("call", ({ before, after }) => {
// ...
});
instance.foo();
Dynamic inheriting
const Parent = class {
noop() {}
};
const instance = new (class extends cipherio.Wrapper {
constructor() {
super(Parent);
}
})();
instance.noop();
npm test
FAQs
Make secure parts in shared code
The npm package cipherio receives a total of 1 weekly downloads. As such, cipherio popularity was classified as not popular.
We found that cipherio demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.