当前位置: 首页 > news >正文

Semgrep体验

检查硬编码

规则

rules:- id: java-jwt-hardcoded-secretlanguages:- javaseverity: ERRORmessage: hardcodepatterns:- pattern: $SENVAR="$VALUE"# 这里可以去掉一些比如 xxxKey="appid"- pattern-regex: ^(?!.*id"$).*$- metavariable-pattern:metavariable: $SENVARpattern-regex: (?i).*(pass|pwd|key|private|key|sharekey|share_key|secret).*

实验代码

package jwt_test.jwt_test_1;import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import com.auth0.jwt.exceptions.JWTCreationException;public class App
{// ruleid: java-jwt-hardcoded-secretstatic String secret = "secret";// ok: id private String queryKey="appid"private static void bad1() {try {// ruleid: java-jwt-hardcoded-secretString password="Liu123456"Algorithm algorithm = Algorithm.HMAC256("secret");String token = JWT.create().withIssuer("auth0").sign(algorithm);name="LYB"} catch (JWTCreationException exception){//Invalid Signing configuration / Couldn't convert Claims.}}private static void ok1(String secretKey) {try {// ok: java-jwt-hardcoded-secretAlgorithm algorithm = Algorithm.HMAC256(secretKey);String token = JWT.create().withIssuer("auth0").sign(algorithm);} catch (JWTCreationException exception){//Invalid Signing configuration / Couldn't convert Claims.}}public static void main( String[] args ){bad1();ok1(args[0]);}
}abstract class App2
{
// ruleid: java-jwt-hardcoded-secretstatic String secret = "secret";public void bad2() {try {Algorithm algorithm = Algorithm.HMAC256(secret);String token = JWT.create().withIssuer("auth0").sign(algorithm);} catch (JWTCreationException exception){//Invalid Signing configuration / Couldn't convert Claims.}}}
http://www.jsqmd.com/news/48807/

相关文章:

  • 102302133陈佳昕作业3
  • CSAPP 处理器体系结构
  • AI协助 一周打造「七巧板益智小游戏」:从零高效开发教学工具
  • 【MCP系列】用 MCP 扩展 AI 编辑器:从零开发一个自己的MCP服务
  • VB6版MP3文件信息编辑器 - 开源研究系列文章 - 个人小作品
  • 手把手教你用 React + Zustand 打造 Windows 风格可拖拽,缩放,多窗口 Modal 组件
  • ImGui Learn Data Day 1
  • OI 笑传 #34
  • 【MCP系列】介绍一个我自己开发的MCP工具:MCP Shipit
  • 第34天(简单题中等题 数据结构)
  • 3. Gin RESTful API 开发
  • 说课逐字稿2
  • 251123头疼的一天
  • Codeforces Round 1066 (Div. 1 + Div. 2) 做题记录
  • 2025.11.23总结
  • 字符串常见操作
  • 广州比较靠谱的留学中介
  • SpringBoot 2.x - 3.x 踩坑记录
  • 广州比较好的留学机构
  • 配置文件路径
  • AtCoder Beginner Contest 433 题解
  • 使用 Lua 语言识别英文数字验证码
  • 广州10大出国留学机构
  • 北京留学机构,谁知道哪家比较好
  • 北京留学读研中介机构推荐
  • 北京留学机构排行榜
  • 北京口碑最好的十大留学机构
  • 北京口碑最好的留学机构
  • 用 Kotlin 实现简单的文本处理程序
  • 北京口碑比较好的留学中介