@ngocsangairvds/vsaf@6.19.0
is it ready to use ?
AI Security Review
scanned 1mo ago · by lpm-firewall-aiThis is a Viettel VSAF workflow engine. Scanner similarity flags match this same CLI and skill tree, not a hidden dropper, and postinstall only symlinks @vsaf/core. Agent-config writes are user-invoked product behavior, so this is a warning-class dual-use installer rather than a publish block.
Decision evidence
public snapshot- vsaf init writes a SessionStart hook into .claude/settings.json when none is present
- vsaf install copies pack hooks into .claude/hooks and mirrors skills into .claude/skills and .cursor/skills
- npm postinstall creates a node_modules/@vsaf/core symlink to this package core dist
- vsaf init can copy packed Langfuse host settings from telemetry.defaults.json into the project
- the install flow reads a Bitbucket token from BITBUCKET_TOKEN or git credential fill
- postinstall only makes a local @vsaf/core symlink and does not write Claude or Cursor config
- gateway env writes into Claude settings are compiled off
- the published core entry only re-exports engine APIs and does not run network or shell on import
- CLI hosts are Viettel Digital gateway, Langfuse, and Bitbucket
- there is no runtime dependency on another release of this package name
- agent file writes run only after the user runs vsaf install or vsaf init
Source & flagged code
28 flagged · loading sourcePackage defines install-time lifecycle scripts.
package.jsonView on unpkgInstall-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgFindings
Affected versions and remediation
This report applies to @ngocsangairvds/vsaf@6.19.0.
See all versions of @ngocsangairvds/vsaf for other recorded verdicts.
- Review the evidence and your use of @ngocsangairvds/vsaf@6.19.0 before allowing it. Restrict the permissions described in this report.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
Evidence last updated: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.