
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@aax/gatekeeper
Advanced tools
Permission library for allaboutXpert
npm i @aax/gatekeeper
Let's demonstrate usage with a few examples:
import {
Action,
Entity,
GateKeeper,
RisksAction,
Scope
} from "@aax/gatekeeper";
// Get the permission set from your user token.
// Refer to the License API or a decoded
// token for correct keys to query
const token = user.token.perms;
const gk = new GateKeeper(token);
if (gk.can(RiskAction.RISKS_CLOSE, Scope.ALL, Entity.RISKS)) {
// This user has the permission to close ALL risks
}
if (gk.can(RiskAction.RISKS_ESCALATE)) {
// This person has the right to escalate risks
// NOTE: There is no datascope being enforced on this query
// so it will only be used for instances where you
// want to e.g. show a button or meny entry
}
if (gk.can(Action.VIEW, Scope.ALL, Entity.Risks)) {
// This user has the permuission view ALL risks
}
The library will not throw any Errors so try/catch blocks are not necessary. That being said when NODE_ENV=development the library will throw an Error but only as a warning that you have used the library incorrectly so keep an eye out on your consoles.
Full set of examples.
// Extended with scope
// console.log(gk.can(RisksAction.RISKS_CLOSE, Scope.ALL, Entity.RISKS));
// console.log(gk.can(RisksAction.RISKS_CLOSE, Scope.OWN, Entity.RISKS));
// Extended without scope
// console.log(gk.can(RisksAction.RISKS_ESCALATE));
// Entity with scope
// console.log(gk.can(Action.VIEW, Scope.ALL, Entity.RISKS));
// console.log(gk.can(Action.VIEW, Scope.OWN, Entity.RISKS));
// Entity without scope
// console.log(gk.can(Action.VIEW, Entity.RISKS));
Version eg: major.minor.patch
You are now done and want to publish your changes to the component library, based on the type of change you made, you'll want to use one of these commands
Run npm run publish:patch when you make backwards compatible bug fixes.
Run npm run publish:minor when you add functionality in a backwards compatible manner.
Run npm run publish:major when you make incompatible API changes.
FAQs
Permission library for aaX
We found that @aax/gatekeeper demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 9 open source maintainers 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

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.