← Home

@hasna/testers

AI-powered QA testing CLI — spawns cheap AI agents to test web apps with headless browsers

23
Versions
Apache-2.0
License
Yes
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures gitHead linked

Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.

Maintainers

andreihasna2

Keywords

testingqaaiplaywrightbrowserscreenshotautomationclimcp

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
source-diff obfuscated-file:dashboard/dist/assets/index-D52SWwDa.js AI (source-diff): Standard Vite/React production bundle for dashboard UI; not obfuscation. ai
phantom-deps phantom-dep:@hasna/projects AI (phantom-deps): Same org scope; excluded via bun --external pattern; stable false positive. ai
phantom-deps phantom-dep:react AI (phantom-deps): Excluded via bun --external in build scripts; phantom-dep is a false positive for this build pattern. ai
phantom-deps phantom-dep:chalk AI (phantom-deps): Excluded via bun --external in build scripts; phantom-dep is a false positive for this build pattern. ai
phantom-deps phantom-dep:ink AI (phantom-deps): Excluded via bun --external in build scripts; phantom-dep is a false positive for this build pattern. ai
phantom-deps phantom-dep:ai AI (phantom-deps): Excluded via bun --external in build scripts; phantom-dep is a false positive for this build pattern. ai
source-diff obfuscated-file:dashboard/dist/assets/index-kezQIIQ1.js AI (source-diff): Standard Vite/React minified bundle for dashboard UI; sample confirms React runtime code, not malicious obfuscation. ai
source-diff obfuscated-file:dashboard/dist/assets/index-Bdn52878.js AI (source-diff): Standard Vite/React minified bundle for the package's dashboard UI; not obfuscated malware. ai
source-diff obfuscated-file:dashboard/dist/assets/index-FZ9gzLaz.js AI (source-diff): Standard Vite/React minified bundle for the package's dashboard UI; not obfuscated malware. ai
source-diff obfuscated-file:dashboard/dist/assets/index-jNG_Nd_Q.js AI (source-diff): Standard Vite/React minified bundle in dashboard/dist; sample confirms React/scheduler MIT-licensed code, not malicious obfuscation. ai
phantom-deps phantom-dep:@hasna/contacts AI (phantom-deps): Same-org dep; phantom-dep heuristic false positive for this package. ai
phantom-deps phantom-dep:@hasna/cloud AI (phantom-deps): Same-org dep; phantom-dep heuristic false positive for this package. ai
phantom-deps phantom-dep:commander AI (phantom-deps): Declared dep used in config/types; phantom-dep heuristic false positive for this package. ai
phantom-deps phantom-dep:zod AI (phantom-deps): Declared dep used in config/types; phantom-dep heuristic false positive for this package. ai
install-scripts install-script:postinstall AI (install-scripts): Script only creates local directories; no network access or code execution. ai

Versions (showing 23 of 23)

Version Deps Published
0.0.46 14 / 4
0.0.38 14 / 4
0.0.34 13 / 4
0.0.33 13 / 4
0.0.31 11 / 3
0.0.30 11 / 3
0.0.18 9 / 3
0.0.17 9 / 3
0.0.16 8 / 3
0.0.15 8 / 3
0.0.14 8 / 3
0.0.13 8 / 3
0.0.12 8 / 3
0.0.11 8 / 3
0.0.10 8 / 3
0.0.8 8 / 3
0.0.7 8 / 3
0.0.6 8 / 3
0.0.5 8 / 3
0.0.4 8 / 3
0.0.3 8 / 3
0.0.2 8 / 3
0.0.1 8 / 3

v0.0.46

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.38

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.34

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-kezQIIQ1.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.33

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-kezQIIQ1.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.31

2 findings
HIGH Package has 'postinstall' script install-scripts

Script: mkdir -p $HOME/.hasna/testers/screenshots $HOME/.hasna/testers/browser/profiles 2>/dev/null || true

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.30

2 findings
HIGH Package has 'postinstall' script install-scripts

Script: mkdir -p $HOME/.hasna/testers/screenshots $HOME/.hasna/testers/browser/profiles 2>/dev/null || true

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.18

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-D52SWwDa.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.17

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-D52SWwDa.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.16

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-D52SWwDa.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.15

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-Bdn52878.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.14

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-FZ9gzLaz.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.13

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-FZ9gzLaz.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.12

2 findings
HIGH New obfuscated file: dashboard/dist/assets/index-jNG_Nd_Q.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.11

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.10

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.8

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.7

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.6

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.5

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.4

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.3

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.2

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.0.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.