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