Strix实战教程:5分钟给GitHub仓库加上AI安全扫描

Strix实战教程:5分钟给GitHub仓库加上AI安全扫描

上一篇文章介绍了Strix这个开源AI渗透测试工具。本篇教程手把手教你如何把它接入GitHub Actions,每次提交代码自动触发AI安全扫描,让漏洞在合并之前就被拦截。

article-7-strix-tutorial.md封面

### 前提条件

在开始之前,你需要准备:

– 一个GitHub仓库(公开或私有均可)

– 一个LLM API Key(支持OpenAI、Anthropic等,推荐用Claude API以获得最佳安全分析效果)

– 基本的Git操作知识

### Step 1: 注册Strix并获取安装令牌

访问 [app.strix.ai](https://app.strix.ai) 用GitHub账号登录,免费版支持公共仓库的快速扫描。登录后在Dashboard中找到你的API配置页面。

### Step 2: 添加GitHub Secrets

进入你的仓库 → Settings → Secrets and variables → Actions,添加两个Secret:

STRIX_LLM = anthropic/claude-sonnet-5-20260630
LLM_API_KEY = sk-ant-api03-your-key-here

**提示**:`STRIX_LLM`支持多种模型格式。推荐使用 `anthropic/claude-sonnet-5-20260630`,它在代码理解上表现最好。如果你的项目主要用Python,也可以用 `openai/gpt-5.5`。

### Step 3: 创建GitHub Actions工作流文件

在仓库根目录创建 `.github/workflows/strix-scan.yml`:

name: strix-security-scan
on:
  pull_request:
    branches: [main, master]
  push:
    branches: [main, master]

jobs:
  security-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v6
        with:
          fetch-depth: 0

      - name: Install Strix
        run: curl -sSL https://strix.ai/install | bash

      - name: Run Strix Quick Scan
        env:
          STRIX_LLM: ${{ secrets.STRIX_LLM }}
          LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
        run: strix -n -t ./ --scan-mode quick

      - name: Run Strix Deep Scan (on main push only)
        if: github.event_name == 'push' && github.ref == 'refs/heads/main'
        env:
          STRIX_LLM: ${{ secrets.STRIX_LLM }}
          LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
        run: strix -n -t ./ --scan-mode deep

### Step 4: 理解两种扫描模式

Quick Scan(快速模式):适合每次PR提交。扫描时间约2-5分钟,覆盖OWASP Top 10常见漏洞类型。检查SQL注入、XSS、敏感信息泄露、不安全的反序列化等。

Deep Scan(深度模式):适合合并到主分支后的全量扫描。耗时10-30分钟,会进行多步骤攻击链模拟。比如:先发现一个信息泄露点→利用泄露信息尝试权限提升→再用提升的权限访问敏感接口。

### Step 5: 解读扫描结果

扫描完成后,Strix会在GitHub的PR页面添加内联评论。每个发现包含三个关键部分:

🔴 HIGH | SQL Injection in /api/users/search
📍 File: src/routes/users.py:42
🔬 PoC: curl -X GET "https://target/api/users/search?q=' OR 1=1--"
💡 Fix: Use parameterized queries. Replace f-string with ? placeholder.

严重程度(🔴 HIGH / 🟡 MEDIUM / 🟢 LOW)

PoC验证:这是一个真实可复现的攻击示例,不是理论推断

修复建议:Strix直接告诉你该改哪一行、怎么改

### Step 6: 本地使用(不依赖GitHub Actions)

如果你不想走CI流程,也可以直接在本地运行:

# 安装
curl -sSL https://strix.ai/install | bash

# 设置环境变量
export STRIX_LLM="anthropic/claude-sonnet-5-20260630"
export LLM_API_KEY="sk-ant-api03-your-key-here"

# 快速扫描当前目录
strix -n -t ./ --scan-mode quick

# 扫描指定文件或目录
strix -n -t ./src/api/ --scan-mode deep

# 输出JSON格式结果(方便集成到其他工具)
strix -n -t ./ --scan-mode quick --output json --output-file report.json

### 进阶技巧

1. 自定义忽略规则

在项目根目录创建 `.strixignore` 文件:

# 忽略测试文件
**/test/**
**/__tests__/**
# 忽略第三方库
vendor/
node_modules/

2. 设置最低严重度阈值

只报告HIGH级别的漏洞,减少噪音:

strix -n -t ./ --scan-mode quick --min-severity high

3. 定期全量扫描

建议在GitHub Actions中添加定时任务,每天凌晨自动跑深度扫描:

on:
  schedule:
    - cron: '0 2 * * *'  # 每天UTC 2:00

**成本提示**:Quick Scan每次约消耗5000-15000 token(约$0.02-0.10),Deep Scan每次约消耗30000-80000 token(约$0.10-0.50)。对于中小项目,月成本通常在$5-20之间。

### 实战经验:避免常见坑

坑1:API Key放在公开仓库中

千万不要把API Key直接写在YAML文件里。GitHub会自动扫描并撤销泄露的密钥。始终用Secrets存储。如果你不小心提交了Key,立即在Anthropic/OpenAI控制台吊销该Key并生成新的。

坑2:Deep Scan在主分支PR上运行导致超时

Deep Scan耗时较长,如果在每个PR上都跑,不仅浪费token还会拖慢CI流水线。正确的做法是快速扫描跑PR、深度扫描跑定时任务(如每天凌晨)。上面示例中的 `if: github.event_name == ‘push’` 条件已经实现了这个策略。

坑3:忽略了Strix的token成本

初次使用者经常惊讶地发现,一天的Deep Scan消耗了$3-5的API费用。建议在正式启用前,先用一个测试仓库跑一周,评估实际成本后再决定扫描频率。你也可以通过 `–min-severity high` 参数只关注高危漏洞来降低token消耗。

### 总结

Strix代表了AI安全工具的一次范式转移——从”定期体检”变成”持续监护”。把它接入CI/CD,就像给每个PR配备了一位24小时值班的安全工程师。对个人开发者和中小团队来说,这种以前只有大厂才用得起的防护能力,现在只需要几行YAML配置和每月一杯咖啡的成本。

🔥 关注LC智趣厅,每篇教程都配可运行的代码。

👇 关注不错过,下一篇教你省90%的API费用。


— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn

滚动至顶部
微信公众号:LC智趣厅

扫码关注微信公众号
LC智趣厅