kimi-cli (deprecated)
Disable date: 2027-01-17
Recommended replacement: kimi-code
Install command:
brew install kimi-cliCLI agent for MoonshotAI Kimi platform
https://moonshotai.github.io/kimi-cli/
License: Apache-2.0
Development: Pull requests
Formula JSON API: /api/formula/kimi-cli.json
Formula code: kimi-cli.rb on GitHub
Bottle (binary package) installation support provided for:
| macOS on Apple Silicon |
golden gate | ✅ |
|---|---|---|
| tahoe | ✅ | |
| sequoia | ✅ | |
| Linux | ARM64 | ✅ |
| x86_64 | ✅ |
Current versions:
| stable | ✅ | 1.50.0 |
| head | ⚡️ | HEAD |
Depends on:
| certifi | 2026.10.23 | Mozilla CA bundle for Python |
| cryptography | 50.0.2 | Cryptographic recipes and primitives for Python |
| libyaml | 0.2.5 | YAML Parser |
| pillow | 13.0.0 | Friendly PIL fork (Python Imaging Library) |
| pydantic | 2.14.1 | Data validation using Python type hints |
| python@3.14 | 3.14.10 | Interpreted, interactive, object-oriented programming language |
| re2 | 2025-11-05 | Alternative to backtracking PCRE-style regular expression engines |
| rpds-py | 2026.9.1 | Python bindings to Rust's persistent data structures |
Depends on when building from source:
| pkgconf | 3.0.10 | Package compiler and linker metadata toolkit |
| pybind11 | 3.1.0 | Seamless operability between C++11 and Python |
| rust | 1.99.1 | Safe, concurrent, practical language |
Uses from macOS: libffi, libxml2 (since macOS Ventura), libxslt
Binaries:
kimi,
kimi-cli
Analytics:
| 30 days | 90 days | 365 days | |
|---|---|---|---|
| Installs | 126 | 245 | 8,838 |
Installs (--HEAD) | 1 | 1 | 8 |
| Installs on Request | 126 | 245 | 8,836 |
Installs on Request (--HEAD) | 1 | 1 | 8 |
| Build Errors | 0 |
Known vulnerabilities in the current version:
| GHSA-494j-54xm-rwp3 | AIOHTTP: Secure attribute not enforced for shared cookie |
| GHSA-5wr8-gcqf-gqf3 | aiohttp server lacks an initial request/header timeout |
| GHSA-6cjc-53gc-5rqm | AIOHTTP: Connector pool exhaustion via Max-Age overflow |
| GHSA-9xw5-w5jj-pvcg | AIOHTTP: File descriptor exhaustion in multipart requests |
| GHSA-f9xw-jh8m-3mwq | AIOHTTP: Absolute-form request targets can spoof Request.scheme |
| GHSA-gx76-c99x-2c96 | AIOHTTP: Cookie from subdomain can remove Host-Only Scope from existing cookies |
| GHSA-pqxq-w44r-73xw | AIOHTTP: Pure-Python parser request smuggling |
| GHSA-83vg-56qc-22m7 (high) | GitPython validates a submodule's ".git" path only after cloning into it (RCE) |
| GHSA-w2fm-2cpv-w7v5 | aiohttp allows unlimited trailer headers, leading to possible uncapped memory usage |
| GHSA-hcc4-c3v8-rx92 | AIOHTTP Affected by Denial of Service (DoS) via Unbounded DNS Cache in TCPConnector |
| GHSA-2vrm-gr82-f7m5 | AIOHTTP has CRLF injection through multipart part content type header construction |
| GHSA-p998-jp59-783m | AIOHTTP affected by UNC SSRF/NTLMv2 Credential Theft/Local File Read in static resource handler o... |
| GHSA-m5qp-6w8w-w647 (high) | AIOHTTP has a Multipart Header Size Bypass |
| GHSA-3wq7-rqq7-wx6j | AIOHTTP has late size enforcement for non-file multipart fields causes memory DoS |
| GHSA-966j-vmvw-g2g9 (medium) | AIOHTTP leaks Cookie and Proxy-Authorization headers on cross-origin redirect |
| GHSA-mwh4-6h8g-pg8w | AIOHTTP has HTTP response splitting via \r in reason phrase |
| GHSA-63hf-3vf5-4wqf (critical) | AIOHTTP's C parser (llhttp) accepts null bytes and control characters in response header values -... |
| GHSA-c427-h43c-vf67 | AIOHTTP accepts duplicate Host headers |
| GHSA-jg22-mg44-37j8 (medium) | AIOHTTP is Vulnerable to Deserialization of Untrusted Data |
| GHSA-vfmq-68hx-4jfw (high) | lxml: Default configuration of iterparse() and ETCompatXMLParser() allows XXE to local files |
| GHSA-hg6j-4rv6-33pg | AIOHTTP is vulnerable to cross-origin redirect with per-request cookies |
| GHSA-4jhm-jv67-739f (high) | `lxml_html_clean.Cleaner` does not strip `javascript:` URLs from namespaced URL attributes |
| GHSA-m6qw-4cw2-hm4m | aiohttp: CRLF injection in multipart headers |
| GHSA-4fvr-rgm6-gqmc | aiohttp: HTTP/1 Pipelined Requests Queue Without Limit |
| GHSA-xcgm-r5h9-7989 | aiohttp: Incomplete websocket frame payloads bypass memory limits |
| GHSA-4m7w-qmgq-4wj5 | aiohttp: TLS Server Hostname Override Is Ignored When Reusing HTTPS Connections |
| GHSA-hpj7-wq8m-9hgp | aiohttp: DigestAuthMiddleware Applies Credentials to Cross-Origin Redirect Challenges |
| GHSA-63hw-fmq6-xxg2 | aiohttp: C HTTP Parser Bypasses max_line_size for Fragmented Lines |
| GHSA-g3cq-j2xw-wf74 | aiohttp: Unread Compressed Request Bodies Bypass client_max_size During Cleanup |
| GHSA-2fqr-mr3j-6wp8 | aiohttp: Host-Only Cookies Become Domain Cookies After CookieJar Persistence |
| GHSA-9x8q-7h8h-wcw9 | aiohttp: Payload Response Resources Are Not Closed After Mid-Body Disconnect |
| GHSA-qr67-gv47-xwwh (medium) | asyncssh has an incomplete fix for CVE-2026-45309 — AuthorizedKeysFile %u still escapes the inten... |
| GHSA-2wxc-x7rj-hg8f (high) | asyncssh has SCP Path Traversal to Arbitrary File Write |
| GHSA-mq44-7p77-q5h7 | AIOHTTP: WebSocket client accepts compressed frames without negotiated permessage-deflate |
| GHSA-rw4j-r22c-9gc3 (medium) | AsyncSSH: asyncio event-loop freeze via SSH maximum packet size = 0 in SSH_MSG_CHANNEL_OPEN / OPE... |
| GHSA-mfx4-hv73-q22v | AIOHTTP: HTTP request smuggling via WebSocket upgrade |
| GHSA-cq5v-8q36-5273 | AIOHTTP: Out-of-bounds heap read in C HTTP response parser error path (malformed chunked response) |
| GHSA-2g87-pp6c-29x5 | aiohttp: Multiple instances of excessive or unbounded memory/CPU use |
| GHSA-7xgj-8392-5q4r (medium) | FastMCP: Post-transform component authorization is skipped on direct calls |
Data from Homebrew/advisory-database. Run brew vulns kimi-cli for a live check.