Skip to content

OriCmd 0.10b

Choose a tag to compare

@mmag mmag released this 30 Sep 06:51
· 73 commits to main since this release

Syntax highlighting in the viewer (F3)

  • Program code is shown in color, using highlight.js (about 190 languages).
  • The language follows the file's extension, its name (Makefile, Dockerfile, .zshrc) or the program on its #! line.
  • Assembly is told by its instructions: x86, ARM, MIPS or AVR.
  • H and the text's context menu turn highlighting on and off. The choice is remembered.
  • Colors follow Xcode's themes, light and dark. Texts up to about 512 thousand characters are highlighted.

Highlighting runs apart from OriCmd

highlight.js runs in a separate helper, OriCmdHighlighter, which locks itself down before it reads anything from OriCmd:

  • no files, not even system ones;
  • no network, no pasteboard, no opening of URLs;
  • no starting other programs, no reaching other services.

Only texts in a language highlight.js knows are sent to it, never key, certificate or signature files. OriCmd checks everything it answers and stops it if a highlighting takes more than 5 seconds. A file made to attack the JavaScript engine can't take data off your Mac.

Security fix

  • Earlier versions were signed with a debugging permission (get-task-allow). Another program running as you could attach to OriCmd and use its permissions, such as Full Disk Access. The permission is gone.
  • Please update.

Install

brew install --cask mmag/tap/oricmd

Or download OriCmd-0.10b.dmg below (macOS 14 or later, Apple Silicon and Intel). To update from an earlier version, choose OriCmd → Check for Updates….

The app is ad-hoc signed, without an Apple certificate. On the first launch, right-click OriCmd and choose Open.


Подсветка синтаксиса в просмотрщике (F3)

  • Программный код показывается в цвете с помощью highlight.js (около 190 языков).
  • Язык определяется по расширению файла, по его имени (Makefile, Dockerfile, .zshrc) или по программе в строке #!.
  • Ассемблер распознаётся по его командам: x86, ARM, MIPS или AVR.
  • H и контекстное меню текста включают и выключают подсветку. Выбор запоминается.
  • Цвета как в темах Xcode, светлой и тёмной. Подсвечиваются тексты примерно до 512 тысяч символов.

Подсветка работает отдельно от OriCmd

highlight.js работает в отдельном помощнике OriCmdHighlighter, который запирает себя прежде, чем прочтёт что-либо от OriCmd:

  • никаких файлов, даже системных;
  • ни сети, ни буфера обмена, ни открытия ссылок;
  • ни запуска других программ, ни обращения к другим службам.

Ему отправляются только тексты на языках, которые знает highlight.js, и никогда — файлы ключей, сертификатов и подписей. OriCmd проверяет всё, что он отвечает, и останавливает его, если подсветка длится дольше 5 секунд. Файл, сделанный для атаки на движок JavaScript, не сможет вывести данные с вашего Mac.

Исправление безопасности

  • Прежние версии были подписаны с правом отладки (get-task-allow). Другая программа, запущенная от вашего имени, могла подключиться к OriCmd и воспользоваться его разрешениями, например полным доступом к диску. Это право убрано.
  • Рекомендуем обновиться.

Установка

brew install --cask mmag/tap/oricmd

Или скачайте OriCmd-0.10b.dmg ниже (macOS 14 и новее, Apple Silicon и Intel). Чтобы обновить прежнюю версию, выберите OriCmd → «Проверить обновления…».

Приложение подписано ad-hoc, без сертификата Apple. При первом запуске щёлкните OriCmd правой кнопкой и выберите «Открыть».