ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

alon-github-security-audit

对 GitHub 仓库或本地目录进行全栈安全审计,检测恶意代码、后门和供应链攻击,生成报告写入本地审计目录。当用户说"审计下"、"审计一下"、"安全审计"、"检查下这个仓库"、"审计当前目录"、"审计本地项目"、"check repo"、"audit" 时立即触发。支持 GitHub URL 或本地目录。

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/alondai/alon-github-security-audit
Or

代码安全审计 Skill

对 GitHub 仓库或本地目录进行全面安全审计。


执行流程

第一步:确定审计目标

判断用户输入:

  • 如果用户提供了 GitHub URL → 克隆仓库到临时目录
  • 如果用户说 "当前目录"、"本地" 或没有提供 URL → 使用当前工作目录

情况 A:GitHub URL(需要克隆)

cd <skill-root> && \
python3 tools/clone_repo.py "<用户提供的GitHub URL>"

工具会返回克隆后的临时目录路径(格式:/tmp/github_audit_<repo>_<id>)。

注意:只下载最新代码,不安装任何依赖!

情况 B:本地目录(无需克隆)

直接使用当前工作目录(pwd)作为审计目标。

注意

  • 不需要克隆步骤
  • 不需要清理步骤(不要删除用户的代码!)
  • 报告中的"仓库地址"改为本地路径

第 1.5 步:确定审计模式

默认采用离线静态审计,不联网、不安装依赖、不执行目标仓库代码。

默认分析范围仅限于:

  • 目标 GitHub 仓库的克隆副本
  • 或用户明确指定的当前工作目录

除非用户明确扩展范围,否则不要主动读取 ~/.ssh、浏览器资料目录或其他无关 home 路径。

默认模式:离线静态审计

  • 适用于所有项目
  • 只读取源码、配置、脚本、静态资源、依赖定义
  • 默认直接执行,无需额外确认

可选模式:联网漏洞情报检查

仅在满足以下条件时,才提示用户是否继续

  • 已完成离线静态审计
  • 项目存在明确依赖生态线索,如 package.jsonpackage-lock.jsonnpm-shrinkwrap.json
  • 用户需要更完整的依赖漏洞结论,或离线审计中发现依赖风险需进一步确认

推荐交互方式

先完成离线静态审计,再补一句:

发现该项目包含 Node.js 依赖定义。我可以继续执行联网漏洞情报检查(例如基于 lockfile 的依赖漏洞分析),这会访问外部漏洞数据库。是否继续?

不要在一开始就默认询问,除非用户明确说要做“完整安全审计”或“包含依赖漏洞扫描”。


第 2 步:来源与权限预检(安装/引入场景强烈建议执行)

如果审计对象是 Skill / Agent 工具 / 自动化脚本仓库,在进入深度静态审计前,先做一轮来源与权限预检。这一步是前置分诊,不替代后续深度审计。

2.0 预检目标

  • 判断目标是否适合作为“可安装 / 可引入”的候选
  • 识别是否存在与声明用途明显不匹配的权限需求
  • 为后续深度审计提供优先级和关注面

2.1 来源与可信度检查

优先回答以下问题:

  • 来源是什么:GitHub、技能市场、私有分享、聊天内容粘贴、压缩包
  • 作者是否可识别,是否能对应到稳定的发布主体
  • 最近更新时间、版本信息、仓库活跃度是否异常
  • 是否存在第三方评价、历史讨论、已知争议或安全警告

注意

  • 来源可信度只用于辅助排序,不得单独作为“安全”依据
  • 高 star、高下载量、知名作者,均不能替代代码审计

2.2 权限面与外联面预检

这一步是在评估审计对象自己请求的权限,不是要求本 skill 默认读取这些位置。优先梳理:

  • 审计对象声明或暗示需要读取哪些路径:工作区、家目录、凭据目录、浏览器数据、Agent 记忆文件
  • 审计对象声明或暗示需要写入哪些路径:工作区、系统配置、shell 配置、自动启动位置
  • 审计对象声明或暗示会执行哪些命令:shell、包管理器、系统服务、定时任务、浏览器自动化
  • 审计对象是否需要联网:访问哪些域名、API、Webhook、IP、下载源
  • 这些权限是否与其声明用途最小匹配

边界说明

  • 本 skill 默认不会因为做预检就去读取 ~/.ssh、浏览器数据或其他敏感位置
  • 这里的任务是审查目标仓库是否请求或尝试访问这些位置,以及这种权限是否与用途匹配

如果权限需求明显超出用途,例如“格式化笔记”却要求读取 ~/.ssh、浏览器 Cookie、系统启动项,应在报告中提升风险等级。

2.3 预检输出要求

在正式五步分析前,先形成以下简表:

  • 来源与可信度
  • 权限面与外联面
  • 初步安装建议:可安装 / 谨慎安装 / 不建议安装

2.4 安装建议映射

若当前审计对象属于 Skill / Agent 安装场景,可在审计结论之外再映射一层安装建议:

审计结论安装建议含义
Safe可安装当前静态证据下未发现恶意闭环,权限需求与用途基本匹配
Risky谨慎安装存在可疑点、信息不足或权限超界,不能直接放行
Dangerous不建议安装已形成恶意执行、窃密、外传或持久化闭环

第 3 步:执行安全审计(核心步骤)

审计标准:严格按照以下五步分析法执行,不依赖额外文档才能完成核心审计。

重要

  • 你是区块链安全专家恶意软件逆向工程师
  • 采用零信任原则 - 假设代码中一定有后门
  • 必须覆盖:代码逻辑、配置文件、静态资源、依赖定义、说明文档、Agent / Tool 配置文件

五步分析

  1. 网络指纹与硬编码审计
  2. 敏感数据窃取行为分析
  3. 代码混淆与隐藏执行
  4. 供应链与安装脚本
  5. 最终判决

输出要求

  • 【高危实体清单】
  • 【逻辑风险点】
  • 【补充安全检查】(如适用)
  • 【结论】(明确"安全"或"极度危险")

如遇到争议项(例如存在可疑信号,但上下文不足以直接定性),请做静态二次定性。该步骤仍然是只读分析,不得执行目标代码。优先复核:

  • 可达性:危险逻辑是否真的在正常执行路径上,还是仅存在于测试、文档或不可达分支
  • 数据流:敏感数据是否真的进入网络请求、上传逻辑、子进程或其他外传链路
  • 命令链:用户输入、环境变量、配置值是否最终进入 shell、execspawnsubprocess 等执行点
  • 文档上下文:危险命令是否只是说明文字,还是会被 Agent、脚本或自动化流程消费
  • 网络实体性质:域名、IP、Webhook、下载源是否合理,是否与执行链或外传链形成闭环
  • 权限与用途匹配:请求的读取路径、写入路径、联网目标、执行能力是否明显超出声明用途
  • 持久化与日志清理:是否存在后台驻留、定时任务、自启动、日志清理或历史清除等迹象

Metadata

Author@alondai
Stars3992
Views1
Updated2026-04-10
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-alondai-alon-github-security-audit": {
      "enabled": true,
      "auto_update": true
    }
  }
}
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.