{"id":18457873,"url":"https://github.com/appknox/appknox-python","last_synced_at":"2025-07-15T20:37:00.910Z","repository":{"id":36057451,"uuid":"40356031","full_name":"appknox/appknox-python","owner":"appknox","description":"Command-line interface and Python wrapper for the Appknox API","archived":false,"fork":false,"pushed_at":"2025-01-13T06:46:05.000Z","size":1291,"stargazers_count":5,"open_issues_count":10,"forks_count":8,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-03-23T06:51:06.599Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://appknox.org/appknox-python/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/appknox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-08-07T10:52:42.000Z","updated_at":"2024-07-27T13:47:24.000Z","dependencies_parsed_at":"2024-07-10T11:27:31.001Z","dependency_job_id":null,"html_url":"https://github.com/appknox/appknox-python","commit_stats":{"total_commits":271,"total_committers":18,"mean_commits":"15.055555555555555","dds":0.7859778597785978,"last_synced_commit":"bc0f5d7eb7156d61ee4884015a83945e9c4b1620"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appknox%2Fappknox-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appknox%2Fappknox-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appknox%2Fappknox-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/appknox%2Fappknox-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/appknox","download_url":"https://codeload.github.com/appknox/appknox-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247785916,"owners_count":20995641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T08:15:56.453Z","updated_at":"2025-04-08T05:33:39.717Z","avatar_url":"https://github.com/appknox.png","language":"Python","readme":"[![PyPI version](https://badge.fury.io/py/appknox.svg)](https://badge.fury.io/py/appknox)\n[![Build Status](https://travis-ci.org/appknox/appknox-python.svg)](https://travis-ci.org/appknox/appknox-python)\n[![Join the chat at https://gitter.im/appknox/appknox-python](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/appknox/appknox-python?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n# appknox-python\n\nCommand-line interface \u0026 Python wrapper for the Appknox API.\n\n\n\u003e\n\u003e Python API documentation is available [here](http://appknox.org/appknox-python/).\n\u003e\n\n\n## Installation\n\nappknox-python is officially supported on python 3.5 \u0026 3.6. pip is the recommended way to install appknox-python.\n\n```\npip install appknox\n```\n\n## Usage\n\n```\n$ appknox\nUsage: appknox [OPTIONS] COMMAND [ARGS]...\n\n  Command line wrapper for the Appknox API\n\nOptions:\n  -v, --verbose  Specify log verbosity.\n  -k, --insecure      Allow Insecure Connection\n  --help         Show this message and exit.\n\nCommands:\n  analyses       List analyses for file\n  files          List files for project\n  login          Log in and save session credentials\n  logout         Delete session credentials\n  organizations  List organizations\n  projects       List projects\n  recent_uploads List recent file uploads by the user\n  report         Download report for file\n  upload         Upload and scan package\n  switch_organization  Switch organization in CLI instance\n  vulnerability  Get vulnerability\n  whoami         Show session info\n  reports list   Show the list of reports for a file\n  reports create Creates a new report for a file\n  reports download summary-csv  Downloads the report summary in CSV format\n  reports download summary-excel  Downloads the report summary in Excel format\n```\n\n### Authentication\n\nLog in to appknox CLI using your [secure.appknox.com](https://secure.appknox.com/) credentials.\n\n```\n$ appknox login\nUsername: viren\nPassword:\nLogged in to https://api.appknox.com\n```\n\n#### Using Environment Variables\n\nInstead of `login` we can use environment variables for authentication. This will be useful for scenarios such as CI/CD setup.\n\n```\n$ export APPKNOX_ACCESS_TOKEN=aaaabbbbbcccddeeeffgghhh\n$ export APPKNOX_ORGANIZATION_ID=2\n$ export HTTP_PROXY=http://proxy.local\n$ export HTTPS_PROXY=https://proxy.local\n```\n\nSupported variables are:\n\n| Environment variable | Value |\n|----|-----|\n| `APPKNOX_ACCESS_TOKEN` | Access token can be generated from Appknox dashboard _(Settings → Developer Settings → Generate token)_. |\n| `APPKNOX_HOST` | Defaults to `https://api.appknox.com` |\n| `APPKNOX_ORGANIZATION_ID` | Your Appknox organization id |\n| `HTTP_PROXY` | Set your HTTP proxy ex: `http://proxy.local` |\n| `HTTPS_PROXY` | Set your HTTPS proxy ex: `https://proxy.local` |\n\n\n### Data fetch \u0026 actions\n\n| Available commands | Use |\n|--------------------|-----|\n| `organizations` | List organizations of user |\n| `projects` | List projects user has access to |\n| `files \u003cproject_id\u003e` | List files for a project |\n| `analyses \u003cfile_id\u003e` | List analyses for a file |\n| `vulnerability \u003cvulnerability_id\u003e` | Get vulnerability detail |\n| `owasp \u003cowasp_id\u003e` | Get OWASP detail |\n| `upload \u003cpath_to_app_package\u003e` | Upload app file from given path and get the file_id |\n| `rescan \u003cfile_id\u003e` | Rescan a file (this will create a new file under the same project.) |\n| `reports list \u003cfile_id\u003e` | Lists all the reports associated with the file |\n| `reports create \u003cfile_id\u003e` | Create a new report for the file and returns report ID|\n| `reports download summary-csv \u003creport_id\u003e` | Outputs the report summary in CSV format | \n| `reports download summary-excel \u003creport_id\u003e` | Outputs the report summary in Excel format |\n\n\nExample:\n\n```\n$ appknox organizations\n  id  name\n----  -------\n   2  MyOrganization\n\n$ appknox projects\n  id  created_on             file_count  package_name                     platform  updated_on\n----  -------------------  ------------  -----------------------------  ----------  -------------------\n   3  2017-06-23 07:19:26             3  org.owasp.goatdroid.fourgoats           0  2017-06-23 07:26:55\n   4  2017-06-27 08:27:54             2  com.appknox.mfva                        0  2017-06-27 08:30:04\n\n$ appknox files 4\n  id  name      version    version_code\n----  ------  ---------  --------------\n   6  MFVA            1               6\n   7  MFVA            1               6\n\n$ appknox reports list 4\n  id  language      \n----  ------ \n   1  en\n   2  en\n\n$ appknox reports create 4\n3\n\n$ appknox reports download summary-csv 3\nOrganization ID,Project ID,Application Name,Application Namespace,Platform,Version,Version Code,File ID,Test Case,Scan Type,Severity,Risk Override,CVSS Score,Findings,Description,Noncompliant Code Example,Compliant Solution,Business Implication,OWASP,CWE,MSTG,OWASP MASVS (v2),ASVS,PCI-DSS,GDPR,Created On\n1,1,MFVA,com.appknox.mfva,Android,1.1,1605631525,51,Broken SSL Trust Manager,Static,High,,6.9,\"BluK8lNUoeHkNxZ3GVrKN9BP2\nNVWmfbtHDiJBOTbOEpCnsbMhc6T31t...(Truncated)\n\n$ appknox reports download summary-csv 3 --output /path/to/output/report_summary.csv\n\u003cNo output: This command will download the report summary to given output path\u003e\n```\n\n### Using Proxy\n\nAppknox client and CLI both supports HTTP and HTTPS proxy. While using the client, if you need to set-up a proxy then please follow the example below\n\n```\nfrom appknox.client import Appknox\n\nclient = Appknox(\n        access_token=\"Your-Access-Token\",  #  This is your access token which you can get from developer setting\n        https_proxy=\"http://proxy.local\",  # Use https_proxy by default since cloud server connects to https service\n        insecure=True,                     # Use insecure connections, because proxies might have their own set of certificates which maynot be trusted\n    )                                      # Insecure connections are not reccomended though\n```\n\nTo use it in CLI example:\n\n```\n$ export HTTPS_PROXY=http://127.0.0.1:8080 \n$ appknox --insecure login\nUsername:\n```\n\n*Note*: Please avoid using `--insecure` flag or setting `insecure=True` in client, this will allow an attacker to perform MITM attack, but this might be required for proxies to work alongside.\n\n---\n\n## Development\n### Update docs\n\nInstall [sphinx-autobuild](https://github.com/GaretJax/sphinx-autobuild):\n```\npip install sphinx-autobuild\n```\n\nBuild docs:\n```\nsphinx-autobuild -b html sphinx-docs docs\n```\n\n---\n\nLicense: MIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappknox%2Fappknox-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fappknox%2Fappknox-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fappknox%2Fappknox-python/lists"}