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/mariusor/gomusicbrainz
a Go (Golang) MusicBrainz WS2 client library - a work in progress.
Currently GoMusicBrainz provides methods to perform search and lookup requests. Browse requests are not supported yet.
$ go get github.com/michiwend/gomusicbrainz
GoMusicBrainz provides a search method for every WS2 search request in the form:
func (*WS2Client) Search<ENTITY>(searchTerm, limit, offset) (<ENTITY>SearchResponse, error)
searchTerm follows the Apache Lucene syntax and can either contain multiple fields with logical operators or just a simple search string. Please refer to lucene.apache.org for more details on the lucene syntax. In addition the [MusicBrainz website] (https://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/Search) provides information about all possible query-fields.
This example demonstrates a simple search requests to find the artist Parov Stelar. You can find it as a runnable go program in the samples folder.
// create a new WS2Client.
client := gomusicbrainz.NewWS2Client(
"https://musicbrainz.org/ws/2",
"A GoMusicBrainz example",
"0.0.1-beta",
"http://github.com/michiwend/gomusicbrainz")
// Search for some artist(s)
resp, _ := client.SearchArtist(`artist:"Parov Stelar"`, -1, -1)
// Pretty print Name and score of each returned artist.
for _, artist := range resp.Artists {
fmt.Printf("Name: %-25sScore: %d\n", artist.Name, resp.Scores[artist])
}
the above code will produce the following output:
Name: Parov Stelar Score: 100
Name: Parov Stelar Trio Score: 80
Name: Parov Stelar & the Band Score: 70
GoMusicBrainz provides two ways to perform lookup requests: Either the specific lookup method that is implemented for each entity that has a lookup endpoint in the form
func(*WS2Client) Lookup<ETITY>(id MBID, inc ...string) (*<ENTITY>, error)
or the common lookup method if you already have an entity (with MBID) that implements the MBLookupEntity interface:
func(*WS2Client) Lookup(entity MBLookupEntity, inc ...string) error
The following example demonstrates the (specific) LookupArtist method. You can find it as a runnable go program in the samples folder.
// create a new WS2Client.
client, _ := gomusicbrainz.NewWS2Client(
"https://musicbrainz.org/ws/2",
"A GoMusicBrainz example",
"0.0.1-beta",
"http://github.com/michiwend/gomusicbrainz")
// Lookup artist by id.
artist, err := client.LookupArtist("9a709693-b4f8-4da9-8cc1-038c911a61be")
if err != nil {
fmt.Println(err)
return
}
fmt.Printf("%+v", artist)
Full documentation for this package can be found at GoDoc and GoWalker
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.