Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
This library provides an async wrapper around the Chrome DevTools Protocol.
To be the underlying engine for any projects using Chrome DevTools Protocol. This library should embody the following:
The following will launch chrome through the command line.
import asyncio
from aiocdp import Chrome
async def setup_chrome():
chrome = Chrome.init(
host="localhost",
port=9222,
)
chrome.start()
# run your logic here
if __name__ == "__main__":
asyncio.run(setup_chrome())
NOTE: If you had chrome open previously, you may run into connection issues. If this is the case, close your tabs, run the script to relaunch chrome, and then reopen your tabs.
import asyncio
from aiocdp import Chrome
async def setup_tabs():
chrome = Chrome.init(
host="localhost",
port=9222,
)
chrome.start()
# opens a new tab. Return aiocdp.ITarget instance.
target = chrome.new_tab("https://www.google.com")
target = chrome.new_tab("https://www.yahoo.com")
target = chrome.new_tab("https://www.github.com/amirdevstudio/aiocdp")
# opens a new tab. The parameter is optional
target = chrome.new_tab()
if __name__ == "__main__":
asyncio.run(setup_tabs())
You can find the AIOCDP package published to pypi.org/project/aiocdp
This library is built to be "one and done" except for performance optimizations or design changes. This library should limit the dependencies it has on the CDP unless it's a core feature (opening sessions, etc.).
dataclasses
module for classestyping
module for type hints, enum literals, and other goodiesjson
module for JSON serializationasyncio
module for async functionalityrequests
module for HTTP communicationwebsockets
module for websocket communicationaiocdp
- Root package. Contains core and utility modulesaiocdp.core
- Core functionality for communicating with the Chrome DevTools Protocolaiocdp.core.chrome.Chrome
-> Represents the Chrome instance / process.aiocdp.core.target.Target
-> Represents a chrome devtools protocol target (Page, Frame, Worker, etc)aiocdp.core.connection.Connection
-> Represents a websocket connection to a targetaiocdp.core.session.TargetSession
-> Represents a session to a specific target.aiocdp.core.stream.EventStream
-> Represents a stream of events from a connection.aiocdp.core.stream.EventStreamReader
-> Readonly reader to an event stream.pyproject.toml
python -m pip install build twine
python -m build
twine check dist/*
twine upload dist/aiocdp-<MAJOR>.<MINOR>.<PATCH>*
FAQs
Asynchronous python module for programatic access to Chrome DevTools Protocol.
We found that aiocdp 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
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.