
Research
Malicious fezbox npm Package Steals Browser Passwords from Cookies via Innovative QR Code Steganographic Technique
A malicious package uses a QR code as steganography in an innovative technique.
@pbkit/wrp
Advanced tools
pronounce as wrap(ræp
)
Whenever the channel sends a message, it writes the message size as a 4-byte little-endian integer to the socket, and then writes a message payload as that size.
The message payload is defined in the ./src/wrp.proto file.
sequenceDiagram
participant H as WrpHost
participant G as WrpGuest
H->>G: HostInitialize
Note over H, G: Send available methods
loop
G->>+H: GuestReqStart
H-->>G: HostResStart
par request
loop
G-->>H: GuestReqPayload
end
G-->>H: GuestReqFinish
end
par response
loop
H-->>G: HostResPayload
end
H-->>-G: HostResFinish
end
end
// Glue implementation provides socket object.
type Socket = Reader & Writer;
interface Reader {
read(p: Uint8Array): Promise<number | null>;
}
interface Writer {
write(p: Uint8Array): Promise<number>;
}
// Channel provides a per-message communication method.
interface WrpChannel {
listen(): AsyncGenerator<WrpMessage>;
send(message: WrpMessage): Promise<void>;
}
type Metadata = Record<string, string>;
interface LazyMetadata {
[key: string]:
| undefined
| string
| Promise<string | undefined>
| (() => string | undefined)
| (() => Promise<string | undefined>);
}
// Guest provides a way to send requests to the host.
interface WrpGuest {
availableMethods: Set<string>;
request(
methodName: string,
req: AsyncGenerator<Uint8Array>,
metadata?: LazyMetadata,
): {
res: AsyncGenerator<Uint8Array>;
header: Promise<Metadata>;
trailer: Promise<Metadata>;
};
}
// Host provides a way to handle and respond to requests from guests.
interface WrpHost {
listen(): AsyncGenerator<WrpRequest>;
}
interface WrpRequest {
methodName: string;
metadata: Metadata;
req: AsyncGenerator<Uint8Array>;
sendHeader(value: Metadata): void;
sendPayload(value: Uint8Array): void;
sendTrailer(value: Metadata): void;
}
FAQs
pronounce as **wrap**(`ræp`)
The npm package @pbkit/wrp receives a total of 1 weekly downloads. As such, @pbkit/wrp popularity was classified as not popular.
We found that @pbkit/wrp demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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.
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.
Application Security
/Research
/Security News
Socket detected multiple compromised CrowdStrike npm packages, continuing the "Shai-Hulud" supply chain attack that has now impacted nearly 500 packages.