← Home

@claude-flow/cli

Ruflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code

3
Versions
MIT
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

ruvnet

Keywords

claudeclaude-codeanthropicai-agentsmulti-agentswarmmcpmodel-context-protocolllmcliorchestrationautomationdeveloper-toolscoding-assistantvector-databaseembeddingsself-learningenterprise

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
install-scripts install-script:postinstall AI (install-scripts): Postinstall only copies agentdb dist subdirectory to fix path mismatch; no network access or arbitrary code execution. ai
typosquat typosquat.levenshtein:joi AI (typosquat): Scoped package @claude-flow/cli; levenshtein match to 'joi' is a false positive with no impersonation intent. ai
semgrep semgrep:dynamic-require AI (semgrep): Dynamic require in hook-handler.cjs is a module-loader helper; consistent with CLI plugin/hook architecture. ai
semgrep semgrep:child-process-import AI (semgrep): child_process in statusline.cjs is expected for a CLI tool displaying system status information. ai

Versions (showing 3 of 3)

Version Deps Published
3.6.10 5 / 2
3.6.9 5 / 2
3.5.50 4 / 2

v3.6.10

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

Script: node -e "const{existsSync,cpSync,readdirSync}=require('fs');const{join,dirname}=require('path');try{const r=require.resolve('agentdb');const base=r.includes('dist/src')?join(dirname(r),'..','..'):(r.includes('dist')?join(dirname(r),'..'):dirname(r));const s=join(base,'dist','src','controllers');const t=join(base,'dist','controllers');if(existsSync(s)&&!existsSync(t)){cpSync(s,t,{recursive:true});}}catch{}"

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.

v3.5.50

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.