
Security News
Open Source Maintainers Demand Ability to Block Copilot-Generated Issues and PRs
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
Python API Module for Threat Response APIs.
pip install --upgrade .
pip show threatresponse
pip install --upgrade git+https://github.com/CiscoSecurity/tr-05-api-module.git[@branch_name_or_release_version]
pip show threatresponse
pip install --upgrade threatresponse[==release_version]
pip show threatresponse
from threatresponse import ThreatResponse
client = ThreatResponse(
client_id='<YOUR TR CLIENT ID>', # required
client_password='<YOUR TR CLIENT PASSWORD>', # required
region='<YOUR TR REGION>', # optional
logger=<SOME LOGGER INSTANCE>, # optional
proxy='<SOME PROXY URL>', # optional
environment='<SPECIFIC ENVIRONMENT>' # optional
)
client_id
and client_password
credentials must be taken from an existing
API client for accessing the Cisco Threat Response APIs.
The official documentation on how to create such a client can be found
here.
Make sure to properly set some scopes which will grant the client
different (ideally minimum) privileges.region
must be one of: ''
or 'us'
(default), 'eu'
, 'apjc'
.
Other regions are not supported yet.logger
must be an (already configured) instance of the built-in
logging.Logger
class (or one of its descendants).timeout
must be a number (int
or float
) meaning the default amount of
time (in seconds) to wait for the server to send data before giving up and
raising an exception. Can be overwritten by explicitly specifying timeout
on
each call to any endpoint.proxy
must be a URL in the format: http[s]://[username[:password]@]host[:port]
.environment
must be a dict in the format:
{
'visibility': 'https://www.example.com',
'private_intel': 'https://www.example.come',
'global_intel': 'https://www.example.com',
}
By default will be used:
{
'visibility': 'https://visibility{region}.amp.cisco.com',
'private_intel': 'https://private.intel{region}.amp.cisco.com',
'global_intel': 'https://intel{region}.amp.cisco.com',
}Inspect allows to find an observable in a concrete string.
response = client.inspect.inspect({'content': 'example.com'})
Observe returns summary for an observable.
response = client.enrich.observe.observables(
[{'type': 'sha256', 'value': '8A32950CD96C5EF88F9DCBB66A08F59A7E8D8E5FECCDE9E115FBAA46D9AF88F9'}]
)
Deliberate returns judgments based on added modules.
response = client.enrich.deliberate.observables(
[{'type': 'sha256', 'value': '8A32950CD96C5EF88F9DCBB66A08F59A7E8D8E5FECCDE9E115FBAA46D9AF88F9'}]
)
For your convenience, we have made some predefined commands that you can use.
Verdicts returns verdicts from all modules if the modules are configured. Accepts multiple observables.
response = client.commands.verdict(
'string with observables ("8A32950CD96C5EF88F9DCBB66A08F59A7E8D8E5FECCDE9E115FBAA46D9AF88F9, cisco.com")'
)
Targets returns all available targets if the modules are configured. Accepts multiple observables.
response = client.commands.targets(
'string with observables ("8A32950CD96C5EF88F9DCBB66A08F59A7E8D8E5FECCDE9E115FBAA46D9AF88F9, cisco.com")'
)
Switch between .private_intel
and .global_intel
if necessary.
actor = client.private_intel.actor
Available methods:
asset = client.private_intel.asset
Available methods:
asset_mapping = client.private_intel.asset_mapping
Available methods:
asset_properties = client.private_intel.asset_properties
Available methods:
attack_pattern = client.private_intel.attack_pattern
Available methods:
bulk = client.private_intel.bulk
Available methods:
bundle = client.private_intel.bundle
Available methods:
campaign = client.private_intel.campaign
Available methods:
casebook = client.private_intel.casebook
Available methods:
coa = client.private_intel.coa
Available methods:
data_table = client.private_intel.data_table
Available methods:
enrich = client.enrich
Available methods:
event = client.private_intel.event
Available methods:
feed = client.private_intel.feed
Available methods:
feedback = client.private_intel.feedback
Available methods:
graph = client.private_intel.graphql
Available methods:
identity_assertion = client.private_intel.identity_assertion
Available methods:
incident = client.private_intel.incident
Available methods:
indicator = client.private_intel.indicator
Available methods:
inspect = client.inspect
Available methods:
int = client.int
Available methods:
investigation = client.private_intel.investigation
Available methods:
judgment = client.private_intel.judgment
Available methods:
malware = client.private_intel.malware
Available methods:
metrics = client.private_intel.metrics
Available methods:
profile = client.profile
Available methods:
properties = client.private_intel.properties
Available methods:
relationship = client.private_intel.relationship
Available methods:
response = client.response
Available methods:
sighting = client.private_intel.sighting
Available methods:
sse_device = client.sse_device
Available methods:
sse_tenant = client.sse_tenant
Available methods:
target_record = client.private_intel.target_record
Available methods:
status = client.private_intel.status
Available methods:
tool = client.private_intel.tool
Available methods:
user_mgmt = client.user_mgmt
Available methods:
verdict = client.private_intel.verdict
Available methods:
version = client.private_intel.version
Available methods:
vulnerability = client.private_intel.vulnerability
Available methods:
weakness = client.private_intel.weakness
Available methods:
FAQs
Threat Response API Module
We found that threatresponse demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
Research
Security News
Malicious Koishi plugin silently exfiltrates messages with hex strings to a hardcoded QQ account, exposing secrets in chatbots across platforms.
Research
Security News
Malicious PyPI checkers validate stolen emails against TikTok and Instagram APIs, enabling targeted account attacks and dark web credential sales.