@seoagent-official/seoagent@1.117.5
The persistent AI SEO agent for Claude Code. Audits, keyword strategy, briefs, articles, real product screenshots from your repo, and the autopilot loop (cloud detects → CLI executes → ack closes) — other SEO tools write the prompt, SEOAgent runs it.
AI Security Review
scanned 22d ago · by lpm-firewall-aiThe package installs Claude Code hooks through its explicit init command, which later trigger automatic package syncs. This is a guarded first-party agent integration capability, not evidence of malicious behavior.
Decision evidence
public snapshot- package.json exposes index.js as the seoagent CLI entry point.
- index.js identifies .claude/settings.json as the Claude Code hook configuration file.
- The CLI init flow calls the helper that writes the Claude Code hooks.
- The helper adds SessionStart and PostToolUse hooks for Write/Edit events, then writes the settings file; those hooks run the package's silent sync command.
- The sync command uses the SEOAgent service by default.
- The hook setup is reached through the explicit seoagent init command, not an npm lifecycle hook.
- The hook runs the package's own sync command; inspection did not establish credential theft or another malicious action.
Source & flagged code
6 flaggedA single source file combines environment access, network access, and code or shell execution with blocking evidence.
index.jsView on unpkg · L90A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
index.jsView on unpkg · L90Findings
Affected versions and remediation
This report applies to @seoagent-official/seoagent@1.117.5.
See all versions of @seoagent-official/seoagent for other recorded verdicts.
- Review the evidence and your use of @seoagent-official/seoagent@1.117.5 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.