用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/JacobHsu/cc-skills --skill repo-scan命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | repo-scan |
| description | GitHub 開源專案安全掃描工具。輸入 GitHub repo URL,輸出專案概覽、靜態弱點分析、供應鏈風險、Issues 安全回報、維護者評估與風險總結。適用於安裝前的安全評估。 |
| version | 1.0.0 |
/repo-scan https://github.com/owner/repo
參數:
?fbclid= 等追蹤參數)?fbclid=、?ref= 等追蹤參數,保留 https://github.com/owner/repo 格式。/tmp/ 的 repo。掃描前依序確認:
# 1. git 是否可用
git --version
# 2. gh 是否可用且已登入
gh auth status
git 不可用 → 停止,提示安裝gh 不可用或未登入 → 警告,跳過 Phase 5(Issues 掃描),其餘照跑Clone repo 到 /tmp/repo-scan-{repo_name}(shallow clone 節省時間):
git clone --depth 50 {repo_url} /tmp/repo-scan-{repo_name}
分析並整理:
| 項目 | 內容 |
|---|---|
| 專案名稱 | |
| 用途說明 | 一句話描述這個專案做什麼 |
| 主要語言 | |
| 關鍵檔案 | 列出核心檔案及其功能 |
| 執行方式 | 如何安裝/使用(從 README 或程式碼判斷) |
| Stars / Forks | |
| License | |
| 最後 commit | 日期 + 內容摘要 |
重點:用最少的字讓人搞懂這個 repo 在幹嘛。
掃描以下檔案(存在才掃):
package.json / package-lock.json(Node.js)requirements.txt / setup.py / pyproject.toml(Python)go.mod(Go)Cargo.toml(Rust)Gemfile(Ruby)pom.xml / build.gradle(Java)composer.json(PHP)檢查項目:
event-stream、ua-parser-js 等曾被投毒的套件)postinstall、preinstall hook(package.json scripts)sharp、node-gyp 等,增加攻擊面)逐一讀取所有原始碼檔案,檢查以下類別:
exec()、execSync()、spawn() 使用未過濾的外部輸入os.system()、subprocess.call() 拼接字串`backtick` 或 $() 內含變數eval() 動態執行path.resolve 或 sanitize)../ 未被過濾.env 檔案被追蹤到 gitpickle.load()、yaml.load()(無 Loader=SafeLoader)JSON.parse() 後直接信任內容ObjectInputStreaminnerHTML、dangerouslySetInnerHTMLMath.random() 用於安全用途rejectUnauthorized: false、verify=False)*/tmp/ 使用可預測的固定路徑(symlink attack)0777、0666)重點審查以下檔案(如果存在):
install.sh / setup.sh / bootstrap.shMakefile 的 install targetDockerfile / docker-compose.yml.github/workflows/)package.json 的 scripts 欄位(postinstall、preinstall、prepare)檢查項目:
curl | bash 或 wget | sh 模式/etc/、crontab、PATH)需要
ghCLI。無法使用時跳過此階段並註明。
# 抓所有 issues(open + closed)
gh issue list -R {owner}/{repo} --state all --limit 200
# 用關鍵字篩選安全相關 issues
gh issue list -R {owner}/{repo} --state all --search "vulnerability OR security OR CVE OR injection OR XSS OR RCE OR exploit OR malicious OR unsafe OR leak OR bypass OR SSRF OR traversal"
對每個命中的 issue:
gh issue view {issue_number} -R {owner}/{repo}
分析:
整理成表格:
| Issue # | 標題 | 狀態 | 嚴重程度 | 回應時間 |
|---|
# Repo 基本資訊
gh repo view {owner}/{repo} --json stargazerCount,forkCount,createdAt,updatedAt,licenseInfo,description
# 最近 commit 活動
git log --oneline -20
# Contributors
gh api repos/{owner}/{repo}/contributors --jq '.[].login' | head -10
評估項目:
.github/workflows/)test/、tests/、__tests__/、*_test.go)掃描完成後,輸出以下格式的報告:
## Repo Scan 報告:{repo_name}
### 專案概覽
(Phase 1 的表格)
### 依賴分析
(Phase 2 的發現,列出可疑依賴)
### 靜態弱點
(Phase 3 的發現,依嚴重程度排序)
每個弱點格式:
#### 弱點 N:{類別} — `{file}:{line}`
- **嚴重程度**:High / Medium / Low
- **說明**:具體描述問題
- **利用場景**:攻擊者如何利用
- **建議**:如何修復
### 供應鏈風險
(Phase 4 的發現)
### Issues 安全回報
(Phase 5 的表格 + 分析)
(如跳過,註明「gh CLI 不可用,已跳過」)
### 專案健康度
(Phase 6 的評估)
---
### 風險總結
| 維度 | 風險等級 | 說明 |
|------|---------|------|
| 程式碼安全 | High/Medium/Low/None | |
| 依賴風險 | High/Medium/Low/None | |
| 供應鏈風險 | High/Medium/Low/None | |
| 已知漏洞 | High/Medium/Low/None | |
| 維護狀態 | High/Medium/Low/None | |
| **整體風險** | **X** | |
### 結論
是否建議安裝/使用?(明確回答)
- 已知風險摘要(最多 3 點)
- 使用時的注意事項(如果建議使用)
/tmp/ 下的 clone