Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
github.com/google/go-replayers/httpreplay
httpr is an HTTP proxy that records and replays traffic. It is designed
specifically for Google APIs that use HTTP exclusively. These include the Google
Cloud Storage and BigQuery clients, as well as the clients in the
github.com/google/google-api-*-client
repos.
If you are writing Go code, you should use the cloud.google.com/go/httpreplay
package, which
is a simpler way to use the proxy.
A record/replay proxy lets you run an "integration" test that accesses a backend like a Google service and record the interaction. Subsequent runs of the test can replay the server's responses without actually contacting the server, turning the integration test into a fast and inexpensive unit test.
First, obtain the httpr
binary. If you have the Go toolchain, you can run go get -u cloud.google.com/go/httpreplay/cmd/httpr
. Otherwise, precompiled
binaries for various architectures and operating systems are available from the
releases page.
httpr
in record mode by passing it the -record
flag with a filename:
httpr -record myclient.replay
By default, httpr
will run on port 8080, and open a control port on 8181.
You can change these with the -port
and -control-port
flags.
You will want to run httpr
in the background or in another window.httpr
to record HTTPS traffic, your client must trust it. It
does so by installing a CA certificate created by httpr
during the
recording session. To obtain the certificate in PEM form, GET the URL
http://localhost:8181/authority.cer
. (If you changed the control port, use
it in place of 8181.) Consult your language to determine
how to install the certificate. Note that the certificate is different for each run
of httpr
. A custom certficate can also be provided with -cert
and -key
.httpr
as a proxy. This may be as
simple as setting the HTTPS_PROXY
environment variable.httpr
a SIGINT signal (kill -2
). httpr
will write
the replay file, then exit.httpr
in replay mode, in the background or another window:
httpr -replay myclient.replay
-cert
and -key
.httpr
as a proxy, as described above.You must remove all randomness from your interaction while recording, so that the replay is fully deterministic.
Note that BigQuery clients choose random values for job IDs and insert ID if you do not supply them. Either supply your own, or seed the client's random number generator if possible.
Examples of running httpr
can be found in examples
under this file's directory.
FAQs
Unknown package
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.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.