name: senior-secops description: 综合安全运营(SecOps)技能,涵盖应用安全、漏洞管理、合规性和安全开发实践。包括安全扫描、漏洞评估、合规性检查和安全自动化。在实施安全控制、进行安全审计、响应漏洞或确保合规要求时使用。
高级安全运营工程师
包括漏洞管理、合规性验证、安全编码实践和安全自动化在内的安全运营完整工具箱。
目录
触发词汇
遇到以下情况时使用此技能:
| 类别 | 词汇 |
|---|---|
| 漏洞管理 | CVE,CVSS,漏洞扫描,安全补丁,依赖审计,npm审计,pip-audit |
| OWASP Top 10 | 注入,XSS,CSRF,身份认证失败,安全配置错误,敏感数据暴露 |
| 合规性 | SOC 2,PCI-DSS,HIPAA,GDPR,合规审计,安全控制,访问控制 |
| 安全编码 | 输入验证,输出编码,参数化查询,预编译语句,清理 |
| 秘密管理 | API密钥,秘密库,环境变量,HashiCorp Vault,AWS Secrets Manager |
| 认证 | JWT,OAuth,MFA,2FA,TOTP,密码散列,bcrypt,argon2,会话管理 |
| 安全测试 | SAST,DAST,渗透测试,安全扫描,Snyk,Semgrep,CodeQL,Trivy |
| 事件响应 | 安全事件,违规通知,事件响应,取证,遏制 |
| 网络安全 | TLS,HTTPS,HSTS,CSP,CORS,安全头,防火墙规则,WAF |
| 基础设施安全 | 容器安全,Kubernetes安全,IAM,最小权限,零信任 |
| 密码学 | 静态加密,传输中加密,AES-256,RSA,密钥管理,KMS |
| 监控 | 安全监控,SIEM,审计日志,入侵检测,异常检测 |
核心能力
1. 安全扫描器
扫描源代码中的安全漏洞,包括硬编码的秘密、SQL注入、XSS、命令注入和路径遍历。
# 扫描项目的安全问题
python scripts/security_scanner.py /path/to/project
# 按严重性过滤
python scripts/security_scanner.py /path/to/project --severity high
# JSON输出,用于CI/CD
python scripts/security_scanner.py /path/to/project --json --output report.json
检测:
- 硬编码的秘密(API密钥、密码、AWS凭据、GitHub令牌、私钥)
- SQL注入模式(字符串连接、f-strings、模板文字)
- XSS漏洞(innerHTML赋值、不安全的DOM操作、React不安全模式)
- 命令注入(shell=True、exec、带有用户输入的eval)
- 路径遍历(带有用户输入的文件操作)
2. 漏洞评估器
扫描依赖项中已知的CVE。
# 评估项目依赖项
python scripts/vulnerability_assessor.py /path/to/project
# 仅关键/高
python scripts/vulnerability_assessor.py /path/to/project --severity high
# 导出漏洞报告
python scripts/vulnerability_assessor.py /path/to/project --json --output vulns.json
扫描:
package.json和package-lock.json(npm)requirements.txt和pyproject.toml(Python)go.mod(Go)
输出:
- CVE ID及CVSS分数
- 受影响的包版本
- 用于补救的固定版本
- 总体风险评分(0-100)
3. 合规性检查器
验证SOC 2、PCI-DSS、HIPAA和GDPR框架的安全合规性。
# 检查所有框架
python scripts/compliance_checker.py /path/to/project
# 特定框架
python scripts/compliance_checker.py /path/to/project --framework soc2
python scripts/compliance_checker.py /path/to/project --framework pci-dss
python scripts/compliance_checker.py /path/to/project --framework hipaa
python scripts/compliance_checker.py /path/to/project --framework gdpr
# 导出合规性报告
python scripts/compliance_checker.py /path/to/project --json --output compliance.json
验证:
- 访问控制实施
- 静态和传输中的加密
- 审计日志
- 认证强度(MFA、密码散列)
- 安全文档
- CI/CD安全控制
工作流程
工作流程1:安全审计
对代码库进行全面的安全评估。
# 第1步:扫描代码漏洞
python scripts/security_scanner.py . --severity medium
# 第2步:检查依赖漏洞
python scripts/vulnerability_assessor.py . --severity high
# 第3步:验证合规性控制
python scripts/compliance_checker.py . --framework all
# 第4步:生成综合报告
python scripts/security_scanner.py . --json --output security.json
python scripts/vulnerability_assessor.py . --json --output vulns.json
python scripts/compliance_checker.py . --json --output compliance.json
工作流程2:CI/CD安全门
将安全检查集成到部署管道中。
# .github/workflows/security.yml
name: Security Scan
on:
pull_request:
branches: [main, develop]
jobs:
security-scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Security Scanner
run: python scripts/security_scanner.py . --severity high
- name: Vulnerability Assessment
run: python scripts/vulnerability_assessor.py . --severity critical
- name: Compliance Check
run: python scripts/compliance_checker.py . --framework soc2
工作流程3:CVE分类
响应影响您的应用程序的新CVE。
1. 评估(0-2小时)
- 使用vulnerability_assessor.py识别受影响的系统
- 检查CVE是否正在被积极利用
- 确定您上下文中的CVSS环境分数
2. 优先级
- 严重(CVSS 9.0+,面向互联网):24小时
- 高(CVSS 7.0-8.9):7天
- 中(CVSS 4.0-6.9):30天
- 低(CVSS < 4.0):90天
3. 补救
- 更新受影响的依赖项到固定版本
- 运行security_scanner.py以验证修复
- 测试回归
- 部署增强监控
4. 验证
- 重新运行vulnerability_assessor.py
- 确认CVE不再报告
- 记录补救措施
工作流程4:事件响应
安全事件处理程序。
阶段1:检测和识别(0-15分钟)
- 收到并确认警报
- 初步严重性评估(SEV-1至SEV-4)
- 分配事件指挥官
- 建立通信渠道
阶段2:遏制(15-60分钟)
- 确定受影响的系统
- 如有需要,进行网络隔离
- 如果凭证被泄露,则轮换凭证
- 保留证据(日志、内存转储)
阶段3:根除(1-4小时)
- 确定根本原因
- 移除恶意软件/后门
- 修补漏洞(运行security_scanner.py)
- 加固系统
阶段4:恢复(4-24小时)
- 从干净的备份中恢复系统
- 重新上线服务
- 启用增强监控
- 恢复用户访问
阶段5:事件后(24-72小时)
- 记录事件时间线
- 完成根本原因分析
- 记录经验教训
- 实施预防措施
- 提交利益相关者报告
工具参考
security_scanner.py
| 选项 | 描述 |
|---|---|
target |
要扫描的目录或文件 |
--severity, -s |
最小严重性:关键,高,中,低 |
--verbose, -v |
显示正在扫描的文件 |
--json |
输出结果为JSON |
--output, -o |
将结果写入文件 |
退出代码:
0:没有关键/高发现1:高严重性发现2:关键严重性发现
vulnerability_assessor.py
| 选项 | 描述 |
|---|---|
target |
包含依赖文件的目录 |
--severity, -s |
最小严重性:关键,高,中,低 |
--verbose, -v |
显示正在扫描的文件 |
--json |
输出结果为JSON |
--output, -o |
将结果写入文件 |
退出代码:
0:没有关键/高漏洞1:高严重性漏洞2:关键严重性漏洞
compliance_checker.py
| 选项 | 描述 |
|---|---|
target |
要检查的目录 |
--framework, -f |
框架:soc2,pci-dss,hipaa,gdpr,全部 |
--verbose, -v |
显示检查时的运行情况 |
--json |
输出结果为JSON |
--output, -o |
将结果写入文件 |
退出代码:
0:合规(90%+分数)1:不合规(50-69%分数)2:关键差距(<50%分数)
安全标准
OWASP Top 10防护
| 漏洞 | 防护 |
|---|---|
| A01:访问控制失败 | 实施RBAC,默认拒绝,服务器端验证权限 |
| A02:密码学失败 | 使用TLS 1.2+,AES-256加密,安全的密钥管理 |
| A03:注入 | 参数化查询,输入验证,转义输出 |
| A04:不安全设计 | 威胁建模,安全设计模式,深度防御 |
| A05:安全配置错误 | 硬化指南,移除默认设置,禁用未使用的功能 |
| A06:脆弱组件 | 依赖扫描,自动更新,SBOM |
| A07:认证失败 | MFA,速率限制,安全密码存储 |
| A08:数据完整性失败 | 代码签名,完整性检查,安全的CI/CD |
| A09:安全日志记录失败 | 全面审计日志,SIEM集成,警报 |
| A10:SSRF | URL验证,允许列表目的地,网络分段 |
安全编码清单
# 输入验证
- [ ] 服务器端验证所有输入
- [ ] 使用允许列表而不是拒绝列表
- [ ] 针对特定上下文进行清理(HTML,SQL,shell)
# 输出编码
- [ ] 浏览器输出HTML编码
- [ ] URL编码URL
- [ ] 脚本上下文JavaScript编码
# 认证
- [ ] 使用bcrypt/argon2进行密码存储
- [ ] 对敏感操作实施MFA
- [ ] 强制执行强密码策略
# 会话管理
- [ ] 生成安全的随机会话ID
- [ ] 设置HttpOnly,Secure,SameSite标志
- [ ] 实施会话超时(15分钟空闲)
# 错误处理
- [ ] 记录错误上下文(无秘密)
- [ ] 向用户返回通用消息
- [ ] 生产中永远不要暴露堆栈跟踪
# 秘密管理
- [ ] 使用环境变量或秘密管理器
- [ ] 永远不要将秘密提交到版本控制
- [ ] 定期轮换凭证
合规框架
SOC 2类型II控制
| 控制 | 类别 | 描述 |
|---|---|---|
| CC1 | 控制环境 | 安全政策,组织结构 |
| CC2 | 通信 | 安全意识,文档 |
| CC3 | 风险评估 | 漏洞扫描,威胁建模 |
| CC6 | 逻辑访问 | 认证,授权,MFA |
| CC7 | 系统操作 | 监控,日志记录,事件响应 |
| CC8 | 变更管理 | CI/CD,代码审查,部署控制 |
PCI-DSS v4.0要求
| 要求 | 描述 |
|---|---|
| Req 3 | 保护存储的持卡人数据(静态加密) |
| Req 4 | 加密传输(TLS 1.2+) |
| Req 6 | 安全开发(输入验证,安全编码) |
| Req 8 | 强认证(MFA,密码策略) |
| Req 10 | 审计日志(访问持卡人数据的所有访问) |
| Req 11 | 安全测试(SAST,DAST,渗透测试) |
HIPAA安全规则
| 安全防护 | 要求 |
|---|---|
| 164.312(a)(1) | 为PHI访问提供唯一用户标识 |
| 164.312(b) | PHI访问的审计跟踪 |
| 164.312©(1) | 数据完整性控制 |
| 164.312(d) | 个人/实体认证(MFA) |
| 164.312(e)(1) | 传输加密(TLS) |
GDPR要求
| 文章 | 要求 |
|---|---|
| Art 25 | 隐私设计,数据最小化 |
| Art 32 | 安全措施,加密,匿名化 |
| Art 33 | 违规通知(72小时) |
| Art 17 | 删除数据的权利(数据删除) |
| Art 20 | 数据可携带性(导出能力) |
最佳实践
秘密管理
# 坏:硬编码的秘密
API_KEY = "sk-1234567890abcdef"
# 好:环境变量
import os
API_KEY = os.environ.get("API_KEY")
# 更好:秘密管理器
from your_vault_client import get_secret
API_KEY = get_secret("api/key")
SQL注入防护
# 坏:字符串连接
query = f"SELECT * FROM users WHERE id = {user_id}"
# 好:参数化查询
cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
XSS防护
// 坏:直接innerHTML赋值是易受攻击的
// 好:使用textContent(自动转义)
element.textContent = userInput;
// 好:使用HTML清理库
import DOMPurify from 'dompurify';
const safeHTML = DOMPurify.sanitize(userInput);
认证
// 密码散列
const bcrypt = require('bcrypt');
const SALT_ROUNDS = 12;
// 散列密码
const hash = await bcrypt.hash(password, SALT_ROUNDS);
// 验证密码
const match = await bcrypt.compare(password, hash);
安全头
// Express.js安全头
const helmet = require('helmet');
app.use(helmet());
// 或手动设置头:
app.use((req, res, next) => {
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('X-XSS-Protection', '1; mode=block');
res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains');
res.setHeader('Content-Security-Policy', "default-src 'self'");
next();
});
参考文档
| 文档 | 描述 |
|---|---|
references/security_standards.md |
OWASP Top 10,安全编码,认证,API安全 |
references/vulnerability_management_guide.md |
CVE分类,CVSS评分,补救工作流程 |
references/compliance_requirements.md |
SOC 2,PCI-DSS,HIPAA,GDPR要求 |
技术栈
安全扫描:
- Snyk(依赖扫描)
- Semgrep(SAST)
- CodeQL(代码分析)
- Trivy(容器扫描)
- OWASP ZAP(DAST)
秘密管理:
- HashiCorp Vault
- AWS Secrets Manager
- Azure Key Vault
- 1Password Secrets Automation
认证:
- bcrypt,argon2(密码散列)
- jsonwebtoken(JWT)
- passport.js(认证中间件)
- speakeasy(TOTP/MFA)
日志记录和监控:
- Winston,Pino(Node.js日志记录)
- Datadog,Splunk(SIEM)
- PagerDuty(警报)
合规性:
- Vanta(SOC 2自动化)
- Drata(合规性管理)
- AWS Config(配置合规性)