Commix is an open-source penetration testing tool that automates the detection and exploitation of command injectioncommand injectionAn attack that makes an application execute operating-system commands supplied through untrusted input. It often happens when input is passed unsafely to a shell. vulnerabilities in web applications, free to use under the GPLv3 licence. It runs as a Python command-line tool, cloned from its Git repository or run from a downloaded archive, and driven through switches rather than any graphical interface. This makes it a fit for penetration testers and application security assessors who need to confirm and exploit injection flaws rather than just flag them, distinguishing it from broader web vulnerability scanners that stop at detection. First committed in 2015 and still active, with 25 contributors and 75 commits in the past year, though its most recent release was 244 days ago.
Automates detection and exploitation of command and code injection vulnerabilities in web applications.
Built from Commix's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
+Payload and Parameter Granularity ControlshippedAllows restricting tests to specific parameters, setting verbosity levels, enabling all enumeration options, and using wildcard injection tags.11 releases · 6 other sources · first seen May 2016▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
11 total
Adds --skip flag to exclude specific parameters from testing
v2.2-20171212 · Dec 2017
· source
· release history
Adds --skip-technique flag to exclude specific injection techniques
v2.2-20171212 · Dec 2017
· source
· release history
Adds --ignore-redirects option to ignore redirection attempts
v1.9-20170502 · May 2017
· source
· release history
Replaces the --root-dir option with --web-root
v1.9-20170502 · May 2017
· source
· release history
Adds URIPATH and SRVPORT as new values for the Set option
v1.7-20170203 · Feb 2017
· source
· release history
--skip-empty flag added to skip testing parameters with empty values
v1.7-20170203 · Feb 2017
· source
· release history
example
Skip testing the id parameter and only use blind boolean inference.$ commix --url "http://example.com/page?id=1" --skip="id" --skip-technique=time
v2.2-20171212 · Dec 2017
· source
Prevent the tool from following HTTP redirects during an injection test.$ commix --url=http://example.com/page?id=1 --cookie=PHPSESSID=abc --ignore-redirects
v1.9-20170502 · May 2017
· source
Inject the current request URI path or server port into parameters for context-aware testing.$ commix --url "http://example.com/test?id=1" --set 'id=[URIPATH],[SRVPORT]'
v1.7-20170203 · Feb 2017
· source
Scan only parameters that have non-empty values to reduce noise.$ commix --url "http://example.com/vuln.php" --param "id" --skip-empty
v1.7-20170203 · Feb 2017
· source
Scan only specific GET and POST parameters identified by a flag.$ commix --url "http://example.com" -p "id,category"
v0.8b-20160506 · May 2016
· source
Set the test verbosity level to maximum for exhaustive scanning.$ commix --url "http://example.com" --level 3
v0.8b-20160506 · May 2016
· source
+Environment and Protocol ControlshippedEnforces SSL usage, allows custom operating system specification for heuristic tuning, and supports custom HTTP headers.5 releases · 5 other sources · first seen Feb 2016▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Adds --method option to force usage of provided HTTP method (e.g. PUT)
v3.3 · Sep 2021
· source
· release history
Adds --header CLI option to inject a single extra HTTP header (e.g. X-Forwarded-For: 127.0.0.1).
v2.1-20171003 · Oct 2017
· source
· release history
--headers parameter allows testing with custom HTTP headers during injection tests.
v0.5b-20160316 · Mar 2016
· source
· release history
--os flag forces a user-defined operating system name for the target.
v0.5b-20160316 · Mar 2016
· source
· release history
Adds the --force-ssl flag to force HTTPS requests regardless of initial target protocol
v0.4b-20160204 · Feb 2016
· source
· release history
example
Append a spoofed forwarding header using the new tamper script.$ commix --url "http://target/page.php?id=1" --tamper "xforwardedfor"
v2.7-20181218 · Dec 2018
· source
Inject a custom HTTP header and disable coloring for cleaner logs.$ commix --url "http://target.com/vuln" --header "X-Forwarded-For: 127.0.0.1" --disable-coloring
v2.1-20171003 · Oct 2017
· source
Inject payloads while sending custom headers like a specific User-Agent or X-Forwarded-For.$ commix --url="http://example.com/vuln" --param="id" --headers='User-Agent: CustomBot; X-Custom: 123'
v0.5b-20160316 · Mar 2016
· source
Force the tool to assume the target is running Linux regardless of heuristic detection.$ commix --url="http://example.com/vuln" --param="id" --os "linux"
v0.5b-20160316 · Mar 2016
· source
Force SSL when the target redirects to HTTPS or requires it for valid exploitation paths$ commix --url "http://target.com/vuln.php?id=1" --force-ssl
v0.4b-20160204 · Feb 2016
· source
+Multi-Target CrawlingshippedCombines web crawling with scanning multiple targets provided via file or standard input.5 releases · 3 other sources · first seen Jan 2016▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Enables combining --crawl with scanning multiple targets provided via standard input (piped-input/stdin).
v3.7 · Feb 2023
· source
· release history
Added support regarding combining --crawl option with scanning multiple targets given in a textual file (i.e. via option -m)
v3.5 · Jul 2022
· source
· release history
Add -m option to scan multiple targets defined in a textual input file.
v1.6-20161228 · Dec 2016
· source
· release history
Injection level is now stored into session files for the current target, allowing continuity across restarts.
v1.1-20160714 · Jul 2016
· source
· release history
Added new option -l that parses target and data from HTTP proxy log files such as Burp or WebScarab
v0.3b-20160115 · Jan 2016
· source
· release history
example
Scan multiple targets simultaneously by piping them into Commix with the crawl feature enabled.$ echo 'http://target1 http://target2' | commix --crawl -t stdout
v3.7 · Feb 2023
· source
Force the tool to use PUT requests instead of the default method when testing an endpoint that requires it$ commix --url "http://target.com/api" --method PUT
v3.3 · Sep 2021
· source
Inject into parameters logged by an intercepting proxy without manual extraction$ commix -l burp_log.txt
v0.3b-20160115 · Jan 2016
· source
+Command Injection DetectionshippedAutomates detection and exploitation of command injection vulnerabilities in web applications.6 releases · 2 other sources · first seen Sep 2016▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Adds explicit support for testing Host HTTP header command injections.
v2.3-20180307 · Mar 2018
· source
· release history
Adds /cgi-bin/cgiCmdNotify shellscript path as a known vulnerable endpoint for shellshock
v1.7-20170203 · Feb 2017
· source
· release history
Added support for the metasploit web_delivery script
v1.3-20160914 · Sep 2016
· source
· release history
Added support for generating Python/PHP meterpreter reverse TCP payloads via metasploit
v1.3-20160914 · Sep 2016
· source
· release history
Added support for generating and injecting native x86 shellcode (Powershell)
v1.3-20160914 · Sep 2016
· source
· release history
Added --skip-calc option to skip mathematical calculation during the detection phase
v1.3-20160914 · Sep 2016
· source
· release history
docs
Automates detection and exploitation of command and code injection vulnerabilities in web applications.
example
Use the new timeout-based tamper for more reliable time-based injection detection$ commix --url="http://example.com/page" --tamper=sleep2timeout.py
v2.6-20180921 · Sep 2018
· source
+Execution TimeoutsshippedEnforces time limits on injection tests to prevent hanging processes.4 releases · 3 other sources · first seen Mar 2017▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Adds --time-limit <seconds> flag to enforce an execution timeout in seconds (e.g. 3600)
v4.0 · Dec 2024
· source
· release history
Adds --timeout CLI argument to control connection wait time (default 30 seconds).
v3.2 · Apr 2021
· source
· release history
Adds --retries option to retry requests on connection timeout
v2.0-20170714 · Jul 2017
· source
· release history
Replaces --delay with --time-sec to control HTTP request delay
v1.8-20170315 · Mar 2017
· source
· release history
example
Limit the duration of a long-running blind injection test to 60 minutes to avoid hanging CI pipelines.$ commix --url 'http://example.com/page.php' --param='id' --time-limit=3600
v4.0 · Dec 2024
· source
Stop the attack after 3 failed attempts to avoid noisy logs or timeouts.$ commix --url "http://example.com/page" --failed-tries=3
v2.2-20171212 · Dec 2017
· source
Automatically retry failed requests due to network instability during an assessment.$ commix --url "http://example.com/page?id=1" --retries 5
v2.0-20170714 · Jul 2017
· source
+Error Code AbortionshippedStops testing immediately if specific HTTP status codes (e.g., 401) are received.4 releases · 2 other sources · first seen Apr 2016▸
Shared capability: Web vulnerability scanning
release
Adds --abort-code <code> option to stop testing when a specific HTTP status code (e.g. 401) is received
v4.0 · Dec 2024
· source
· release history
Adds --ignore-code <code> option to ignore specific HTTP error codes, replacing the deprecated --ignore-401 flag
v3.0-20191111 · Nov 2019
· source
· release history
The --ignore-401 option has been removed; use --ignore-code instead to filter HTTP error responses
v3.0-20191111 · Nov 2019
· source
· release history
--ignore-401 option ignores HTTP Error 401 and continues tests without valid credentials
v0.6b-20160401 · Apr 2016
· source
· release history
example
Stop the injection test immediately if the target returns a 401 Unauthorized error, preventing unnecessary requests.$ commix --url 'http://example.com/page.php' --param='id' --abort-code=401
v4.0 · Dec 2024
· source
Scan a target while ignoring 401 Unauthorized responses using the new flag$ python commix.py --url=http://example.com/vuln_param --cookie="session=abc" --ignore-code 401
v3.0-20191111 · Nov 2019
· source
+Web Crawling and ReconnaissanceshippedCrawls target websites for further testing, with options to exclude specific paths.4 releases · 2 other sources · first seen Oct 2016▸
Shared capability: Web vulnerability scanning
release
Adds --crawl-exclude option to set a regular expression for excluding pages from crawling during automated testing.
v3.7 · Feb 2023
· source
· release history
Adds --output-crawl-tmp option to write crawling results to a temporary file.
v2.8-20190326 · Mar 2019
· source
· release history
--exclude-ext allows listing extensions to exclude from the crawler
v2.7-20181218 · Dec 2018
· source
· release history
Adds --crawl CLI option to crawl a given website starting from the target URL
v1.4-20161017 · Oct 2016
· source
· release history
example
Crawl a site while explicitly skipping logout pages to avoid false positives or unnecessary checks.$ commix --url "http://example.com" --crawl --crawl-exclude "logout"
v3.7 · Feb 2023
· source
Crawl the target website to discover additional injection points$ commix --url "http://example.com" --crawl 1
v1.4-20161017 · Oct 2016
· source
+Session Cookie AnalysisshippedChecks for undeclared cookies and ignores Set-Cookie headers to reduce noise during testing.5 releases · 1 other source · first seen May 2016▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Adds support for checking for not declared cookies.
v3.4 · Feb 2022
· source
· release history
Adds --drop-set-cookie option to ignore Set-Cookie HTTP headers in responses.
v3.4 · Feb 2022
· source
· release history
Added --check-shellshock (implied by capability) to check if a URL is probable to contain scripts vulnerable to Shellshock
v1.0-20160614 · Jun 2016
· source
· release history
Adds ability to check for empty value(s) in defined GET, POST, Cookie data and skip
v0.8b-20160506 · May 2016
· source
· release history
Enhances cookie data checking to support verifying every parameter in the provided cookie data
v0.8b-20160506 · May 2016
· source
· release history
example
Ignore Set-Cookie headers when testing for blind SQL injection to reduce noise.$ commix --url "http://example.com/page?id=1" --cookie="session=abc" --drop-set-cookie
v3.4 · Feb 2022
· source
+Tamper Scripting IntegrationshippedReplaces hardcoded encoding with a tamper script system, allowing users to apply custom transformations like base64 encoding.4 releases · 1 other source · first seen Jun 2016▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface, Offline mode, Python scripting support, Scripting language support
release
Adds --backticks CLI option to force command substitution using backticks instead of $().
v2.1-20171003 · Oct 2017
· source
· release history
Adds %26 as both a new prefix and suffix delimiter for payloads
v1.8-20170315 · Mar 2017
· source
· release history
Add --offline flag to operate the scanner without an active internet connection.
v1.6-20161228 · Dec 2016
· source
· release history
The --base64 flag is removed; users must now use the base64encode.py tamper script via the new --tamper option instead
v0.9b-20160607 · Jun 2016
· source
· release history
example
Force backtick-based command substitution for environments where $() is filtered.$ commix --url "http://target.com/vuln" --param "id" --backticks
v2.1-20171003 · Oct 2017
· source
+Shellshock and Vulnerability DetectionshippedDetects Shellshock vulnerabilities and identifies specific vulnerable functions like create_function() in injected code.3 releases · 1 other source · first seen Feb 2016▸
Shared capability: Web vulnerability scanning
release
Detection of create_function() usage in injected code.
v1.1-20160714 · Jul 2016
· source
· release history
Added --check-shellshock (implied by capability) to check if a URL is probable to contain scripts vulnerable to Shellshock
v1.0-20160614 · Jun 2016
· source
· release history
Adds --ignore-session CLI flag to ignore results stored in session file
v0.4.1b-20160226 · Feb 2016
· source
· release history
example
Target the specific shellshock-vulnerable CGI path if known.$ commix --url "http://example.com/cgi-bin/cgiCmdNotify"
v1.7-20170203 · Feb 2017
· source
+User-Agent ManagementshippedLoads User-Agent strings from external files instead of using hardcoded values.2 releases · 1 other source · first seen Jul 2017▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Replaces hardcoded User-Agent strings with loading from external files.
v4.1 · Dec 2025
· source
· release history
Adds --mobile flag to imitate smartphone User-Agent
v2.0-20170714 · Jul 2017
· source
· release history
example
Test injection payloads against mobile-specific applications by spoofing a smartphone user-agent.$ commix --url "http://example.com/page?id=1" --mobile
v2.0-20170714 · Jul 2017
· source
+File-Based Payload LoadingshippedEnables the use of raw HTTP request payloads stored in local files for injection testing, rather than command-line arguments.1 release · 2 other sources · first seen Dec 2016▸
Shared capability: Web vulnerability scanning
Also counts toward: Command-line interface
release
Add -r option to load raw HTTP requests from a local file for injection testing.
v1.6-20161228 · Dec 2016
· source
· release history
example
Set the web root directory for file-based injection techniques.$ commix --url=http://example.com/upload --param=path --data="../../etc/passwd" --web-root=/var/www
v1.9-20170502 · May 2017
· source
Load an HTTP request payload from a file instead of command-line arguments.$ commix -r /path/to/request.txt
v1.6-20161228 · Dec 2016
· source
+Standard Input ControlshippedProvides options to explicitly ignore or manage STDIN input behavior.1 release · 1 other source · first seen Dec 2018▸
Shared capability: Web vulnerability scanning
release
--ignore-stdin hidden option allows ignoring STDIN input.
v3.9 · Jan 2024
· source
· release history
example
Scan for injection points while ignoring static assets like images and stylesheets.$ commix --url "http://target/page.php?id=1" --exclude-ext "jpg,png,css"
v2.7-20181218 · Dec 2018
· source
+HTTP Authentication InjectionshippedSupports injecting payloads into HTTP authorization headers, including Bearer tokens.1 release · 1 other source · first seen Apr 2016▸
Shared capability: Web vulnerability scanning
release
Adds support for Bearer HTTP authentication type for injecting payloads in authorization headers.
v3.8 · Aug 2023
· source
· release history
example
Test targets that reject auth attempts before returning useful data by ignoring the initial 401 response.$ commix --url "http://example.com/page.php?param=val" --ignore-401
v0.6b-20160401 · Apr 2016
· source
+Application Type RecognitionshippedAutomatically detects target application extensions such as PHP or ASP.NET to tailor injection techniques.2 releases · first seen Jul 2016▸
Shared capability: Web vulnerability scanning
release
Adds the ability for target application extension recognition (i.e. PHP, ASP etc)
v1.2-20160812 · Aug 2016
· source
· release history
Support for injections against ASP.NET applications.
v1.1-20160714 · Jul 2016
· source
· release history
+Blind Injection SupportshippedTests parameter and open OS shell capabilities through blind injection techniques.2 other sources▸
Test parameter and open OS shell$ python3 commix.py --url="http://www.target.com/vuln.php?addr=127.0.0.1" --os-shell
+Sitemap URL ParsingshippedAutomatically discovers and parses target URLs from remote sitemap XML files for scanning.1 release · first seen Dec 2016▸
Shared capability: Web vulnerability scanning
release
Add -x flag for parsing target URLs from a remote sitemap (.xml) file.
v1.6-20161228 · Dec 2016
· source
· release history
+Other / not yet classified21 featuresFeatures we have not matched to a capability yet. A suggested match is marked.▸
+Payload Tampering ScriptsshippedsuggestedSupports custom and built-in tamper scripts to modify payloads for WAF evasion.26 releases · 7 other sources · first seen Feb 2016▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
Also counts toward: Python scripting support
release
26 total
Adds new tamper script randomcase.py that replaces each character in a user-supplied OS command with a random case.
v4.1 · Dec 2025
· source
· release history
Adds new tamper script rev.py that reverses user-supplied operating system commands characterwise.
v3.8 · Aug 2023
· source
· release history
Adds new tamper script printf2echo.py that replaces printf-based ASCII to Decimal encoding with echo -n $char | od -An -tuC | xargs.
v3.6 · Nov 2022
· source
· release history
The --backticks switch has been removed; users must now use the backticks.py tamper script instead
v3.3 · Sep 2021
· source
· release history
Adds the .bat files command separator %1a
v3.3 · Sep 2021
· source
· release history
Adds backticks.py tamper script that uses backticks for commands substitution
v3.3 · Sep 2021
· source
· release history
example
7 total
Use the new tamper script to bypass case-sensitive WAF rules by randomizing command casing.$ commix --url "http://example.com/page?id=1" --tamper=randomcase.py
v4.1 · Dec 2025
· source
Use this tamper script during injection when the target filters standard printf encoding methods.$ ./commix.py --url="http://example.com/page.php?id=1" --tamper=printf2echo.py --cmd="id"
v3.6 · Nov 2022
· source
Use the new slash-to-environment tamper script to obfuscate paths in injection payloads.$ commix --url "http://example.com/vuln.php?param=value" --tamper=slash2env.py
v3.2 · Apr 2021
· source
Apply the new uninitialized variable tamper to bypass simple WAF filters by inserting bash syntax errors.$ commix --url "http://example.com/vuln.php?param=value" --tamper=uninitializedvariable.py
v3.2 · Apr 2021
· source
Use this tamper to bypass WAFs that block standard injection patterns by spacing out payload characters with quotes.$ commix -u "http://example.com/vuln.php?id=1" --tamper doublequotes.py
v3.1 · Jun 2020
· source
Use the new $@ tamper script to obfuscate payloads during an injection test.$ commix --url "http://target/page.php?id=1" --tamper "dollaratsigns"
v2.7-20181218 · Dec 2018
· source
+Verbose Output and ConfigurationshippedProvides detailed logging controls and allows setting custom working directories for backend scripts.9 releases · 1 other source · first seen Jun 2016▸
Also counts toward: Command-line interface
release
9 total
--purge is the new flag for purging output files, replacing the old --purge-output option
v2.6-20180921 · Sep 2018
· source
· release history
Adds --disable-coloring CLI option to suppress colored console output.
v2.1-20171003 · Oct 2017
· source
· release history
Log executed commands and their results into the output log file.
v1.6-20161228 · Dec 2016
· source
· release history
Adds -t option to log all HTTP traffic into a textual file
v1.5-20161117 · Nov 2016
· source
· release history
Adds verbosity level 4 for printing HTTP response page content
v1.5-20161117 · Nov 2016
· source
· release history
Adds verbosity level 2 for printing performed HTTP request headers
v1.5-20161117 · Nov 2016
· source
· release history
example
Save all HTTP traffic to a text file for offline analysis.$ ./commix.py --url='http://target/page' -t traffic.log
v1.5-20161117 · Nov 2016
· source
+Advanced Payload Generation and DeliveryshippedIntegrates with Metasploit and Magic Unicorn to generate PowerShell, Python/PHP Meterpreter payloads, and native shellcode for injection.8 releases · 1 other source · first seen Aug 2016▸
Also counts toward: PowerShell script execution, Python scripting support, Scripting language support
release
8 total
Adds support for Ncat, Netcat-Openbsd, and Bash via /dev/tcp on reverse_tcp and bind_tcp shell options
v2.6-20180921 · Sep 2018
· source
· release history
Adds support for Regsvr32.exe Application Whitelisting Bypass technique
v1.8-20170315 · Mar 2017
· source
· release history
Adds --msf-path option for specifying Metasploit installation path
v1.5-20161117 · Nov 2016
· source
· release history
Adds support for bind TCP shell via the bind_tcp option
v1.4-20161017 · Oct 2016
· source
· release history
Added support for the metasploit web_delivery script
v1.3-20160914 · Sep 2016
· source
· release history
Added support for generating Python/PHP meterpreter reverse TCP payloads via metasploit
v1.3-20160914 · Sep 2016
· source
· release history
example
Point commix to a specific Metasploit installation for exploitation modules.$ ./commix.py --url='http://target/page' --msf-path=/opt/metasploit-framework
v1.5-20161117 · Nov 2016
· source
+Session Management and ContinuityshippedSupports saving, loading, ignoring, and flushing session data to resume interrupted campaigns or force fresh scans.4 releases · 3 other sources · first seen Feb 2016▸
Also counts toward: Command-line interface
release
Adds --flush-session CLI flag for flushing session files for current target
v0.4.1b-20160226 · Feb 2016
· source
· release history
Adds -s CLI flag for loading executed commands from a session file
v0.4.1b-20160226 · Feb 2016
· source
· release history
Adds --ignore-session CLI flag to ignore results stored in session file
v0.4.1b-20160226 · Feb 2016
· source
· release history
Adds capability to resume injection points from a previous session
v0.4.1b-20160226 · Feb 2016
· source
· release history
example
Force a fresh scan by ignoring any previously saved session data for the target.$ commix -u "http://target.com/vuln?param=<cmd>" --ignore-session
v0.4.1b-20160226 · Feb 2016
· source
Clear all stored session data for the current target before starting a new test.$ commix -u "http://target.com/vuln?param=<cmd>" --flush-session
v0.4.1b-20160226 · Feb 2016
· source
Resume an interrupted injection campaign by loading previously executed commands from the session file.$ commix -u "http://target.com/vuln?param=<cmd>" -s
v0.4.1b-20160226 · Feb 2016
· source
+Interactive Prompt AutomationshippedsuggestedHandles interactive prompts and questions during scanning without manual intervention.3 releases · 2 other sources · first seen Dec 2016▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
release
Adds new option --answers to set user answers to asked questions during commix run
v3.5 · Jul 2022
· source
· release history
Adds --wizard option for a beginner-friendly interface
v1.9-20170502 · May 2017
· source
· release history
Add --batch option to skip all user input prompts by using default behavior.
v1.6-20161228 · Dec 2016
· source
· release history
Use the interactive wizard to configure a test without memorizing flags.$ commix --wizard
v1.9-20170502 · May 2017
· source
+Out-of-Band Data ExfiltrationshippedProvides mechanisms for exfiltrating data via ICMP and DNS channels.3 releases · 2 other sources · first seen Mar 2016▸
release
Removed the deprecated modules ICMP exfiltration and DNS exfiltration
v3.5 · Jul 2022
· source
· release history
--dns-server option supports the DNS exfiltration injection technique
v0.6b-20160401 · Apr 2016
· source
· release history
Verbose mode added to ICMP exfiltration injection technique module.
v0.5b-20160316 · Mar 2016
· source
· release history
example
Scan a target while bypassing WAF heuristic detection using the DNS exfiltration technique on a specific server.$ commix --url "http://example.com/page.php?param=val" --dns-server="8.8.8.8" --skip-waf
v0.6b-20160401 · Apr 2016
· source
Enable verbose output for the ICMP exfiltration module to see detailed packet exchange logs.$ commix --url="http://example.com/vuln" --param="id" --technique=I --verbose
v0.5b-20160316 · Mar 2016
· source
+Encoding Codec ConfigurationshippedAllows specifying the encoding codec for payloads via command-line flags.4 releases · 1 other source · first seen Mar 2017▸
Also counts toward: Command-line interface
release
The --encoding option has been replaced with --codec. Existing scripts using --encoding will fail.
v3.4 · Feb 2022
· source
· release history
Replaces the --encoding option with --codec.
v3.4 · Feb 2022
· source
· release history
Adds --encoding option to replace the previous --charset flag for specifying custom character sets during data retrieval.
v2.3-20180307 · Mar 2018
· source
· release history
Adds --charset option to force character encoding for data retrieval
v1.8-20170315 · Mar 2017
· source
· release history
example
Specify encoding codec using the new --codec flag.$ commix --url "http://example.com/page?id=1" --codec=utf-8
v3.4 · Feb 2022
· source
+Connection and Retry ManagementshippedsuggestedManages network instability by allowing retries on connection timeouts, enforcing request delays, and limiting failed attempts to prevent noise.2 releases · 3 other sources · first seen Mar 2017▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
Also counts toward: Command-line interface
release
Adds --retries option to retry requests on connection timeout
v2.0-20170714 · Jul 2017
· source
· release history
Replaces --delay with --time-sec to control HTTP request delay
v1.8-20170315 · Mar 2017
· source
· release history
example
Prevent the tool from hanging on unresponsive targets by setting a specific connection timeout.$ commix --url "http://example.com/vuln.php?param=value" --timeout=5
v3.2 · Apr 2021
· source
Stop the attack after 3 failed attempts to avoid noisy logs or timeouts.$ commix --url "http://example.com/page" --failed-tries=3
v2.2-20171212 · Dec 2017
· source
Automatically retry failed requests due to network instability during an assessment.$ commix --url "http://example.com/page?id=1" --retries 5
v2.0-20170714 · Jul 2017
· source
+Offline OperationshippedAllows the cyber tool to run without an active internet connection by bypassing network-dependent checks or relying on local logic.4 releases · 1 other source · first seen Dec 2016▸
Also counts toward: Command-line interface, Offline mode
release
Adds --failed-tries to limit the number of failed injection attempts in file-based techniques
v2.2-20171212 · Dec 2017
· source
· release history
Adds --check-internet CLI option to validate internet connectivity prior to target assessment.
v2.1-20171003 · Oct 2017
· source
· release history
Adds --check-tor CLI option to verify Tor connectivity before exploitation.
v2.1-20171003 · Oct 2017
· source
· release history
Add --offline flag to operate the scanner without an active internet connection.
v1.6-20161228 · Dec 2016
· source
· release history
example
Validate Tor connectivity and purge previous output files before starting.$ commix --url "http://target.com/vuln" --check-tor --purge-output
v2.1-20171003 · Oct 2017
· source
+Response Stability VerificationshippedsuggestedVerifies target URL content stability by comparing responses across delayed requests.4 releases · first seen Apr 2016▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
release
Adds ability to verify target URL content stability by comparing responses across delayed requests.
v4.1 · Dec 2025
· source
· release history
Verbose mode (-v) added to HTTP authentication dictionary-based cracker.
v0.7b-20160418 · Apr 2016
· source
· release history
Session files can now store valid (Digest) credentials for the current target using store_credentials capability.
v0.7b-20160418 · Apr 2016
· source
· release history
Dictionary-based cracker for Basic HTTP authentication credentials added with identifier support
v0.6b-20160401 · Apr 2016
· source
· release history
+Heuristic-Based TestingshippedsuggestedUses heuristics to detect command injections and run tests only when positive indicators are found.3 releases · 1 other source · first seen Sep 2021▸
Suggested capability: Web vulnerability scanning. This is our guess, not confirmed.
Also counts toward: Command-line interface
release
--smart option runs tests only when positive heuristics are detected.
v3.9 · Jan 2024
· source
· release history
Added support for heuristic detection regarding command injections
v3.5 · Jul 2022
· source
· release history
Adds --skip-heuristic flag to skip dynamic code evaluation heuristic check
v3.3 · Sep 2021
· source
· release history
example
Scan a target while bypassing the tool's dynamic code evaluation heuristics to avoid false negatives$ commix --url "http://target.com/page.php?id=1" --skip-heuristic
v3.3 · Sep 2021
· source
+Logging ControlshippedAllows disabling file logging for restricted environments.2 releases · 1 other source · first seen Oct 2017▸
Also counts toward: Command-line interface
release
Adds new option --no-logging for disabling logging to a file
v3.5 · Jul 2022
· source
· release history
Adds --purge-output CLI option to safely delete all contents from the output directory.
v2.1-20171003 · Oct 2017
· source
· release history
example
Disable file logging for environments where disk I/O is restricted or logs are managed externally.$ commix -u 'http://example.com' --no-logging
v3.5 · Jul 2022
· source
+Authentication CrackingshippedProvides dictionary-based cracking capabilities for Basic and Digest HTTP authentication credentials.3 releases · first seen Apr 2016▸
Also counts toward: Command-line interface
release
Adds support for parsing custom wordlists regarding HTTP authentication (i.e. Basic, Digest) dictionary-based cracker
v3.3 · Sep 2021
· source
· release history
Verbose mode (-v) added to HTTP authentication dictionary-based cracker.
v0.7b-20160418 · Apr 2016
· source
· release history
Dictionary-based cracker for Basic HTTP authentication credentials added with identifier support
v0.6b-20160401 · Apr 2016
· source
· release history
+HTTP Protocol Version ControlshippedForces the use of specific HTTP protocol versions (e.g., HTTP/1.0) for compatibility.1 release · 1 other source · first seen Dec 2025▸
Also counts toward: Command-line interface
release
Adds --http1.0 switch to force all outgoing requests to use HTTP/1.0 protocol.
v4.1 · Dec 2025
· source
· release history
example
Force HTTP/1.0 protocol for compatibility with legacy servers that reject HTTP/1.1 keep-alive connections.$ commix --url "http://example.com/page?id=1" --http1.0
v4.1 · Dec 2025
· source
+Proxy BypassshippedIgnores system default HTTP proxies when configured.1 release · first seen Jan 2024▸
release
--ignore-proxy switch ignores the system default HTTP proxy.
v3.9 · Jan 2024
· source
· release history
+Alert ActionsshippedExecutes specified host OS commands upon detecting an injection point.1 release · first seen Aug 2023▸
Also counts toward: Command-line interface
release
Adds new --alert option to run a specified host OS command upon detecting an injection point.
v3.8 · Aug 2023
· source
· release history
+Dependency VerificationshippedVerifies or ignores script dependencies during execution.1 release · first seen Aug 2023▸
release
The --dependencies flag has been replaced by --ignore-dependencies, breaking scripts that use the former.
v3.8 · Aug 2023
· source
· release history
+Standard Input ProcessingshippedAccepts target lists or data from piped input (stdin) for automation.1 release · first seen Jul 2022▸
release
Added support regarding parsing target(s) from piped-input (i.e. stdin)
v3.5 · Jul 2022
· source
· release history
+Multi-Host File InputshippedAccepts a list of target hosts from a text file to scan multiple systems in a single run.1 other source · first seen Dec 2016▸
example
Scan multiple hosts listed in a text file for cyber vulnerabilities.$ commix -m targets.txt
v1.6-20161228 · Dec 2016
· source
+Unattended ExecutionshippedSupports running the cyber tool non-interactively, suitable for automation in CI/CD pipelines or unattended scripts.1 other source · first seen Dec 2016▸
Also counts toward: CI/CD pipeline integration
example
Run the cyber tool non-interactively in a CI/CD pipeline or unattended script.$ commix --url "http://target/page" --data "param=value" --batch
v1.6-20161228 · Dec 2016
· source
+Hex Encoding SupportshippedProvides the ability to encode injection payloads into hex format before transmission.1 other source · first seen Nov 2016▸
example
Encode injection payloads to hex format before sending.$ ./commix.py --url='http://target/page' --tamper=hexencode.py
v1.5-20161117 · Nov 2016
· source
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
Source
No command matches.
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for Commix, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail Commix puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Issue, contributor and maintainer activity in commixproject/commix, 2023-12 – 2026-11,
as of 2026-11-03. Twelve-month figures first; the trend lines run
the whole window.
Contributors3±0 vs prior 12 months
Maintainers1+0 joined · −0 left, last 12 months
Bus factor1committers behind half the commits
Community-filed100%of issues opened, last 12 months
Median time to close5.8 daysfirst maintainer reply 1.3 hours
Open backlog0of 1,008 issues ever filed
Issues opened / month0 · 0communitymaintainers
Open backlog0
Contributors / month0
Commits / month0
Stars5,854
Issue themes, last 12 months
bugs 25%
features 13%
other 62%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Articles
3 articles
· updated Nov 5, 2026
Where Commix turns up in what others publish: how-tos, attack reports that
name it, and incident write-ups. A row says why it is here and quotes where the
article names it; the link goes to the publisher.
Open the terminal in kali Linux and type the commix command.
2 more quotes
Commix found the target seems injectable via blind injection techniques and will further ask for pseudo terminal.
Type ‘y’ to resumed the classic injection point and to pseudo terminal shell Here we got the commix os shell but our aim is meterpreter shell for that we need to type following commands.
Libraries its release ships
What its latest release locks, checked against known advisories.
None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.