Skip to main content

安全审查

CoStrict Security 是一款自研的 AI 驱动安全扫描工具,精准覆盖注入攻击、越权访问、敏感信息泄露、不安全配置等常见安全漏洞,并提供完整的风险溯源与可执行的修复建议,让你在代码上线前有效消除安全隐患。

系统要求

安装方式版本要求支持平台
VSCode 插件≥ 2.4.7VSCode
JetBrains 插件≥ 2.4.7IDEA / PyCharm / WebStorm 等

使用方式

在编码阶段通过 IDE 进行交互式安全扫描,实时辅助开发人员发现并修复安全问题。

  • 支持对话式交互窗口,随时沟通、快速定位问题
  • 可结合业务上下文、威胁模型等先验知识,让检测结果更精准
  • 展示模型推理过程,让你清楚知道为什么报这个问题

扫描方式

方式一:扫描代码文件

在文件浏览器中右键点击文件,选择 CoStrict > Security Review 即可对整个文件进行安全扫描。

IDE使用1-扫描代码文件

方式二:扫描代码片段

在编辑器中选中代码片段右键点击选择 安全审查 即可对选中的代码进行代码扫描。

IDE使用2-扫描代码片段

方式三:扫描代码变更

点击左侧 CoStrict 图标,切换至 CODE REVIEW 页面,选择 安全扫描,即可扫描当前工作区的代码变更(如 Git 差异)。

IDE使用3-扫描代码变更

扫描报告

触发安全审查后,AGENT 面板会实时展示扫描过程。扫描过程中如涉及危险操作,需要用户手动确认后方可继续。扫描时长与代码量有关,从几分钟到几十分钟不等。扫描完成后,会在项目本地生成安全审查报告。报告包含以下三种类型:

报告文件类型说明
task_summary.md总结报告面向开发人员的可读性摘要,包含扫描概览与问题汇总
[目标文件]-report-[漏洞序号].json单文件漏洞报告对应单个文件的漏洞详情,适合接入自定义审查流程
full_report.jsonl合并报告所有扫描结果的汇总文件(JSONL 格式),适合工程化流程对接
安全审计任务总结 示例

审计概要

项目内容
审计时间2025-01-16
扫描目录e:/Projects/DVWA
审计文件数1
发现漏洞数2
输出目录security-review_result/

审计文件清单

文件路径漏洞数风险等级
vulnerabilities/exec/source/high.php2

漏洞统计

漏洞类型数量严重级别
命令注入(COMMAND_INJECTION)2

[高] 漏洞详情:命令注入 - 黑名单过滤不完整导致管道符绕过

  • 文件位置: vulnerabilities/exec/source/high.php:24-31
  • 严重级别: 高
  • 漏洞类型: 命令注入

漏洞描述

代码使用黑名单方式过滤用户输入中的Shell特殊字符,但黑名单不完整。其中对管道符的过滤 '| '(管道符+空格)仅过滤该精确组合,攻击者可使用不带空格的管道符 | 直接绕过。

数据流

绕过方式

  • Payload: 127.0.0.1|whoami (管道符后直接跟命令,无需空格)
  • 过滤后: ping 127.0.0.1|whoami 成功注入

业务影响

  • 远程代码执行(RCE)
  • 敏感数据泄露
  • 权限提升
  • 内网渗透

修复建议

使用白名单验证替代黑名单过滤,仅允许合法IP地址格式:

// 使用白名单验证,仅允许合法IP地址格式
$octet = explode(".", $target);

if ((is_numeric($octet[0])) && (is_numeric($octet[1])) &&
(is_numeric($octet[2])) && (is_numeric($octet[3])) &&
(sizeof($octet) == 4) &&
($octet[0] >= 0 && $octet[0] <= 255) &&
($octet[1] >= 0 && $octet[1] <= 255) &&
($octet[2] >= 0 && $octet[2] <= 255) &&
($octet[3] >= 0 && $octet[3] <= 255)) {
// 合法IP地址,安全执行
$cmd = shell_exec('ping -c 4 ' . $target);
}

安全扫描报告