Back to skill

Security audit

evolution-watcher

Security checks for vulnerabilities and agentic risk

Overview

总体上这个技能声称是只读的监控/报告工具,但随包附带的代码能生成并描述可修改适配器/升级脚本(包含高风险修复模板),且没有声明对 ClawHub CLI 等二进制的依赖——存在范围膨胀与不一致,建议谨慎审查后再安装或运行。

Key points to consider before installing/running: - Review and verify 'clawhub' dependency: SKILL.md and code call 'clawhub list' / 'clawhub inspect' but the skill metadata does not declare the 'clawhub' CLI as a required binary. Ensure you have that CLI from a trusted source before running. - Inspect adapter_auto_fix.py (complete file): it implements template-driven fixes (text_replace, parameter_remove, class_rename). Although the README says '只读', the code and reports indicate it can generate upgrade/repair scripts. Open the full adapter_auto_fix.py to confirm whether it contains routines that execute file writes or shell commands automatically. - Don’t run generated scripts without review: reports mention generated upgrade scripts and a DRY_RUN=false switch. Always inspect any upgrade_script.sh or inferred apply_command before running; keep backups and test in an isolated environment first. - Check optional config fields: config/monitor_sources.json has fields for github.token and notifications.webhook_url. If you enable GitHub or notifications, you will need to provide secrets; verify where those tokens are stored and who can read them. - Audit high-risk fix templates: config/fix_templates.yaml contains templates marked 'high' risk (class renames, parameter removal, method signature changes). These can break code if applied incorrectly—validate templates and consider disabling auto-fix features until mature. - Sandbox first: run the skill in a non-production/sandbox workspace to observe behavior, especially what files it reads (registry path) and whether it creates any scripts or writes to adapter files. If you want, I can: (a) fetch and show the remainder of adapter_auto_fix.py and monitor.py to confirm whether they perform writes/execute commands; (b) point to exact lines where upgrade scripts are generated; or (c) produce a short checklist of specific files/strings to search for before running (e.g., subprocess.call, open(...,'w'), os.replace, shutil.move).

Static analysis

No suspicious patterns detected.