Category: 開発

巧妙な回避テクニックを用いた、洗練されたnpmマルウェアキャンペーン

2025-03-26
巧妙な回避テクニックを用いた、洗練されたnpmマルウェアキャンペーン

最近の洗練されたマルウェアキャンペーンでは、一見安全なnpmパッケージであるethers-provider2とethers-providerzを利用して、ローカルにインストールされたethersパッケージに悪意のあるコードを注入しました。これらのパッケージは悪意のあるペイロードを巧みに隠し、最終的に攻撃者のサーバーへのリバースシェル接続を確立します。悪意のあるパッケージを削除した後でも、攻撃者の巧妙な注入方法のために悪意のある機能が持続する可能性があります。これは、オープンソースリポジトリにおける悪意のあるパッケージの継続的なリスクと、強化されたセキュリティ対策の必要性を強調しています。

Google、Android開発を全て社内へ移行

2025-03-26
Google、Android開発を全て社内へ移行

Googleは、全てのAndroid開発を社内ブランチに移行することを確認しました。これは、Androidオープンソースプロジェクト(AOSP)がGoogleの開発作業全体を反映しなくなることを意味します。この目的は、開発プロセスを効率化し、マージの競合を回避することですが、Androidのオープンソースの性質は変わりません。新しいバージョンやメンテナンスリリースはAOSPに公開されます。エンドユーザーやアプリ開発者への影響はほとんどありません。主な変更点は、AOSPからのリークによる未確認の内部情報の早期公開が少なくなることです。

開発

ghidraMCP:LLMによる自動リバースエンジニアリングのためのMCPサーバー

2025-03-26
ghidraMCP:LLMによる自動リバースエンジニアリングのためのMCPサーバー

ghidraMCPは、大規模言語モデル(LLM)がアプリケーションを自律的にリバースエンジニアリングできるようにする、モデルコンテキストプロトコル(MCP)サーバーです。Ghidraのコア機能の多くのツールをMCPクライアントに公開します。主な機能には、Ghidraでのバイナリの逆コンパイルと分析、メソッドとデータの自動名前変更、メソッド、クラス、インポート、エクスポートのリスト表示などがあります。インストールは簡単で、プラグインをダウンロードしてGhidraにインポートするだけです。Claude Desktopや5ireなど、複数のMCPクライアントをサポートしています。

開発

強化版Windows 7 SP2:刷新されたエクスペリエンス、ただし注意が必要

2025-03-26
強化版Windows 7 SP2:刷新されたエクスペリエンス、ただし注意が必要

Windows 7 Service Pack 2と呼ばれるプロジェクトは、古いWindows 7システムをアップデートと機能強化によって活性化することを目的としています。現在開発中であり、64ビットシステムのみサポートし、ESUアップデートやカスタムGPUドライバーは含まれていません。インストールには細心の注意が必要です。間違った手順を踏むとシステムが破損する可能性があります。現在、クリーンインストール用のISOイメージが提供されており、後日インプレースインストーラーが提供される予定です。RAID/Intel RSTのサポートは限定的であり、32ビットシステムはサポートされていないことをチームは強調しています。

Arroyo:Arrowベースの超高速JSONデコーダ

2025-03-26
Arroyo:Arrowベースの超高速JSONデコーダ

Arroyoストリーム処理エンジンは、大規模なJSONデータストリームを効率的に処理するという中心的な課題に直面しています。この記事では、ArroyoがArrowの列指向メモリフォーマットと2パスJSONデコード戦略を利用して、JSONデシリアライゼーション速度を劇的に向上させる方法を詳しく説明しています。最初のパスではフラット化された「テープ」データ構造が構築され、2番目のパスではスキーマに基づいてArrow配列が並列に構築されます。このアプローチは、ベンチマークテストにおいて、Jacksonベースのデシリアライザよりも最大2.3倍高速です。さらに、ArroyoはRaw JSONと不正データ処理のサポートを拡張し、現実世界のストリーミングデータのより柔軟な処理を可能にしています。

Blend2Dの高性能PNGコーデック:C/C++を凌駕

2025-03-26
Blend2Dの高性能PNGコーデック:C/C++を凌駕

Blend2Dライブラリは、他のC/C++実装を大幅に上回る、新しい高性能PNGコーデックを発表しました。DEFLATEアルゴリズムの固有の制約を最適化することで、高速なデコードテーブルの構築、最適化されたデコードループ、そしてリテラルペア技法の巧みな利用により、速度が向上しています。ベンチマークテストでは、PNG画像のデコードにおいて優れた性能を示し、場合によってはQOIデコーダよりも高速です。このプロジェクトは完全にオープンソースであり、貢献を歓迎します。

開発

Go 1.25、コアタイプを削除し、言語仕様を簡素化

2025-03-26

Go 1.18はジェネリクスを導入し、それに伴いジェネリックオペランドの処理を簡素化するために「コアタイプ」という概念が導入されました。しかし、これは言語仕様に複雑さを加え、特定の操作の柔軟性を制限していました。Go 1.25はコアタイプを削除し、より明確で簡潔なルールに置き換えることで、言語仕様を簡素化し、より強力なスライス操作や改善された型推論などの将来の言語改善への道を開きます。この変更は既存のGoプログラムの動作には影響しません。

(go.dev)
開発 言語仕様

PgDog:pgvectorのためのオープンソースシャーディング

2025-03-26
PgDog:pgvectorのためのオープンソースシャーディング

pgvectorを100万件以上の埋め込みにスケールアップすることは、インデックス構築の遅さのために困難になります。この記事では、pgvectorインデックスをシャーディングするオープンソースプロジェクトであるPgDogを紹介します。IVFFlatの固有のクラスタリング機能を活用することで、PgDogはベクトル空間のパーティションを複数のマシンに分散します。クエリベクトルは、scikit-learnを使用して計算されたセントロイドとの近接性に基づいて適切なシャードにルーティングされ、検索速度と再現率が大幅に向上します。実装の詳細には、セントロイドの計算、カスタムシャーディング関数、pg_queryを使用したSQL解析が含まれます。実験により、PgDogの有効性が示され、シャード間のパラレルクエリやセントロイドの最適化された割り当てなどの最適化が提供されます。今後の作業には、より多くの距離アルゴリズムとSIMD命令のサポートが含まれます。

Servo対Ladybird:新ブラウザエンジンの戦い

2025-03-26
Servo対Ladybird:新ブラウザエンジンの戦い

この記事では、ブラウザエンジンの現状を変えることを目指すServoとLadybirdという2つのプロジェクトを比較します。Servoは当初Mozillaによって支援されていましたが、資金問題のためLinux Foundationに移行し、現在はIgaliaによって開発されています。資金源は明らかにされていませんが、かなりの資金が提供されています。LadybirdはAndreas Klingによって開始され、Patreon、GitHubスポンサー、広告収入に依存しており、7人のフルタイムエンジニアを抱える独立したプロジェクトに成長し、多額の寄付を受けています。Web標準準拠テストでは、LadybirdがServoをわずかに上回っていますが、ServoはCSSテストで優れています。パフォーマンスに関しては、ServoがLadybirdを大幅に上回っていますが、どちらも主流のブラウザには劣っています。どちらもオープンソースですが、ターゲットオーディエンスと開発モデルが異なります。Servoは埋め込み可能性を重視し、Ladybirdはブラウザ自体に焦点を当てています。

Firefoxがついに(実験的な)Webアプリサポートを追加

2025-03-26
Firefoxがついに(実験的な)Webアプリサポートを追加

長年のユーザーからの要望に応え、FirefoxはNightlyビルドでProgressive Web Apps(PWA)の実験的サポートをようやく追加しました。Chromeとは異なり、Firefoxのアプローチは、アドレスバーや拡張機能などの主要なブラウザ機能を維持しながら、アプリのようなエクスペリエンスを目指しています。ユーザーは任意のタブをWebアプリモードに切り替えることができ、リンクの関連付けにより、リンクをクリックして対応するWebアプリを直接開くことができます。現在初期段階ではありますが、これはFirefoxでのWebアプリ体験を向上させるための重要な一歩となります。

開発

Kilo Code:超高速コミュニティでAIコードジェネレーターを構築

2025-03-26
Kilo Code:超高速コミュニティでAIコードジェネレーターを構築

わずか2週間で、Kilo Codeチームは10人のチームを結成し、Roo CodeやClineなどのオープンソースプロジェクトをベースにAIコード生成ツールを開発しました。彼らは高速なイテレーションを重視し、積極的にユーザーフィードバックを求め、無料プランと報酬を提供しています。Kilo Codeの目標は、最もユーザーフレンドリーなAIコーディングエージェントを作成することであり、小規模プロジェクトから高度なユースケースまで、インスタントアプリ生成、自動ドキュメント更新、チームコラボレーションなど、幅広い機能をカバーしています。

CSV:過小評価されているデータシリアライゼーションの主力

2025-03-26
CSV:過小評価されているデータシリアライゼーションの主力

この記事はCSV形式を賞賛し、時代遅れになっているという主張を反論しています。CSVのシンプルさ、使いやすさ、特殊なソフトウェアを必要としない可読性と編集可能性を強調しています。そのオープンな性質、追加可能性、動的な型付けは、多くのシナリオ、特に大規模データセットの処理において有利です。CSVの行ごとの読み取り機能と低メモリフットプリントが光ります。さらに、逆方向の読み取り機能により、中断されたプロセスの効率的な再開に最適です。

Ratomic:Ruby Ractorのための変更可能なデータ構造

2025-03-26
Ratomic:Ruby Ractorのための変更可能なデータ構造

Ratomicは、RubyのRactorのために変更可能なデータ構造を提供し、RubyコードをグローバルVMロック(GVL)の制限を超えてスケールできるようにします。この初期段階のプロジェクトは、RustとRuby C拡張の経験を持つ貢献者を募集しています。Ratomicは、複数のRactorで共有するためにクラスレベルの定数として設計された、Ractorセーフなカウンタ、オブジェクトプール、マップ、キューなどの構造を提供します。このプロジェクトはMITライセンスでライセンスされています。

開発

Weaveが創設プロダクトエンジニアを募集!

2025-03-26
Weaveが創設プロダクトエンジニアを募集!

急成長で収益性のあるスタートアップ企業Weaveは、優秀な創設プロダクトエンジニアを募集しています。CTOとCEOに直属し、数百万人のエンジニアのための基幹製品開発に携わります。粘り強さ、現実的なアプローチ、共感力、優れたコミュニケーション能力を重視します。技術スタック(React、TypeScript、Go、Python)に精通していることはプラスですが、問題解決能力とエンジニアリング生産性向上への情熱を優先します。

開発

Linux 6.14リリース:ゲームパフォーマンス向上、Rustサポート強化、AI加速

2025-03-26
Linux 6.14リリース:ゲームパフォーマンス向上、Rustサポート強化、AI加速

Linuxカーネル6.14リリースは、若干の遅れがあったものの、多くの改善が含まれています。主なハイライトは次のとおりです。NTSYNCドライバーにより、WineとSteam PlayでのWindowsプログラムのパフォーマンスが大幅に向上し、Linuxゲーマーを喜ばせています。最新のAMD RDNA 4グラフィックスカードと改良されたRADVドライバーのサポートにより、ゲームの視覚表現が向上します。AMDおよびIntelプロセッサの電力管理と計算パフォーマンスが向上しています。AMDXDNAドライバーの統合により、AMDのXDNAアーキテクチャに基づくニューラルプロセッシングユニットがサポートされ、AI計算が高速化されます。Rust言語の統合がさらに進み、将来のRustドライバー開発への道筋が拓かれます。Qualcomm Snapdragon 8 Eliteプロセッサのサポート、GhostWrite脆弱性の修正、Btrfsファイルシステムの改善などが含まれています。要するに、Linux 6.14は、ゲーマー、AI研究者、開発者にとって大きなアップグレードとなります。

エージェント型コーディングアシスタント:目覚ましい進歩と残る課題

2025-03-26
エージェント型コーディングアシスタント:目覚ましい進歩と残る課題

生成AI、特に大規模言語モデル(LLM)は、ソフトウェア開発に革命を起こしつつあります。このメモでは、著者が数ヶ月間にわたってAIコーディングアシスタントを使用した経験について詳述しており、効率の大幅な向上と同時に、依然として解決すべき課題があることを明らかにしています。AIは、問題の誤診、力任せな修正、コードの再利用性の欠如、冗長なコードの生成などを行い、チームのワークフローと長期的な保守性に影響を与えます。著者はこれらの問題を、コミットまでの時間、チームのワークフロー、長期的な保守性の3つの影響範囲に分類し、コードの綿密なレビュー、定期的な省察、コード品質監視メカニズムの確立などの緩和策を示唆しています。重要なメッセージは、AIの急速な進歩にもかかわらず、開発者の経験とスキルは依然として不可欠であるということです。

開発

GoFはデリゲーションを誤解していた(そして他の人たちも)

2025-03-26

この記事は、Gang of Fourの『デザインパターン』や様々なRubyライブラリで示されているデリゲーションの一般的な理解に異議を唱えています。著者は、デリゲーションとして挙げられる多くの例は、実際には単なるメッセージ転送であり、真のデリゲーションではないと主張しています。Henry Liebermanによって定義された真のデリゲーションでは、「self」はデリゲーションプロセス全体を通して常に最初のメッセージ受信者を指す必要があります。JavaScriptとRubyの例を用いて、この記事はデリゲーションの正しい意味を明確にし、メッセージ転送を誤ってデリゲーションと呼ぶことによって生じる広範な誤解を強調しています。著者は、よりクリーンで保守しやすいコードを書くために、デリゲーションの真の意味を理解するよう開発者に促しています。

arXivLabs:コミュニティ協力者との実験プロジェクト

2025-03-26
arXivLabs:コミュニティ協力者との実験プロジェクト

arXivLabsは、共同作業者がarXivの新しい機能を直接arXivウェブサイト上で開発および共有することを可能にするフレームワークです。arXivLabsに参加する個人および組織は、オープン性、コミュニティ、卓越性、ユーザーデータのプライバシーという私たちの価値観を受け入れています。arXivはこれらの価値観に尽力しており、それらを遵守するパートナーのみと協力しています。arXivコミュニティに価値を追加するプロジェクトのアイデアをお持ちですか?arXivLabsの詳細をご覧ください。

開発

C++メタプログラミング:IILEに別れを告げ、拡張文と構造化束縛を採用する

2025-03-26

この記事では、`expand`ヘルパー、拡張文、構造化束縛を活用することで、C++メタプログラミングを効率化し、すぐに実行されるラムダ式(IILE)への依存を減らす方法を探ります。要素ごとの展開、早期リターン、戻り値の処理、任意の範囲をパックに変換する方法を詳細に説明し、コンパイル時の効率的なデータ操作を実現します。これらのテクニックにより、コードの可読性と保守性が大幅に向上し、冗長なコーディングを回避できます。

Hyperlight Wasm:超高速、安全、そして互換性のあるWebAssemblyマイクロVM

2025-03-26
Hyperlight Wasm:超高速、安全、そして互換性のあるWebAssemblyマイクロVM

マイクロソフトのオープンソースプロジェクトであるHyperlightに大きなアップデートが登場しました:Hyperlight Wasm。これは、様々なプログラミング言語で記述されたコンポーネントを信じられないほどの速度で実行できる、WebAssemblyベースのマイクロVMです。セキュリティと互換性を両立させています。WASIとWebAssemblyコンポーネントモデルを活用することで、Hyperlight Wasmは完全なオペレーティングシステムなしでプログラムを実行し、ミリ秒単位の起動時間を実現します。この記事では、Hyperlight Wasmの仕組みと、UDPエコーの例を用いた使用方法を詳しく説明し、パフォーマンスとセキュリティの利点、そしてAzureサービスにおける可能性について強調しています。

Next.jsのオープン性とVercelによる管理:オープンソースと商業的利益のせめぎ合い

2025-03-26
Next.jsのオープン性とVercelによる管理:オープンソースと商業的利益のせめぎ合い

Netlifyのエンジニアが、Next.jsフレームワークの閉鎖的な性質を明らかにしました。オープンソースであるにもかかわらず、Vercelによる厳格な管理により、他のクラウドプロバイダーはNext.jsの機能を完全にサポートすることが困難になっています。問題には、アダプターの不足、公式なサーバーレスサポートの欠如、Vercel固有のコードパスなどが含まれます。最近の重大なセキュリティ脆弱性の対応は、Vercelの透明性の欠如を示しており、他のプロバイダーへの迅速な通知が不足し、ユーザーに損害を与えました。著者は、開発者コミュニティの利益のために、VercelにNext.jsのオープン性と相互運用性を向上させるよう促しています。

開発

Cocommit:Gitコミットのコパイロット

2025-03-26
Cocommit:Gitコミットのコパイロット

Cocommitは、選択したLLMを使用してGitコミットの品質を向上させるコマンドラインツールです。最後のコミットメッセージを分析し、長所と短所を強調しながら改善点を提案します。Cocommitは、OpenAIやAmazon BedrockのClaude 3.7など、さまざまなLLMをサポートし、LangChainを使用して基盤となるモデルを抽象化します。インストールと使用が容易で、LLMエクスペリエンスをカスタマイズできるため、開発者がコードスタイルを改善するための優れたツールです。

開発

Llama.cppヒープオーバーフローの悪用:RCE達成までの30時間

2025-03-26
Llama.cppヒープオーバーフローの悪用:RCE達成までの30時間

この記事では、Llama.cppのヒープオーバーフローを悪用してリモートコード実行(RCE)を達成するまでの30時間にわたる取り組みを詳細に説明します。Llama.cpp独自のヒープ管理システムにより、従来のptmalloc攻撃手法は効果がありませんでした。著者はLlama.cppの実装ロジックを巧みに利用し、複数のセキュリティチェックを回避してヒープオーバーフローを実現しました。複雑な操作を経てRCEを獲得しました。この記事は、脆弱性の詳細、軽減策、最終的な悪用方法について詳細に分析し、セキュリティ研究者にとって貴重な知見を提供します。

Scalaの未来:安全性と利便性のバランス

2025-03-26
Scalaの未来:安全性と利便性のバランス

2010年代半ば以降、Scalaの盛り上がりは落ち着いたものの、依然として強いコミュニティと採用率を維持しています。この記事では、Scalaの将来の方向性を考察しており、Martin OderskyとHaoyi Liの両著者は、Scalaが継続的な進化を必要としていると主張しています。使いやすさの向上、ツール体験の改善、コミュニティからのフィードバックの積極的な取り込みを行いながら、安全性と利便性を維持する必要があるとしています。安全性と利便性のバランス、既存機能の洗練、新規参入者の参入障壁の低減が必要であると強調しています。また、IDEサポートやビルドツールなど、Scalaエコシステムにおける課題にも触れ、解決策を提案しています。

開発 将来開発

Wi-FiでのSMB速度低下:トラブルシューティングの謎

2025-03-26
Wi-FiでのSMB速度低下:トラブルシューティングの謎

ユーザーは、Wi-FiでNASに接続するとSMB転送速度が遅くなる問題を抱えています。一方、イーサネット接続では速度は正常です。5GHz Wi-Fiに接続しており、インターネット速度テストの結果も良好であるにもかかわらず、問題は解決しません。SMBの設定、ネットワーク干渉、またはNASのRealtek NICが疑われています。ネットワーク帯域幅をテストするためにiperf3を使用し、TrueNASの設定とネットワーク構成を確認することをお勧めします。

開発

Gemini 2.5 Proを用いたOllamaモデルAtomフィードスクレイパーの改良

2025-03-26

この投稿では、GitHub ActionsとGitHub Pagesを利用したAtomフィードを作成し、Ollamaの最新モデルページから最新のモデルデータをスクレイピングする方法について説明しています。当初はClaudeを使用してHTMLをAtomに変換するスクリプトを作成しましたが、GoogleのGemini 2.5 Proを使用してスクリプトを改良しました。このアップグレードにより、出力は2つのフィードに分割されます。1つはすべてのモデルを含むフィード、もう1つは最新の20個のモデルのみを含むフィードです。これにより、効率性と使いやすさが向上します。

GitHubコード提案適用制限

2025-03-26
GitHubコード提案適用制限

この記事では、GitHubのコードレビュー中に提案を適用する際に発生するさまざまな制限について説明します。これには、単一のコミットへの提案の適用制限、コード変更のないプルリクエストへの適用不可、クローズ済みのプルリクエスト、キューに入れられたプルリクエスト、解決済みの提案、削除された提案などがあります。これらの制限は、コードベースの整合性とレビュープロセスの効率性を維持することを目的としています。

シェル効率を劇的に向上させる:fzf/skimとzsh履歴検索の究極ガイド

2025-03-26

Unixターミナルヘビーユーザーである著者は、シェル効率にユーザー間で大きな差があることに気づきました。Ctrl-rショートカットとfzf/skimファジー検索ツールを組み合わせることで、コマンド検索効率が劇的に向上しました。この記事では、zshとskimの設定方法、履歴コマンド表示の改善、意味のない整数をタイムスタンプに置き換え、表示形式をカスタマイズする方法(例:「1d」、「2d」でコマンド実行時間を表示)を詳細に説明し、より直感的なコマンド選択を実現します。最終的に、著者のシェル効率は倍増し、読者はシェル使用習慣を改善して生産性を向上させるよう促しています。

あなたの才能を無駄にしないで:仕事の売り込みの重要性

2025-03-25

技術的に優れた人は、しばしば技術的な側面のみに集中し、成果の普及という重要なステップを無視しがちです。この記事は、Richard Hammingの知見を用いて、自分の仕事の「売り込み」の重要性を強調しています。どんなに素晴らしい仕事でも、他の人々に理解され、活用されなければ、その価値は実現しません。これは研究者だけでなく、製品やサービスを効果的に販売して成功する必要がある起業家にも当てはまります。この記事は、技術専門家に、明確にコミュニケーションを取り、積極的に成果を宣伝することを推奨し、世界と自身のキャリアの両方に利益をもたらすことを促しています。

開発 影響力

arXivLabs:コミュニティとの協働による実験プロジェクト

2025-03-25
arXivLabs:コミュニティとの協働による実験プロジェクト

arXivLabsは、共同作業者がarXivの新しい機能をウェブサイト上で直接開発・共有できるフレームワークです。arXivLabsと連携する個人や組織は、オープン性、コミュニティ、卓越性、ユーザーデータのプライバシーという私たちの価値観を受け入れています。arXivはこれらの価値観にコミットしており、それらに準拠するパートナーのみと連携しています。arXivコミュニティに価値を追加するプロジェクトのアイデアをお持ちですか?arXivLabsの詳細をご覧ください。

開発
1 2 129 130 131 133 135 136 137 214 215