Low Risk — Risk Score 15/100
Last scan:1 day ago Rescan
15 /100
humanizerai
AI text detection and humanization CLI to bypass GPTZero, Turnitin, and other detectors
A legitimate third-party CLI wrapper for humanizerai.com API with no malicious behavior, though Bash tool wildcard access is broader than strictly necessary.
Skill Namehumanizerai
Duration41.7s
Enginepi
Safe to install
Consider restricting Bash to specific subcommands (e.g., Bash(humanizerai:detect|humanize|credits)) to align with least-privilege principle.

Findings 2 items

Severity Finding Location
Low
Filesystem read not documented Doc Mismatch
SKILL.md does not mention the -f flag for file-based operations, though it's implemented and used legitimately in detect and humanize commands.
text = fs.readFileSync(argv.file, 'utf-8');
→ Document the -f flag in SKILL.md usage examples for completeness.
src/commands/detect.ts:14
Low
Bash wildcard broader than necessary Priv Escalation
allowed-tools declares Bash(humanizerai:*) which technically allows any subcommand, though only detect/humanize/credits exist in the codebase.
allowed-tools: Bash(humanizerai:*)
→ Consider restricting to specific commands: Bash(humanizerai:detect|humanize|credits) for least-privilege alignment.
SKILL.md:7
ResourceDeclaredInferredStatusEvidence
Network READ READ ✓ Aligned api.ts:35 - Makes HTTP POST/GET requests to humanizerai.com API
Filesystem NONE READ ✓ Aligned commands/detect.ts:14, commands/humanize.ts:14 - Uses fs.readFileSync with -f fl…
Environment READ READ ✓ Aligned config.ts:9 - Reads HUMANIZERAI_API_KEY and HUMANIZERAI_API_URL from process.env
Shell WRITE WRITE ✓ Aligned SKILL.md declares Bash(humanizerai:*) which provides shell:WRITE
12 findings
🔗
Medium External URL 外部 URL
https://humanizerai.com/dashboard
README.md:19
🔗
Medium External URL 外部 URL
https://humanizerai.com
README.md:72
🔗
Medium External URL 外部 URL
https://humanizerai.com/docs/api
README.md:73
🔗
Medium External URL 外部 URL
https://agentskill.sh
README.md:74
🔗
Medium External URL 外部 URL
https://www.npmjs.com/package/humanizerai
SKILL.md:34
🔗
Medium External URL 外部 URL
https://agentskill.sh**
SKILL.md:369
🔗
Medium External URL 外部 URL
https://humanizerai.com/api/v1
dist/index.js:34
🔗
Medium External URL 外部 URL
https://humanizerai.com\n\nSet
dist/index.js:212
🔗
Medium External URL 外部 URL
https://paulmillr.com/funding/
package-lock.json:971
🔗
Medium External URL 外部 URL
https://opencollective.com/postcss/
package-lock.json:1318
🔗
Medium External URL 外部 URL
https://humanizerai.com\n\n
src/index.ts:79
📧
Info Email 邮箱地址
[email protected]
package.json:35

File Tree

13 files · 80.8 KB · 2709 lines
JSON 3f · 1756L Markdown 2f · 443L TypeScript 7f · 297L JavaScript 1f · 213L
├─ 📁 dist
│ └─ 📜 index.js JavaScript 213L · 7.0 KB
├─ 📁 src
│ ├─ 📁 commands
│ │ ├─ 📜 credits.ts TypeScript 13L · 323 B
│ │ ├─ 📜 detect.ts TypeScript 34L · 916 B
│ │ └─ 📜 humanize.ts TypeScript 42L · 1.1 KB
│ ├─ 📜 api.ts TypeScript 96L · 2.2 KB
│ ├─ 📜 config.ts TypeScript 17L · 564 B
│ └─ 📜 index.ts TypeScript 83L · 2.6 KB
├─ 📋 package-lock.json JSON 1685L · 53.8 KB
├─ 📋 package.json JSON 56L · 1.2 KB
├─ 📝 README.md Markdown 74L · 1.7 KB
├─ 📝 SKILL.md Markdown 369L · 9.0 KB
├─ 📋 tsconfig.json JSON 15L · 304 B
└─ 📜 tsup.config.ts TypeScript 12L · 214 B

Dependencies 1 items

PackageVersionSourceKnown VulnsNotes
yargs ^17.7.2 npm No Popular CLI parsing library with stable versioning

Security Positives

✓ No credential exfiltration or API key harvesting beyond intended usage
✓ No base64-encoded payloads or obfuscated code
✓ No remote script execution (curl|bash, wget|sh)
✓ No access to sensitive paths (~/.ssh, ~/.aws, .env)
✓ No data exfiltration to external IPs beyond the documented API
✓ Clean, straightforward TypeScript implementation with no hidden functionality
✓ Dependencies are well-known packages (yargs) with reasonable version constraints
✓ API key is used only for authenticated requests to the documented humanizerai.com endpoint