원클릭으로
code-security-scan
用于扫描代码仓库、源码目录、文件系统和配置文件中的密钥、依赖漏洞、IaC 错误配置和常见安全问题。适合组合 gitleaks、trufflehog、semgrep-offline、semgrep、trivy 对项目进行本地安全检查。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
用于扫描代码仓库、源码目录、文件系统和配置文件中的密钥、依赖漏洞、IaC 错误配置和常见安全问题。适合组合 gitleaks、trufflehog、semgrep-offline、semgrep、trivy 对项目进行本地安全检查。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
用于授权范围内的资产发现、DNS 验证、端口发现、HTTP 存活探测和基础指纹识别。适合用户提供域名、IP、CIDR、主机列表或已有扫描结果时使用。会指导智能体组合 subfinder、amass、dnsx、naabu、nmap、masscan、httpx、whatweb、wafw00f。
用于漏洞研究、公开 PoC 线索检索、Exploit-DB 查询、Metasploit 模块查询、payload 选型研究和 Linux 本地提权线索判断。适合用户提供产品版本、CVE、服务指纹、扫描结果、系统版本或内核版本时使用。
用于对授权目标执行 Nuclei 模板检查并整理结果。适合已有 URL、主机列表、技术栈线索或 CVE 线索时使用。重点指导模板选择、速率控制、JSONL 输出、结果复核和后续验证。
为单目标或少量目标的深入渗透测试提供场景化方法论和判断线索。适合用户提供域名、URL、IP、CIDR、靶机地址、系统入口或已有扫描结果,并要求“测一下”“深入测试”“做黑盒测试”“开始渗透测试”“继续往下验证”等场景。帮助理解当前证据、选择高价值测试方向、串联专项技能、识别误区并判断何时从广度发现转向深入验证。
用于在授权目标上使用 sqlmap 验证疑似 SQL 注入。适合用户提供 URL、参数、原始 HTTP 请求、Nuclei 发现或手工测试线索时使用。默认采用低风险低强度参数,优先证明问题存在,不默认导出数据或执行系统命令。
用于检查授权目标的 TLS 配置、证书、协议版本、加密套件和常见 TLS 风险。适合用户提供域名、IP、端口、HTTPS URL 或服务清单时使用。会指导 testssl.sh、sslscan、openssl 的组合使用。
| name | code-security-scan |
| description | 用于扫描代码仓库、源码目录、文件系统和配置文件中的密钥、依赖漏洞、IaC 错误配置和常见安全问题。适合组合 gitleaks、trufflehog、semgrep-offline、semgrep、trivy 对项目进行本地安全检查。 |
这份技能提供本地代码安全扫描的工具知识和结果判断方法。根据项目语言、仓库规模、部署方式和当前问题选择扫描器;不必为了“覆盖完整流程”运行所有工具。
检查项目中的:
确认:
当前镜像已经内置常用模板、规则、缓存或数据库。默认先使用内置资源,不要每次任务都在线更新。
临时更新前,先按下面标准判断是否划算:
| 预计新增下载量 | 默认策略 |
|---|---|
| 0–20 MB | 可以直接更新,适合增量更新或小规则集 |
| 20–50 MB | 通常可以更新,但要确认任务确实需要较新数据 |
| 50–100 MB | 谨慎更新;只有近期漏洞、近期 PoC 或用户要求最新结果时才做 |
| >100 MB | 默认不更新;除非用户明确要求,并且这个任务强依赖最新数据 |
| 无法估算大小 | 默认不更新,先使用镜像内置资源 |
同时考虑耗时:
更新失败时不要阻塞主流程,直接回退到镜像内置资源,并在结果里说明“使用的是内置数据,可能不是最新”。
如果工具支持 dry-run、增量更新或只更新索引,优先使用这种方式。不要为了普通任务下载大型字典、完整框架或未知来源的 PoC 仓库。
代码扫描相关数据更新要看下载量和任务目标。
Trivy DB 可能不小;如果只是普通项目初筛,默认使用镜像内置 DB。
如果用户要求最新 CVE 覆盖,或项目涉及近期漏洞,再临时更新。
建议加时间上限:
timeout 180 env TRIVY_SKIP_DB_UPDATE=false trivy fs . \
--format json \
--output code-scan/raw/trivy_fs_fresh.json
只想提前更新 DB 时:
timeout 180 env TRIVY_SKIP_DB_UPDATE=false trivy image --download-db-only --no-progress
Java DB 往往更大、更慢。只有在扫描 Java 项目、并且用户需要最新 Java 依赖漏洞时才考虑:
timeout 240 env TRIVY_SKIP_JAVA_DB_UPDATE=false trivy image --download-java-db-only --no-progress
如果更新超时或失败,回退到内置 DB:
trivy fs . --format json --output code-scan/raw/trivy_fs_builtin.json
默认使用离线规则:
semgrep-offline . --json -o code-scan/raw/semgrep_offline.json
如果用户允许在线规则,并且希望规则覆盖更广,可以使用:
semgrep --config auto . --json -o code-scan/raw/semgrep_auto.json
如果要更新内置规则仓库,只有在目录可写、网络可用、更新量较小、且用户需要较新规则时才做:
timeout 120 git -C "${SEMGREP_RULES_DIR:-/opt/semgrep-rules}" pull --ff-only
如果 git pull 显示更新量很大、耗时过长或失败,不要继续等待,直接使用已有离线规则。
semgrep-offline 会保留这份规则仓库的 Git 元数据,但运行时只加载顶层规则目录并跳过 scripts、stats、tests,不会把仓库根目录元数据当作规则解析。
seclists、wordlists:普通任务不更新。密钥、代码模式、依赖和部署配置属于不同证据面,可以独立检查,也可以互相印证。下面命令展示常见起点。
mkdir -p code-scan/{raw,clean,final,notes}
确认当前目录:
pwd
find . -maxdepth 2 -type f | sed 's#^\./##' | head -100
先用 Gitleaks:
gitleaks detect \
--source . \
--report-format json \
--report-path code-scan/raw/gitleaks.json
如果不是 Git 仓库:
gitleaks detect \
--no-git \
--source . \
--report-format json \
--report-path code-scan/raw/gitleaks_nogit.json
再用 TruffleHog 做补充:
trufflehog filesystem . \
--json > code-scan/raw/trufflehog_filesystem.jsonl
如果需要扫 Git 历史:
trufflehog git file://"$PWD" \
--json > code-scan/raw/trufflehog_git.jsonl
默认离线规则:
semgrep-offline . \
--json \
-o code-scan/raw/semgrep_offline.json
如果用户允许在线规则:
semgrep --config auto . \
--json \
-o code-scan/raw/semgrep_auto.json
如果用户提供规则目录:
semgrep --config ./rules . \
--json \
-o code-scan/raw/semgrep_custom.json
文件系统综合扫描:
trivy fs . \
--format json \
--output code-scan/raw/trivy_fs.json
只看配置风险:
trivy config . \
--format json \
--output code-scan/raw/trivy_config.json
如果用户给的是镜像:
trivy image IMAGE_NAME \
--format json \
--output code-scan/raw/trivy_image.json
Trivy 摘要:
jq '.Results[]? | {Target, Vulnerabilities, Misconfigurations, Secrets}' \
code-scan/raw/trivy_fs.json > code-scan/final/trivy_summary.json
Semgrep 摘要:
jq -r '.results[]? | [.extra.severity, .check_id, .path, (.start.line|tostring), .extra.message] | @tsv' \
code-scan/raw/semgrep_offline.json > code-scan/final/semgrep_findings.tsv
Gitleaks 摘要,避免输出 secret 原文:
jq -r '.[]? | [.RuleID, .File, (.StartLine|tostring), .Description] | @tsv' \
code-scan/raw/gitleaks.json > code-scan/final/gitleaks_findings.tsv
适合快速发现 Git 仓库里的密钥。
gitleaks detect --source . --report-format json --report-path gitleaks.json
要点:
适合更深入的 secret 发现,尤其是 Git 历史和可验证 secret。
trufflehog filesystem . --json > trufflehog.jsonl
trufflehog git file://"$PWD" --json > trufflehog_git.jsonl
要点:
适合默认静态代码扫描。
semgrep-offline . --json -o semgrep.json
要点:
适合在线规则或用户给定规则。
semgrep --config auto . --json -o semgrep_auto.json
要点:
适合依赖漏洞、配置错误、Secret、文件系统或镜像扫描。
trivy fs . --format json --output trivy_fs.json
trivy config . --format json --output trivy_config.json
trivy image IMAGE_NAME --format json --output trivy_image.json
要点:
扫描器命中更适合作为代码审查入口;只有结合上下文后,才能判断它是漏洞、测试样例、不可达代码还是误报。