跳转到内容

ImageMagick

本页使用了标题或全文手工转换
维基百科,自由的百科全书
ImageMagick
開發者ImageMagick Studio LLC
当前版本7.1.2-29(2026年7月27日,​3個月前​(2026-07-27))
源代码库 編輯維基數據鏈接
编程语言C语言
操作系统跨平台
类型图像处理
许可协议ImageMagick许可证
网站imagemagick.org

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包括了大量用于特效的滤镜和扩展功能。

参见[1] (页面存档备份,存于互联网档案馆)

安全性

[编辑]

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]。

参见

[编辑]

参考资料

[编辑]
  1. ^ ImageMagick license. [2010-03-07]. (原始内容存档于2020-12-20). 
  2. ^ Image Formats. ImageMagick. [2026-08-11] (英语). 
  3. ^ ImageMagick License. SPDX License List. Linux Foundation. [2026-08-11]. (原始内容存档于2015-07-17) (英语). 
  4. ^ Manual:$wgUseImageMagick. MediaWiki. [2026-08-11] (英语). 
  5. ^ PerlMagick, Perl API for ImageMagick. [2010-03-07]. (原始内容存档于2020-11-30). 
  6. ^ Develop. ImageMagick. [2026-08-11] (英语). 
  7. ^ CVE-2016-3714. MITRE. 2016-05-05 [2026-08-11] (英语). 
  8. ^ ImageTragick: ImageMagick Filtering Vulnerability, CVE-2016-3714. Red Hat. 2016-05-03 [2026-08-11]. (原始内容存档于2018-02-02) (英语). 
  9. ^ 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) (英语). 
  10. ^ 陳曉莉. ImageMagick內含可遠端執行程式的重大安全漏洞. iThome. 2016-05-04 [2026-08-11]. (原始内容存档于2016-07-07). 
  11. ^ Security Policy. ImageMagick. [2026-08-11]. (原始内容存档于2026-07-26) (英语). 
  12. ^ Security Bug Tracker: imagemagick. Debian. [2026-08-11]. (原始内容存档于2015-06-05) (英语). 

外部链接

[编辑]