1 Star 0 Fork 0

小义的爸爸/chip

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Chip - 发现所有PHP动态特性安全隐患

工具介绍

用一些简单的问题来介绍Chip工具。

这个工具是做什么的?

PHP源代码静态分析,发掘所有可能由于动态特性导致的安全隐患。

什么是“动态特性”?

一段代码,其使用变量作为参数,且改变变量的值将可能导致这段代码发生功能上的变化,我将这种现象成为“PHP的动态特性”。

例如:

<?php
eval('echo ' . $_POST['name']);

例如:

<?php
array_map($function_name, $_POST);

例如:

<?php
$f($arg);

Chip是不是一个webshell检测工具?

不是。Chip只对扫描的代码提出安全建议,并不会判断这段代码是否是webshell。

Chip是不是一个自动化代码审计工具?

不是。Chip只对扫描的代码提出安全建议,不会分析上下文是否有用户输入,安全隐患点是否可控等。

Chip适合在哪些场景下使用?

  • 在开发中,在持续集成阶段对开发者提交的代码进行安全性检查,并给出修改意见
  • 在代码审计中,发现可能存在的代码活命令执行漏洞
  • Wargame比赛中对流量、新的Web文件进行扫描

Chip不适合扫描哪些代码

  • Web框架的库文件(不要扫描/vendor/中的文件),原因是有的库使用了很多黑魔法,可能涉及到大量动态特性
  • 业务中的确使用了很多动态特性的代码

安装与使用

命令行下使用

直接下载PHAR包,使用命令行调用:

php chip.phar check tests/cases/

生成html报告:

php chip.phar check tests/cases/ -r html -o report.html

使用API调用

使用composer安装:

composer require phith0n/chip "dev-master"

使用:

<?php
require 'vendor/autoload.php';

use Chip\Exception\FormatException;
use Chip\ChipFactory;

try {
    $chipManager = (new ChipFactory)->create();
    $alarm = $chipManager->detect('<?php usort($a, $b);');

    print_r($alarm);
} catch (FormatException $e) {
    echo $e->getMessage();
}

应该参考的项目

空文件

简介

a simple tool to detect potential security threat in php code 展开 收起
取消

发行版

暂无发行版

贡献者

全部

语言

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/csharphpython/chip.git
git@gitee.com:csharphpython/chip.git
csharphpython
chip
chip
master

搜索帮助