S³ Security Audit

基于静态分析与依赖扫描的代码安全审计技能,覆盖 OWASP Top 10 常见漏洞。

已扫描
适合谁
后端开发工程师、安全测试人员
不适合谁
无代码经验的普通用户、无需代码审计的非技术用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
中等(★★☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @solomonneas/s3-security-audit

Skill 说明

命令、参数、文件名以原文为准

安全审计技能

对代码库执行安全审计。基于 Trail of Bits 安全研究方法论进行改编。

适用场景

  • 部署前的安全审查
  • 漏洞代码审计
  • 依赖项漏洞检查
  • 基础设施/配置安全审查
  • 项目作品集的安全加固

审计阶段

第一阶段:侦察阶段

在扫描前了解代码库结构:

# 语言检测
find . -type f | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -20

# 框架检测
ls package.json pyproject.toml Gemfile go.mod Cargo.toml requirements.txt 2>/dev/null

# 入口点查找
grep -r "app.listen\|createServer\|Flask(\|FastAPI(\|func main" --include="*.py" --include="*.js" --include="*.ts" --include="*.go" -l

# 环境与密钥文件
find . -name ".env*" -o -name "*.pem" -o -name "*.key" -o -name "*secret*" -o -name "*credential*" | grep -v node_modules | grep -v .git

第二阶段:自动化扫描

密钥检测:

# 检测常见密钥模式
grep -rn "API_KEY\|SECRET\|PASSWORD\|TOKEN\|PRIVATE_KEY\|aws_access\|ssh-rsa" --include="*.py" --include="*.js" --include="*.ts" --include="*.env" --include="*.yaml" --include="*.yml" --include="*.json" . | grep -v node_modules | grep -v .git | grep -v "*.example"

依赖项漏洞检查:

# Node.js
npm audit --json 2>/dev/null | head -100

# Python
pip-audit 2>/dev/null || pip install pip-audit && pip-audit

# 检查过时依赖
npm outdated 2>/dev/null
pip list --outdated 2>/dev/null

常见漏洞模式(基于 grep):

# SQL 注入(查询中的字符串拼接)
grep -rn "execute.*+\|execute.*%\|execute.*f'" --include="*.py" .
grep -rn "query.*+\|query.*\`" --include="*.js" --include="*.ts" .

# XSS(innerHTML、dangerouslySetInnerHTML)
grep -rn "innerHTML\|dangerouslySetInnerHTML\|v-html\|\$sce.trustAsHtml" --include="*.js" --include="*.ts" --include="*.jsx" --include="*.tsx" --include="*.vue" .

# 命令注入
grep -rn "exec(\|system(\|popen(\|subprocess.call\|child_process" --include="*.py" --include="*.js" --include="*.ts" .

# 路径遍历
grep -rn "\.\./" --include="*.py" --include="*.js" --include="*.ts" . | grep -v node_modules | grep -v test

# 硬编码凭证
grep -rn "password.*=.*['\"].\+['\"]" --include="*.py" --include="*.js" --include="*.ts" --include="*.yaml" . | grep -v node_modules | grep -v test | grep -v example

第三阶段:基础设施审查

# Dockerfile 问题
grep -n "FROM.*latest\|--no-check-certificate\|curl.*\|.*http:" Dockerfile* 2>/dev/null

# CORS 配置
grep -rn "Access-Control-Allow-Origin.*\*\|cors({.*origin.*true\|CORS(.*allow_all" --include="*.py" --include="*.js" --include="*.ts" .

# TLS/SSL
grep -rn "verify.*False\|rejectUnauthorized.*false\|NODE_TLS_REJECT_UNAUTHORIZED" --include="*.py" --include="*.js" --include="*.ts" .

# 速率限制(缺失即为发现项)
grep -rn "rateLimit\|rate.limit\|throttle\|slowDown" --include="*.py" --include="*.js" --include="*.ts" . || echo "WARNING: No rate limiting detected"

第四阶段:人工审查重点

基于 OWASP Top 10(2021):

  1. A01 访问控制失效 —— 检查认证中间件、路由保护、IDOR 模式
  2. A02 加密失败 —— 使用弱哈希(如 MD5/SHA1 处理密码)、缺少加密
  3. A03 注入 —— SQL、NoSQL、操作系统命令、LDAP 注入
  4. A04 不安全设计 —— 缺少输入验证、信任边界违规
  5. A05 安全配置错误 —— 调试模式开启、默认凭据、错误信息过于详细
  6. A06 受影响组件 —— 存在已知 CVE 的过时依赖
  7. A07 认证失败 —— 弱密码策略、缺少 MFA、会话固定
  8. A08 数据完整性失败 —— 未签名更新、不安全的反序列化
  9. A09 日志记录失败 —— 缺少审计日志、记录敏感数据
  10. A10 服务器端请求伪造(SSRF) —— URL 输入未验证、可访问内部服务

报告格式

# 安全审计报告
**项目:** [名称]
**日期:** [日期]
**范围:** [被审计的文件/组件]

## 执行摘要
[1-2 句话总结整体安全状况]

## 严重发现
### [CRITICAL-001] [标题]
- **严重程度:** 严重/高/中/低/信息
- **类别:** OWASP A0X
- **位置:** 文件:行号
- **描述:** 问题所在
- **影响:** 攻击者可能造成的后果
- **修复建议:** 如何修复
- **代码示例:** [修复前后代码片段]

## 总结表格
| ID | 严重程度 | 类别 | 标题 | 状态 |
|----|----------|------|------|------|
| C-001 | 严重 | A03 | 用户搜索中的 SQL 注入 | 未修复 |

## 建议
[按优先级排序的安全改进建议列表]

局限性

  • 基于 grep 的扫描存在较高误报率,需人工验证
  • 无法检测逻辑缺陷或业务逻辑漏洞
  • 不能替代专业的渗透测试
  • 无运行时分析(DAST),仅支持静态分析
S
@solomonneas

已收录 3 个 Skill

相关推荐