ImageMagick
此条目或章节需要時常更新。有關事物或許會隨著時間而有所變化。 |
| 開發者 | ImageMagick Studio LLC |
|---|---|
| 当前版本 | 7.1.2-29(2026年7月27日) |
| 源代码库 | |
| 编程语言 | C语言 |
| 操作系统 | 跨平台 |
| 类型 | 图像处理 |
| 许可协议 | ImageMagick许可证 |
| 网站 | imagemagick |
ImageMagick是一个用于查看、编辑位图文件以及进行图像格式转换的开放源代码[1]软件套装。据官方文档,它可以读取超过100种主要图片格式,子格式尚不计算在内[2]。ImageMagick以ImageMagick许可证 (页面存档备份,存于互联网档案馆)发布,该许可证在SPDX许可证列表中拥有独立标识符,其条文与Apache许可证2.0版几乎一致[3]。
功能及特点
[编辑]ImageMagick主要由大量的命令行程序组成,而不提供像Adobe Photoshop、GIMP这样的图形界面。但是,ImageMagick也提供了一个基于X Window的简易GUI:IMDisplay。它还为很多程序语言提供了API库。Imagemagick使用特征签名识别文件类型。
很多程序可以使用ImageMagick创建缩略图。MediaWiki即提供相应选项,管理员将$wgUseImageMagick设为真值后,缩放图片的工作便由ImageMagick而非PHP内建函数完成,该选项默认为关闭[4]。phpBB和vBulletin同样借助ImageMagick生成缩略图,还有其它一些程序如LyX使用ImageMagick转换图片格式。
在Perl语言中,ImageMagick还有一个API叫PerlMagick[5]。此外官方还列出了C的MagickCore与MagickWand、C++的Magick++、PHP的IMagick、Python的PythonMagick、Ruby的RMagick与.NET的Magick.NET等多种绑定[6]。
文件格式转换
[编辑]ImageMagick最基本的一个功能是准确高效地转换超过68种图片的格式,包括常见的TIFF、JPEG、PNG、PDF、PhotoCD,以及GIF。请参考ImageMagick支持的格式列表(页面存档备份,存于互联网档案馆)。
特效
[编辑]ImageMagick包括了大量用于特效的滤镜和扩展功能。
安全性
[编辑]2016年5月,研究人员公开了一组ImageMagick漏洞,并以ImageTragick为名发布。其中最严重的一项编号为CVE-2016-3714,官方描述指出,在6.9.3-10之前的版本以及7.0.1-1之前的7.x版本中,EPHEMERAL、MVG、MSL等编码器允许远程攻击者借由特制图像中的shell元字符执行任意代码[7],成因在于软件调用外部程序时对%M参数过滤不足[8]。据《The Register》报道,漏洞由化名Stewie的研究者与Mail.ru的Nikolay Ermishkin发现,官方随后发布7.0.1-1与6.9.3-10予以修复[9]。iThome指出,凡是允许用户上传图像的网站都会受到影响,估计当时至少有数百万台网页服务器采用ImageMagick[10]。
ImageMagick通过名为policy.xml的配置文件限制可用功能。自7.1.1-16起,官方提供Open、Limited、Secure与Websafe四种预设策略,并建议需要处理的不可信输入越多,所采用的策略就应当越严格[11]。漏洞报告在此后持续出现,Debian安全跟踪器为imagemagick源码包列出了817个CVE编号,最早可追溯到2003年[12]。
参见
[编辑]参考资料
[编辑]- ^ ImageMagick license. [2010-03-07]. (原始内容存档于2020-12-20).
- ^ Image Formats. ImageMagick. [2026-08-11] (英语).
- ^ ImageMagick License. SPDX License List. Linux Foundation. [2026-08-11]. (原始内容存档于2015-07-17) (英语).
- ^ Manual:$wgUseImageMagick. MediaWiki. [2026-08-11] (英语).
- ^ PerlMagick, Perl API for ImageMagick. [2010-03-07]. (原始内容存档于2020-11-30).
- ^ Develop. ImageMagick. [2026-08-11] (英语).
- ^ CVE-2016-3714. MITRE. 2016-05-05 [2026-08-11] (英语).
- ^ ImageTragick: ImageMagick Filtering Vulnerability, CVE-2016-3714. Red Hat. 2016-05-03 [2026-08-11]. (原始内容存档于2018-02-02) (英语).
- ^ Williams, Chris. Extreme photo-bombing: Bad ImageMagick bug puts countless websites at risk of hijacking. The Register. 2016-05-03 [2026-08-11]. (原始内容存档于2020-08-08) (英语).
- ^ 陳曉莉. ImageMagick內含可遠端執行程式的重大安全漏洞. iThome. 2016-05-04 [2026-08-11]. (原始内容存档于2016-07-07).
- ^ Security Policy. ImageMagick. [2026-08-11]. (原始内容存档于2026-07-26) (英语).
- ^ Security Bug Tracker: imagemagick. Debian. [2026-08-11]. (原始内容存档于2015-06-05) (英语).
外部链接
[编辑]- ImageMagick(页面存档备份,存于互联网档案馆) - Official project homepage
- ImageMagick (页面存档备份,存于互联网档案馆) Common Usage
- [2] Advanced image editing from the command line with ImageMagick