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/wblakecaldwell/profiler
Profiler helps you track your service's memory usage and custom key/value diagnostic info.
The simplest way to use the profiler is to add its endpoints to your HTTP listener. See the extra_service_info example for how to serve the profiler's endpoints on its own IP/port.
import (
"net/http"
"github.com/wblakecaldwell/profiler"
)
func main() {
// add the profiler handler endpoints
profiler.AddMemoryProfilingHandlers()
// add realtime extra key/value diagnostic info (optional)
profiler.RegisterExtraServiceInfoRetriever(extraServiceInfo)
// start the profiler on service start (optional)
profiler.StartProfiling()
// listen on port 6060 (pick a port)
http.ListenAndServe(":6060", nil)
}
// extraServiceInfo returns key/value diagnostic info
func extraServiceInfo() map[string]interface{} {
extraInfo := make(map[string]interface{})
extraInfo["uptime"] = fetchUptime()
extraInfo["successful connection count"] = fetchSuccessfulConnectionCount()
extraInfo["failure connection count"] = fetchFailureConnectionCount()
return extraInfo
}
Enabling Memory Profiling exposes the following endpoints:
View and/or run the three working examples in the examples folder:
Template files are bundled in the Go binary with the 'go-bindata' tool. Everything in github.com/wblakecaldwell/profiler/profiler-web is bundled up into github.com/wblakecaldwell/profiler/profiler-web.go with the command, assuming your repository is in $GOPATH/src.
Production Code Generation (Check this in):
go get github.com/jteeuwen/go-bindata/...
go install github.com/jteeuwen/go-bindata/go-bindata
go-bindata -prefix "$GOPATH/src/github.com/wblakecaldwell/profiler/profiler-web/" -pkg "profiler" -nocompress -o "$GOPATH/src/github.com/wblakecaldwell/profiler/profiler-web.go" "$GOPATH/src/github.com/wblakecaldwell/profiler/profiler-web"
If you'd like to make changes to the templates, then use 'go-bindata' in debug mode. Instead of compiling the contents of the template files into profiler-web.go, it generates code to read the content of the template files as they exist at that moment. This way, you can start your service, view the page, make changes, then refresh the browser to see them:
Development Code Generation:
go-bindata -debug -prefix "$GOPATH/src/github.com/wblakecaldwell/profiler/profiler-web/" -pkg "profiler" -nocompress -o "$GOPATH/src/github.com/wblakecaldwell/profiler/profiler-web.go" "$GOPATH/src/github.com/wblakecaldwell/profiler/profiler-web"
When you've wrapped up development, make sure to rebuild profiler-web.go to contain the contents of the file with the first non-debug command.
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.