bgalek/safe-svg

GitHub: bgalek/safe-svg

一个轻量级的Java安全验证库,用于检测SVG文件中的恶意内容以防止XSS攻击。

Stars: 45 | Forks: 8

# SVG 安全 [![构建](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/e52c460eba062548.svg)](https://github.com/bgalek/safe-svg/actions/workflows/build.yml) ![Codecov](https://img.shields.io/codecov/c/github/bgalek/safe-svg.svg?style=flat-square) ![GitHub 发布日期](https://img.shields.io/github/release-date/bgalek/safe-svg.svg?style=flat-square) ![Maven Central](https://img.shields.io/maven-central/v/com.github.bgalek.security.svg/safe-svg?style=flat-square) ![Libraries.io GitHub 仓库依赖状态](https://img.shields.io/librariesio/github/bgalek/safe-svg.svg?style=flat-square) ![Scrutinizer 代码质量](https://img.shields.io/scrutinizer/g/bgalek/safe-svg.svg?style=flat-square) [![质量门状态](https://sonarcloud.io/api/project_badges/measure?project=bgalek_safe-svg&metric=alert_status)](https://sonarcloud.io/dashboard?id=bgalek_safe-svg?style=flat-square) 它将帮助您检测上传的 SVG 中的恶意内容。 ## 您知道 SVG 会导致 XSS 吗? 阅读 [https://sekurak.pl/pozwalasz-ladowac-pliki-svg-masz-xss-a/](https://sekurak.pl/pozwalasz-ladowac-pliki-svg-masz-xss-a/) 了解更多详情。 ## 示例 尝试将此 SVG 上传到您的应用程序,如果它顺利通过且用户可以浏览此文件 —— 您可能容易受到 XSS 攻击。 ``` ``` ## 用法 添加库依赖: ``` compile "com.github.bgalek.security.svg:safe-svg:1.1.4" ``` 您可以使用此库来检查上传的 svg 文件 ``` SvgSecurityValidator svgSecurityValidator = SvgSecurityValidator.builder().build(); String svg = "\n" + "\n" + "\n" + "\n" + "\n" + ""; ValidationResult validation = svgSecurityValidator.validate(svg); if (validation.hasViolations()) { throw new RuntimeException("this file is suspicious" + validation.getOffendingElements()); } ``` 如果您想允许其他(可能不安全的)元素/属性,请使用 ``` ValidationResult detect = SvgSecurityValidator.builder() .withAdditionalElements(elements) .withAdditionalAttributes(attributes) .build() .validate(testFile); ```
标签:API密钥检测, Java库, JS文件枚举, LangChain, Maven, SVG净化, SVG安全, Web安全, XSS防护, YAML, 图像处理安全, 域名枚举, 安全库, 文件上传安全, 文件验证, 漏洞防御, 漏洞验证, 矢量图形, 网络安全, 蓝队分析, 跨站脚本攻击, 轻量级, 输入验证, 隐私保护