Python wrapper for https://www.cyrating.com
Project description
python-cyrating
A python wrapper for Cyrating https://www.cyrating.com.
Installation
pip install cyrating
Then in your application root directory use the following command to set up your configuration including your Cyrating token which is provided in your user interface:
echo -e "[cyrating]\ntoken: cyratingtoken" > cyrating.ini
Usage example
>>> import cyrating
>>> cr = cyrating.init()
The init method takes into account 2 optional parameters:
- token: the Cyrating token
- proxies: the list of proxies to use when making a request. See requests docs for more information
Additional methods listed below are available
Method | Description |
---|---|
main_company | returns main company |
entities | returns list of entities |
suppliers | returns list of suppliers |
domains | return list of domains for a company |
assets | get assets for a company |
technologies | get identified technologies for a company |
tags | set tags to a specified domain (require admin privileges) |
facts | get results of best practices controls |
events | get list of active reputation events |
certificate | returns certificate of a specific company |
members | returns list of members, including child subscriptions' ones (require admin privileges) |
rating_history | returns list of last 52 ratings numbers |
Examples
Returns main company
>>> cr.main_company()
[...]
Returns list of entities
>>> cr.entities()
[...]
Returns list of suppliers
>>> cr.suppliers()
[...]
Returns domains of a company
>>> cr.domains(main_company)
[...]
Tag a domain or an AS Number
>>> cr.set_tags('example.com', ['tag1', 'tag2'])
[...]
>>> cr.set_tags('ASXXXXX', ['tag3'])
[...]
Get assets
The method assets returns a dictionary of assets with tags and type attributes. Each key of this dictionary represents an asset and is linked to the following attributes:
- type: type of the asset, may be 'domain', 'host' or 'ip'
- tags: list of tags linked with the asset
- domains: list of domains / AS numbers linked with the asset
- entities: list of entities linked with the asset. Entities are the ones included in the subscription.
>>> cr.assets(main_company)
[...]
Get identified technologies
The method technologies returns a list of identified technologies for a company. assets parameter is optional and is needed to provide tags association
Each item of the identified technologies includes the following attributes:
- name: name of the identified technology
- category: name of the technology category
- asset: name of the asset supporting the identified technology
- domain: domain name / AS Number linked with the asset
- entities: list of entities linked with the asset. Entities are the ones included in the subscription.
- tags: list of tags linked with the asset
>>> main_company = cr.main_company()
>>> cr.facts(main_company, assets=cr.technologies(main_company))
[...]
Get results of best practices controls
The method facts returns the results of best practices controls. assets parameter is optional and is needed to provide tags association. extra_filter is also an optional to filter results server-side.
Each item of the results includes the following attributes:
- domain: domain name / AS Number linked with the asset
- category: name of the best practice's category
- entities: list of entities linked with the asset. Entities are the ones included in the subscription.
- tags: list of tags linked with the asset
- type: type of the asset, may be 'domain', 'host' or 'ip'
- name: name of the resource
- results: raw results of the control
- grade: unitary score of the control
- impact: for Unexpected Services controls only, impact on rating of the company. Please note that Cyrating algorithm streamlines this score by IP address and control
>>> main_company = cr.main_company()
>>> cr.facts(main_company, assets=cr.assets(main_company))
[...]
Get the list of active reputation events
The method events returns a list of active reputation events. assets parameter is optional and is needed to provide tags association.
An active reputation event includes the following attributes:
- name: name of the asset concerned
- category: name of the reputation's category
- domains: list of domains / AS Numbers linked with the asset
- entities: list of entities linked with the asset. Entities are the ones included in the subscription.
- tags: list of tags linked with the asset
- type: type of the asset, may be 'domain', 'host' or 'ip'
- source: a dictionary with the tag and the url of the reputation source
- occurrences: dates of occurrences of the event
- score: deprecated, replaced by impact
- impact: impact on rating of the company. Please note that Cyrating algorithm streamlines this score by resource and reputation's category
>>> main_company = cr.main_company()
>>> cr.events(main_company, assets=cr.assets(main_company))
[...]
Returns certificate of a specific company
>>> main_company = cr.main_company()
>>> cr.certificate(main_company)
Save certificate of a specific company to a file
>>> main_company = cr.main_company()
>>> cr.certificate(main_company, filename='Cyrating - Certificate of {}.pdf'.format(main_company['name']))
Get list of members
>>> cr.members()
[...]
Get list of last 52 ratings
>>> main_company = cr.main_company()
>>> cr.rating_history(main_company)
[...]
Meta
Cyrating – @cyrating – hello@cyrating.com
Distributed under the ISCL licence. See LICENSE
for more information.
Contributing
- Send issues to issues@cyrating.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for cyrating-1.0.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | badf4c0dac063c7a1d133443156251a22f760329393c5171e3c08622a1e17ac3 |
|
MD5 | 876f6ecaaa111e7da12f701059026983 |
|
BLAKE2b-256 | 7ddb0049d4d92d86eca0244d58208ef2b269f722b45c0177a85d045aa9b92b15 |