タグ

ブックマーク / teppeis.hatenablog.com (2)

  • npm install scriptの脆弱性とオープンソースと信頼 - teppeis blog

    先日アナウンスされた脆弱性とその周辺について、とりとめなく。 The npm Blog — Package install scripts vulnerability Vulnerability Note VU#319816 脆弱性の概要 VU#319816 によれば、今回問題になっているのはnpmの以下の性質を利用するとnpmパッケージでワーム(自己増殖力のあるマルウェア)を作れるというもの。 依存パッケージのバージョンをロックせず、semverにより範囲指定することが多い CLIで一度npmloginすると、明示的にnpm logoutするまで認証が永続化される npm registry が中央集権型サーバーである 具体的な手法として、Chris Contoliniが PoC として pizza-party というリポジトリを公開している*1。以下のように動作する。 ワームが仕込まれ

    npm install scriptの脆弱性とオープンソースと信頼 - teppeis blog
  • JavaScript Stringでサロゲートペアを扱う - teppeis blog

    JavaScriptで強力なUnicodeを扱う方法について書きます!(嘘) 先月末に発売されたWEB+DB PRESS Vol.78で「フロントエンドの国際化」の記事を書いたのは前回書いた通り。 WEB+DB PRESS Vol.78に「フロントエンドの国際化」について書いた! - teppeis blog 記事内で、JSの文字列は基UTF-16なのでサロゲートペアがうまく扱えないっていう問題は書いたけど、じゃあどうすればいいの?っていうのは載せられなかったので書く。 文字数のカウント 「𠮷(U+20BB7、つちよしだ)」や「𩸽(U+29E3D、ほっけ)」はUTF-16ではサロゲートペアで表現するのでlengthが見た目とズレる。 console.log("𠮷野家で𩸽".length); // 7 これを「5文字」とカウントしたいという話。 正規表現を使う方法 たぶん実装が一番

    JavaScript Stringでサロゲートペアを扱う - teppeis blog
  • 1