# 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/e6/81/b211cf0ed723a0a61c5d500e9019e26940f7ea6945105183dd127563a83e/cybereason-0.6.0.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.0",
"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": "2a0aa5393cfa1df365e6d22c9e6fa7b406da7afef70840defe882607dc3006bb",
"md5": "6673e6b30206d1c9e458d8c7246535c9",
"sha256": "ee20c126ff54cf184e3a370cb57222130aa61885d5f2ec8123d2de5400a29083"
},
"downloads": -1,
"filename": "cybereason-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6673e6b30206d1c9e458d8c7246535c9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 30116,
"upload_time": "2024-04-26T16:34:31",
"upload_time_iso_8601": "2024-04-26T16:34:31.258339Z",
"url": "https://files.pythonhosted.org/packages/2a/0a/a5393cfa1df365e6d22c9e6fa7b406da7afef70840defe882607dc3006bb/cybereason-0.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e681b211cf0ed723a0a61c5d500e9019e26940f7ea6945105183dd127563a83e",
"md5": "31ee8fbb5c421316cc7e6e2e253f8f0f",
"sha256": "7c7d9d362218d394c886320d7a4f39cb50652847632b5d2d3656e485e4f98149"
},
"downloads": -1,
"filename": "cybereason-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "31ee8fbb5c421316cc7e6e2e253f8f0f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 26211,
"upload_time": "2024-04-26T16:34:32",
"upload_time_iso_8601": "2024-04-26T16:34:32.730629Z",
"url": "https://files.pythonhosted.org/packages/e6/81/b211cf0ed723a0a61c5d500e9019e26940f7ea6945105183dd127563a83e/cybereason-0.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-26 16:34:32",
"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"
}