plugins/contract-security/skills/cron-security-audit/SKILL.md
当用户要求 "定时审计代码安全", "每10分钟检查代码漏洞", "审计最新提交", "代码安全审计", "cron安全检查", 或需要创建定时安全审计任务时应使用此技能
npx skillsauth add phpmac/skills cron-security-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
定时检查所有分支最新提交的代码变更, 发现中等及以上级别的实际漏洞后报告到 Discord.
git fetch --all + git log --all 检查所有远程分支contract-scanner / smart-contract-vuln 等 Agent 辅助审计, 非合约项目由自身审计能力完成git show branch:file 读取其他分支文件当前目录可能变动, 每次执行必须重新扫描:
# 扫描当前目录及子目录中的 git 仓库
find . -name ".git" -type d -maxdepth 3 | sed 's/\/.git$//'
对每个仓库执行:
cd <仓库路径> && git fetch --all
git log --all --oneline --since="20 minutes ago"
对每个新提交执行:
# 获取提交信息(作者/日期/消息)
git show <hash> --format="%H|%an|%ae|%ad|%s" --no-patch
# 查看变更概要(哪些文件改了)
git show <hash> --stat
禁止只看 diff 就下结论, 也禁止 checkout 切换分支.
发现变更文件后, 用 git show 直接从远程分支读取完整文件内容:
# 从指定分支读取完整文件(不修改工作目录)
git show origin/<branch>:<file_path>
# 示例: 读取 dev 分支的提现文件
git show origin/dev:internal/logic/account/accountTokenWithdraw.go
或者对特定提交读取文件:
# 从指定提交读取文件
git show <hash>:<file_path>
为什么要读完整文件而不是只看 diff:
| 检查项 | 描述 | |--------|------| | SQL注入 | 查询是否使用参数化绑定 | | 命令注入 | 外部输入是否净化 | | 资金安全 | 整数溢出/负数/精度丢失/并发扣减 | | 权限校验 | 是否缺失或可绕过 | | 敏感信息 | 私钥/密码/token 是否暴露 | | 业务逻辑 | 重入/状态不一致/条件竞争 | | 签名安全 | 签名消息是否绑定关键参数, 必须追踪完整调用链 | | 并发安全 | 多实例部署下的锁机制/TOCTOU/竞态条件 | | 加密安全 | 不安全的加密或随机数 |
审计时应主动检查当前插件提供了哪些 agents 和 skills, 选择符合当前审计场景的一起使用, 支持同时并行调用多个 Agent 加速审计.
非合约项目(Go/PHP/TS 等)如果没有匹配的 Agent, 由自身审计能力完成.
只报告有 实际可利用影响 的漏洞, 忽略理论性/假设性问题.
必须追踪完整调用链后再下结论, 禁止只看单层逻辑就判定为漏洞.
| 等级 | 定义 | 是否报告 | |------|------|----------| | 严重 | 可直接导致资金被盗或严重数据泄露 | 报告 | | 高危 | 可造成较大影响, 需要一定条件触发 | 报告 | | 中等 | 影响有限或需要特殊条件 | 报告 | | 低微 | 微小影响或仅理论风险 | 不报告 |
发现中等及以上级别漏洞时, 按 references/discord-report-template.md 的格式发送到 Discord.
创建 cron 时使用以下 prompt:
你是代码安全审计员. 请执行以下步骤:
1. 扫描当前目录下的 git 仓库: `find . -name ".git" -type d -maxdepth 3 | sed 's/\/.git$//'`
2. 对每个仓库运行 `git fetch --all` 拉取所有远程分支最新状态
3. 运行 `git log --all --oneline --since="20 minutes ago"` 查看所有分支最近20分钟内的新提交
4. 如果没有新提交, 跳过该仓库检查下一个, 所有仓库都没新提交则直接结束
5. 如果有新提交:
a. 获取每个提交的信息: `git show <hash> --format="%H|%an|%ae|%ad|%s" --no-patch`
b. 查看变更概要: `git show <hash> --stat`
c. 用 `git show origin/<branch>:<file_path>` 读取变更涉及的完整文件, 理解完整业务逻辑和调用链
d. 禁止使用 git checkout/push/pull 等修改仓库的操作
e. 禁止只看 diff 就下结论, 必须理解完整上下文
6. 审计变更代码, 重点关注:
- SQL注入/命令注入/XSS等注入漏洞
- 资金/余额操作的整数溢出/负数/精度丢失
- 权限校验缺失或绕过
- 敏感信息泄漏(私钥/密码/token等)
- 业务逻辑漏洞(重入/状态不一致/条件竞争)
- 不安全的加密或随机数使用
- 并发安全(锁机制/TOCTOU/竞态条件)
7. 评估标准: 只报告中等及以上级别的实际漏洞(等级用中文: 严重/高危/中等/低微)
8. 关键流程(如提现)必须追踪完整调用链后再判定, 禁止只看表面逻辑
9. 如果发现实际漏洞, 使用 Discord 工具发送到频道 chat_id="<频道ID>", 格式包含:
- 漏洞类型和严重程度(全中文)
- Git仓库链接/仓库名称/开发人员信息
- 涉及的文件/代码片段和行号
- ASCII 流程图展示攻击路径
- 实际攻击路径和影响(全中文)
- 不需要提供修复代码
10. 如果没有发现实际漏洞, 不发送任何 Discord 消息, 直接结束
重要: 宁可漏报也不误报, 必须确认漏洞有实际影响才报告. 禁止修改仓库.
data-ai
当用户提到 Linux 提权/本地提权/local privilege escalation/获取root权限/内核漏洞利用/LPE/SUID/sudo滥用/容器逃逸/权限提升检测; 或要求在Linux系统上从普通用户提升到root权限; 或查询CVE提权漏洞(如Dirty Pipe/CopyFail/Dirty Frag/PwnKit/Looney Tunables); 或需要安全加固建议时应使用此技能
tools
当用户要求 "计算仓位", "仓位管理", "止损比例", "凯利公式", "盈亏比", "资金管理", "半凯利", "反马丁格尔", "固定风险", "position sizing", "策略评估", "策略体检", "SQN", "夏普比率", "卡玛比率", "期望值", "获利因子", "MAE", "MFE", "R乘数", "索提诺", "蒙特卡洛", "样本外测试", "策略回测" 或需要计算合约交易的最优仓位/止损/资金分配/策略质量评估时应使用此技能. 覆盖仓位管理/策略评估/交易解剖/压力测试的完整框架. 即使用户只是提到 "这笔交易该下多少", "策略好不好", "复盘怎么算" 等模糊描述也应触发.
development
当用户要求 "提取API", "逆向APK", "分析APP接口", "提取业务端点", "React Native逆向", "Flutter逆向" 或需要从移动应用提取后端API信息时使用此技能. 覆盖APK解包/JS bundle分析/kernel_blob.bin分析/H5页面参数发现/Spring Boot API验证全流程. 支持React Native和Flutter两种框架.
research
当用户要求 "推荐VPS", "选服务器", "对比服务商", "建站VPS", "便宜VPS", "VPS推荐" 或需要研究/筛选/对比VPS服务商时应使用此技能. 从 hostloc/lowendtalk/lowendbox/测评站搜集真实评测数据, 交叉验证后给出可溯源排名.