
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
github.com/savaki/jq
A high performance Golang implementation of the incredibly useful jq command line tool.
Rather than marshalling json elements into go instances, jq opts to manipulate the json elements as raw []byte. This is especially useful for apps that need to handle dynamic json data.
Using jq consists of creation an Op
and then calling Apply
on the Op
to transform one []byte into the
desired []byte. Ops may be chained together to form a transformation chain similar to how the command line jq works.
go get github.com/savaki/jq
package main
import (
"fmt"
"github.com/savaki/jq"
)
func main() {
op, _ := jq.Parse(".hello") // create an Op
data := []byte(`{"hello":"world"}`) // sample input
value, _ := op.Apply(data) // value == '"world"'
fmt.Println(string(value))
}
The initial goal is to support all the selectors the original jq command line supports.
syntax | meaning |
---|---|
. | unchanged input |
.foo | value at key |
.foo.bar | value at nested key |
.[0] | value at specified element of array |
.[0:1] | array of specified elements of array, inclusive |
.foo.[0] | nested value |
{
"string": "a",
"number": 1.23,
"simple": ["a", "b", "c"],
"mixed": [
"a",
1,
{"hello":"world"}
],
"object": {
"first": "joe",
"array": [1,2,3]
}
}
syntax | value |
---|---|
.string | "a" |
.number | 1.23 |
.simple | ["a", "b", "c"] |
.simple.[0] | "a" |
.simple.[0:1] | ["a","b"] |
.mixed.[1] | 1 |
.object.first | "joe" |
.object.array.[2] | 3 |
BenchmarkAny-8 20000000 80.8 ns/op 0 B/op 0 allocs/op
BenchmarkArray-8 20000000 108 ns/op 0 B/op 0 allocs/op
BenchmarkFindIndex-8 10000000 125 ns/op 0 B/op 0 allocs/op
BenchmarkFindKey-8 10000000 125 ns/op 0 B/op 0 allocs/op
BenchmarkFindRange-8 10000000 186 ns/op 16 B/op 1 allocs/op
BenchmarkNumber-8 50000000 28.9 ns/op 0 B/op 0 allocs/op
BenchmarkObject-8 20000000 98.5 ns/op 0 B/op 0 allocs/op
BenchmarkString-8 30000000 40.4 ns/op 0 B/op 0 allocs/op
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
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.