heartflow-v5@5.8.6
CAUTION· install onlyPublisher claims: "统一整合版:claude-heartflow-skill (v2.8.0) + mark-heartflow-skill (v5.7.3) 290+ 模块,25 个 MCP 工具,零外部依赖,覆盖认知/记忆/情绪/哲学/自愈/决策/代码/意识。 **需要用户明确授权的能力:** - 代码执行 (new Funct..." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-11 and scored it 68/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Access to sensitive file paths; Access to sensitive file paths; Destructive command against a filesystem root or device. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 1 s · 1 scenarios · 0 deviationsStatic findings
/process\.env/i, // SkillSpector fix: 禁止访问环境变量(防止密钥泄露)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.const bad = ['/etc/', '/usr/', '/home/', '~/.ssh/', '/root/', '/private/'];Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose./rm\s+-rf\s+\//i, // rm -rf /Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.{ pattern: /process\.env/g, msg: '引用了环境变量,注意敏感信息泄露' },Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose./wget\s+.*\|\s*(bash|sh)/i, // wget ... | bashFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out./rm\s+-r\s+\*/i, // rm -r /*Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.permission: () => '检查文件权限。可能需要 sudo 或将文件移到用户目录。',Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell./rm\s+-rf\s+\//i, // rm -rf /Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell./curl\s+\|\s*bash/i, // curl | bashFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out./rm\s+-r\s+\*/i, // rm -r /*Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell./sudo\s+/i, // sudoFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell./wget\s+\|\s*(bash|sh)/i, // wget | bash/shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out./curl\s+.*\|\s*(bash|sh)/i, // curl ... | bashFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out./curl\s+.*\|\s*(bash|sh)/i, // curl ... | bashFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.* 启动: node mcp-server-http.js [--port 8099]Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.…0,"kevin":4901,"anymore":4902,"pp":4903,"##ut":4904,"attorney":4905,"fit":4906,"dan":4907,"billboard":4908,"receiving":4909,"agricultural":4910,"breaking":4911,"so…Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.'mcp-server-http.js',Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.// 已禁用 console.log: const sbResult = this.sandbox('console.log("sandbox_ok");', { timeout: 5000, maxOutput: 1024 });Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.* - Nietzsche: "What does not kill me makes me stronger"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.'execsync', 'spawnsync', 'sudo', 'chmod 777', 'rsync --delete',Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts./chown\s+-R\s+.*\s+\//i, // chown -R ... /Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.if (process.env.HEARTFLOW_DEBUG) console.log('用户信息:', db.getUserWithPosts(userId));Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.'blind-spot-breaker.js', 'mcp-server-http.js',Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.console.log(output);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.if (process.env.HEARTFLOW_DEBUG) console.log(\`输出目录: \${options.output || './dist'}\`);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.'rm -rf', 'curl', 'wget', '| sh', '| bash', 'child_process',Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.console.error(` 使用: kill $(lsof -ti:${PORT}) 释放端口`);Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.console.warn(`[Memory] WARNING: Key file has overly permissive permissions ${mode.toString(8)}. Run: chmod 600 ${keyFile}`);Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.const crisisKeywords = ['自杀','自伤','想死','活不下去','不想活','suicide','kill myself','end my life','hurt myself','不想活了','活着没有意义'];Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.philosophy: 'Nietzsche: "What does not kill me makes me stronger."',Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.result = subprocess.run([Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out./chmod\s+-R\s+0{4}\s+\//i, // chmod -R 000 /Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts./process\.env/i,Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose./curl\s+\|\s*bash/i, // curl | bashFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.* 对应 Claude Code 的 hooks.json 中 PostToolUse 阶段检查 Edit/Write/Bash 结果。Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.
What would make this Verified
12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Destructive command against a filesystem root or device≈ +9 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- Unclaimed publisher≈ +8 on the totalClaim yun520-1: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- Destructive file system command detected≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.