|
|
@ -1,3 +1,9 @@ |
|
|
|
|
|
|
|
/* |
|
|
|
|
|
|
|
* Copyright (c) 2023 - 2024. KeyWare.Co.Ltd All rights reserved. |
|
|
|
|
|
|
|
* 项目名称:Java 信息安全性设计准则 |
|
|
|
|
|
|
|
* 项目描述:用于检查Java源代码的安全性设计准则的Sonarqube插件 |
|
|
|
|
|
|
|
* 版权说明:本软件属北京关键科技股份有限公司所有,在未获得北京关键科技股份有限公司正式授权情况下,任何企业和个人,不能获取、阅读、安装、传播本软件涉及的任何受知识产权保护的内容。 |
|
|
|
|
|
|
|
*/ |
|
|
|
package com.keyware.sonar.java.rules.checkers; |
|
|
|
package com.keyware.sonar.java.rules.checkers; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -12,18 +18,13 @@ import java.util.Collections; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Rule(key = "SessionExpirationDateChecker") |
|
|
|
@Rule(key = "DynamicCodeChecker") |
|
|
|
|
|
|
|
|
|
|
|
//检测代码中包含动态代码执行操作时,工具进行提示
|
|
|
|
//检测代码中包含动态代码执行操作时,工具进行提示
|
|
|
|
public class DynamicCodeChecker extends SubscriptionVisitor { |
|
|
|
public class DynamicCodeChecker extends SubscriptionVisitor { |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public List<Tree.Kind> nodesToVisit() { |
|
|
|
public List<Tree.Kind> nodesToVisit() { |
|
|
|
/** |
|
|
|
|
|
|
|
* Tree.Kind.METHOD:方法节点 |
|
|
|
|
|
|
|
* Tree.Kind.BLOCK:方法的代码块节点 |
|
|
|
|
|
|
|
* Tree.Kind.METHOD_INVOCATION: 方法的调用节点 |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
return Collections.singletonList( |
|
|
|
return Collections.singletonList( |
|
|
|
Tree.Kind.METHOD_INVOCATION |
|
|
|
Tree.Kind.METHOD_INVOCATION |
|
|
|
); |
|
|
|
); |
|
|
|