# Cybereason
> Async Cybereason API client
>
> [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cybereason)](https://pypi.org/project/cybereason/)
## Installation
<a href="https://pypi.org/project/cybereason/"><pre>
pip install cybereason
</pre></a>
Install _cybereason_ using:
- `pip install cybereason[zip]` to enable on-the-fly extraction of files
downloaded from sensors,
- `pip install cybereason[socks]` to enable SOCKS proxy support, or
- `pip install cybereason[zip,socks]` to enable both features.
## Examples
### Save metadata and config for every policy
```python
from cybereason import Cybereason
import asyncio
import json
async def dump_policies_config():
'''Save metadata and config for every policy.
'''
async with Cybereason(<tenant>, <username>, <password>) as client:
async for policy in client.get_policies(show_config=True):
filename = f'{policy["metadata"]["name"]}.json'
with open(filename, 'w') as f:
json.dump(policy, f, indent=4)
asyncio.run(dump_policies_config())
```
### Download and parse into JSON all user audit logs (action log)
```python
from cybereason import Cybereason
import asyncio
import json
async def user_audit():
async with Cybereason(<tenant>, <username>, <password>) as client:
# rotated=False to get only the latest logs
logs = [log async for log in client.get_user_audit_logs(rotated=True)]
with open('user_audit.json', 'w') as f:
json.dump(logs, f, indent=4)
asyncio.run(user_audit())
```
---
Copyright © 2021-2024 [Forensic & Security](https://forensic-security.com/)
Raw data
{
"_id": null,
"home_page": "https://github.com/forensic-security/cybereason#readme",
"name": "cybereason",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "cybereason, cybersecurity, security, edr",
"author": "Nuno Andr\u00e9",
"author_email": "mail@nunoand.re",
"download_url": "https://files.pythonhosted.org/packages/bd/fb/3bdac374be679a2acd7bf6ef79476b8eaa8184269756c689d5e31ab75a64/cybereason-0.6.1.tar.gz",
"platform": "any",
"description": "# Cybereason\n\n> Async Cybereason API client \n>\n> [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/cybereason)](https://pypi.org/project/cybereason/)\n\n\n\n## Installation\n\n<a href=\"https://pypi.org/project/cybereason/\"><pre>\npip install cybereason\n</pre></a>\n\nInstall _cybereason_ using:\n- `pip install cybereason[zip]` to enable on-the-fly extraction of files\ndownloaded from sensors,\n- `pip install cybereason[socks]` to enable SOCKS proxy support, or\n- `pip install cybereason[zip,socks]` to enable both features.\n\n## Examples\n\n### Save metadata and config for every policy\n```python\nfrom cybereason import Cybereason\nimport asyncio\nimport json\n\nasync def dump_policies_config():\n '''Save metadata and config for every policy.\n '''\n async with Cybereason(<tenant>, <username>, <password>) as client:\n async for policy in client.get_policies(show_config=True):\n filename = f'{policy[\"metadata\"][\"name\"]}.json'\n with open(filename, 'w') as f:\n json.dump(policy, f, indent=4)\n\nasyncio.run(dump_policies_config())\n```\n\n### Download and parse into JSON all user audit logs (action log)\n```python\nfrom cybereason import Cybereason\nimport asyncio\nimport json\n\nasync def user_audit():\n async with Cybereason(<tenant>, <username>, <password>) as client:\n # rotated=False to get only the latest logs\n logs = [log async for log in client.get_user_audit_logs(rotated=True)]\n with open('user_audit.json', 'w') as f:\n json.dump(logs, f, indent=4)\n\nasyncio.run(user_audit())\n```\n\n---\n\nCopyright © 2021-2024 [Forensic & Security](https://forensic-security.com/)\n\n\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Async Cybereason API client",
"version": "0.6.1",
"project_urls": {
"Bug Tracker": "https://github.com/forensic-security/cybereason/issues",
"Homepage": "https://github.com/forensic-security/cybereason#readme",
"Source": "https://github.com/forensic-security/cybereason"
},
"split_keywords": [
"cybereason",
" cybersecurity",
" security",
" edr"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ec49ea27bceacd22335a38c8e2b38a6ffe33ff358f54af3b5c2d2b50d5df9ba1",
"md5": "17fe5bae6d1b1807116ebbb550f808cb",
"sha256": "240e9ecfd2ed1bb7fb962a7dca2f0bac2cbd675ad3510caa1c93ff54ea06b660"
},
"downloads": -1,
"filename": "cybereason-0.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "17fe5bae6d1b1807116ebbb550f808cb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 30115,
"upload_time": "2024-12-04T00:45:36",
"upload_time_iso_8601": "2024-12-04T00:45:36.844102Z",
"url": "https://files.pythonhosted.org/packages/ec/49/ea27bceacd22335a38c8e2b38a6ffe33ff358f54af3b5c2d2b50d5df9ba1/cybereason-0.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bdfb3bdac374be679a2acd7bf6ef79476b8eaa8184269756c689d5e31ab75a64",
"md5": "fb268879659419eadaff8701abc093ff",
"sha256": "b7ace29e01dfbd97b646e449962e96069f1238a8053a4841667e769f09106f5b"
},
"downloads": -1,
"filename": "cybereason-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "fb268879659419eadaff8701abc093ff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 26207,
"upload_time": "2024-12-04T00:45:38",
"upload_time_iso_8601": "2024-12-04T00:45:38.796195Z",
"url": "https://files.pythonhosted.org/packages/bd/fb/3bdac374be679a2acd7bf6ef79476b8eaa8184269756c689d5e31ab75a64/cybereason-0.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-04 00:45:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "forensic-security",
"github_project": "cybereason#readme",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "cybereason"
}