Onyx(旧 Danswer)完全ガイド — 無料で使えるオープンソース AI プラットフォーム

Onyx(旧 Danswer)は、社内のドキュメント・アプリ・人材をまとめて繋ぎ、どんな LLM とも連携できるオープンソースの AI プラットフォームです。Community Edition(CE)は MIT ライセンスで完全無料。セルフホストできるため、データを外部に出さずに AI チャットや RAG、エージェント機能を利用できます。 Onyx とは Onyx は企業向け AI アシスタント&検索プラットフォームです。Slack、GitHub、Confluence、Google Drive など 50 以上のコネクタで社内ナレッジを統合し、自然言語で質問するだけで必要な情報を引き出せます。 GitHub リポジトリ(onyx-dot-app/onyx)のスター数は 22,000 超で、活発に開発が続いています。 主な機能 チャット&RAG ハイブリッド検索: ベクトル検索とキーワード検索を組み合わせた高精度な情報検索 Agentic RAG: AI エージェントが検索クエリの生成・評価・再検索を自律的に繰り返し、複数ステップで情報を収集 Deep Research: 多段階のリサーチフローで詳細なレポートを生成 エージェント&ツール カスタムエージェント: 固有の指示・知識・アクションを持つ AI エージェントを構築可能 Web 検索: リアルタイムの Web 情報を取得 コード実行: サンドボックス内でコードを実行し、データ分析やグラフ描画が可能 画像生成: プロンプトに基づいた画像生成 音声モード: テキスト読み上げ&音声入力に対応 コネクタ(50 以上) Slack、GitHub、Confluence、Notion、Google Drive、Jira、Linear など主要サービスと連携。MCP(Model Context Protocol)経由のカスタムコネクタにも対応しています。 エディション比較 項目 Community Edition (CE) Enterprise Edition (EE) ライセンス MIT(無料) 商用ライセンス チャット・RAG・エージェント ✅ ✅ SSO(OIDC / SAML) — ✅ エアギャップ環境 — ✅ サポート コミュニティ 専用サポート Cloud 版も提供されており、セルフホストなしで試用できます。ビジネスプランは 1 ユーザーあたり月額 $16〜。 ...

2026年4月3日 · 2 分

Pay2Key の Linux ランサムウェアが x64/ARM64 サーバーを標的に — 防御機構を無効化する高度な手口

Linux を標的とするランサムウェアが新たな段階に入った。イラン系とされる攻撃グループ Pay2Key が Linux 向けに進化し、「Pay2Key.I2P」と呼ばれる新たな亜種を展開している。Morphisec の技術分析をもとに、攻撃の手口、防御機構の無効化手法、そして具体的な対策を整理する。 Pay2Key とは Pay2Key はイラン系の攻撃グループに帰属するランサムウェアで、Fox Kitten APT グループとの関連が指摘されている。従来は Windows を主な標的としていたが、企業のサーバー基盤を直撃する Linux 版が登場し、防御の前提が揺らぎ始めている。 2026年2月には、米国の医療機関で Pay2Key による侵害事例が Beazley Security Incident Response によって対応されている。 Pay2Key.I2P の技術的特徴 設定駆動型の設計 Pay2Key.I2P は単なる Windows 版の移植ではない。JSON 設定ファイルによって動作を制御する設定駆動型の攻撃ツールとして設計されている。ターゲットとするファイルシステムの範囲や暗号化の挙動を柔軟に変更できる。 デュアルアーキテクチャ対応 x64 と ARM64 の両方に対応し、従来の x86 サーバーだけでなく、ARM ベースのクラウドインスタンス(AWS Graviton など)や仮想化ホストも一括で狙うことができる。 root 権限の必須化 侵入後は root 権限を必須とし、取得できない場合は即終了する設計となっている。これはノイズを最小限に抑え、検知を回避するための戦略と考えられる。 防御機構の無効化 Pay2Key.I2P の最も危険な特徴は、Linux の防御機構を体系的に無効化する点にある。 SELinux / AppArmor の無効化 実行時に SELinux や AppArmor を無効化し、強制アクセス制御(MAC)による保護を解除する。これにより、通常であれば制限されるファイルアクセスやプロセス操作が可能になる。 systemd サービスの停止 データベースやバックアップなどの重要なサービスを停止し、ファイルロックを解除して暗号化対象のファイルにアクセスできる状態を作り出す。 cron による永続化 cron エントリを登録してリブート後も自動的に再実行されるようにし、単純な再起動では排除できない永続性を確保する。 暗号化の手法 ChaCha20 による高速暗号化 暗号化アルゴリズムには ChaCha20 を採用している。AES と比較してソフトウェア実装での処理速度に優れる。AES-NI などの専用ハードウェアを持たない環境でも高速に動作する。 ...

2026年3月30日 · 2 分

# OpenHands × Ollama ローカルLLM実践記 — Mac Studio M3 Ultra で動かすまでの全記録

OpenHands × Ollama ローカルLLM実践記 — Mac Studio M3 Ultra で動かすまでの全記録 TL;DR: OpenHands(旧OpenDevin)をMac Studio M3 Ultra(96GB)+ Ollama + Qwen3-Coder 30B で動かそうとした。Docker-in-Docker のビルド問題、Playwright依存、ランタイムイメージ手動構築を経てUI起動まで到達したが、30Bモデルのtool calling精度不足で実用には至らなかった。 1. OpenHands とは OpenHands(旧 OpenDevin)は、オープンソースのAIコーディングエージェントプラットフォーム。75以上のLLMプロバイダーに対応し、SWE-bench で Qwen3-Coder 使用時に 69.6% のスコアを記録している。 公式リポジトリ: https://github.com/All-Hands-AI/OpenHands 特徴: Web UI でブラウザから操作 Docker サンドボックスで安全にコード実行 CodeActAgent による自律的なタスク遂行 Playwright 統合によるブラウザ操作 2. 動機 — なぜ OpenHands を試したか 前回の実験で Qwen Code(CLI エージェント)を Ollama + Qwen3-Coder 30B で動かしたが、複雑な multi-step タスク(GitHub PR レビューなど)で tool calling が破綻する問題に直面した。 OpenHands は SWE-bench で高スコアを出しており、エージェントスキャフォールディングの力で同じ 30B モデルでも改善されるのでは?という仮説を検証するために試した。 ...

2026年3月6日 · 3 分

# Claude Code の「YOLO モード」を安全に使う — dangerously-skip-permissions と Docker 活用

Claude Code の「YOLO モード」を安全に使う — dangerously-skip-permissions と Docker 活用 関連ポスト: hiragram リポジトリ: hiragram/claude-docker はじめに Claude Code を使っていると、ファイル編集やコマンド実行のたびに「これを実行してもいいですか?」と確認を求められる。安全設計として正しいが、反復的な作業では毎回の承認が煩わしくなる。 そこで登場するのが --dangerously-skip-permissions フラグ。通称「YOLO モード」。YOLO とは “You Only Live Once”(人生は一度きり) の略で、「結果を気にせず、とにかくやってしまえ」というネットスラング。安全確認を一切スキップして全操作をぶっ通しで実行させる様子が、まさに「後先考えずに突っ走る」YOLOの精神そのものであることから、コミュニティでこう呼ばれるようになった。 便利だが、名前の通り危険も伴う。このフラグの本質と、安全に使うための Docker 活用について整理する。 --dangerously-skip-permissions とは Claude Code の全てのパーミッションチェック(権限確認プロンプト)をバイパスし、完全に自律動作させるフラグ。 1 claude --dangerously-skip-permissions 3つの動作モードの比較 モード 挙動 ユーザー介入 通常モード ファイル変更・コマンド実行のたびに承認を要求 毎回必要 Auto-Accept (Shift+Tab) UI上で承認を自動化 介入可能 dangerously-skip-permissions 全ての安全ガードレールを除去 一切不要 なぜ「dangerously」と名付けられているのか Anthropic が意図的に「危険」という語を含めている。実際にリスクは深刻で、以下のような報告がある。 Wolak 事件(2025年10月): Ubuntu/WSL2 上で Claude Code が rm -rf / を実行し、/bin、/boot、/etc などシステムディレクトリを破壊 eesel AI の調査によると、このフラグ使用者の 32% が意図しないファイル変更を経験、9% が実際のデータ損失を報告 主なリスク リスク 具体例 破壊的コマンドの無確認実行 rm -rf、git reset --hard、設定ファイル上書き スコープクリープ 指定範囲外のファイルを「親切心」で変更・削除 資格情報の漏洩 ホストの全資格情報にアクセス可能な状態 連鎖的被害 1つの誤った解釈が次々と問題を引き起こす それでも YOLO モードが必要な理由 危険だが、以下のユースケースでは事実上不可欠。 ...

2026年2月27日 · 2 分

CloudWatch Logs のエラーを自動で GitHub Issues に課題化する

CloudWatch Logs のエラーを自動で GitHub Issues に課題化する ECS で稼働するWebアプリケーションのエラーログを自動的に GitHub Issues に報告する仕組みを構築しました。手動でログを監視する必要がなくなり、エラー発生時に即座にチームが認識・対応できるようになります。 背景 マルチテナントの業務システムを ECS Fargate 上で運用しています。アプリケーションは2つあり、それぞれ異なるフレームワークで構築されています。 アプリ フレームワーク 用途 web Laravel (PHP) 業務管理システム api Django (Python) API サーバー これまで CloudWatch Logs にログは収集していたものの、エラーの検知は手動確認に頼っていました。500エラーや例外発生を見逃すリスクがあり、自動検知の仕組みが必要でした。 アーキテクチャ Subscription Filter + Lambda + GitHub Issues API の構成を採用しました。 CloudWatch Logs (/ecs/{prefix}-ecs-{app}) └── Subscription Filter (エラーパターンマッチ) └── Lambda Function (Docker/arm64, Python 3.12) ├── エラー解析 (HTTP 5xx, 例外, スタックトレース) ├── ±5秒のログコンテキスト取得 ├── 既存 Open Issue 検索 └── 新規 Issue 作成 or 既存 Issue にコメント追加 この構成を選んだ理由 方式 リアルタイム性 柔軟性 コスト Subscription Filter + Lambda (採用) 高 高 中 Metric Filter + Alarm + SNS 中 (1分以上遅延) 低 低 CloudWatch Logs Insights (定期実行) 低 高 低 Subscription Filter はログ出力時にほぼリアルタイムで Lambda を起動するため、エラー発生から数秒で Issue が作成されます。 ...

2026年2月24日 · 4 分

PGVector

PGVector ニューラルネットワークの知識の蒸留 distilling the knowledge in a neural networkPGVector (Postgres) Rails/PostgreSQL/pgvector を組み合わせてベクトル検索をする。 https://github.com/yassun/sample-pgvector https://hub.docker.com/r/pgvector/pgvector https://github.com/pgvector/pgvector-python LangChain と pgvector(Postgres)を用いて関連性の高いドキュメントを手軽に検索する 生成 AI でテキスト分類やってみた SentenceTransformer Python の SentenceTransformer を用いた文章類似度比較 sentence transformers で日本語を扱えるモデルのまとめ transformers 多言語モデル中の日本語語彙調査 知識蒸留 ニューラルネットワークの知識の蒸留 distilling the knowledge in a neural network 知識蒸留で効果的な教師の条件とは? 教師データとは?学習データとの違いや作り方をわかりやすく紹介 ディープラーニングを軽量化する「モデル圧縮」3手法 MUSE Muse: Text-To-Image Generation via Masked Generative Transformers を読んだメモ

2024年7月31日 · 1 分

サイトセキュリティチェック

サイトセキュリティチェック Mozilla: https://observatory.mozilla.org/ トレンドマイクロ: https://global.sitesafety.trendmicro.com/?cc=jp Google: https://www.virustotal.com/gui/home/upload OWASP Zap Docker 版 OWASP ZAP を M1 Mac で動かす。 問題: : Cookie No HttpOnly Flag [10010] : Re-examine Cache-control Directives [10015] : Cross-Domain JavaScript Source File Inclusion [10017] : Missing Anti-clickjacking Header [10020] : X-Content-Type-Options Header Missing [10021] : [Information Disclosure - Suspicious Comments]https://www.zaproxy.org/docs/alerts/10027/ : [Cookie Poisoning]https://www.zaproxy.org/docs/alerts/10029/ : User Controllable HTML Element Attribute (Potential XSS) [10031] : Strict-Transport-Security Header Not Set [10035] : Content Security Policy (CSP) Header Not Set [10038] : Secure Pages Include Mixed Content [10040] : Storable and Cacheable Content [10049] : Cookie without SameSite Attribute [10054] : Permissions Policy Header Not Set [10063] : Timestamp Disclosure - Unix [10096] : Modern Web Application [10109] (対応しなくてもよい) : Dangerous JS Functions [10110] : Session Management Response Identified [10112] : Absence of Anti-CSRF Tokens [10202] : Sub Resource Integrity Attribute Missing [90003] : Charset Mismatch [90011] VIRUSTOTAL https://www.virustotal.com/gui/home/upload SUURI https://sitecheck.sucuri.net/

2024年7月22日 · 1 分

Terraform and others

Terraform , CloudFormation 関連 OpenTofu https://opentofu.org/ troposphere https://github.com/cloudtools/troposphere troposphere で CloudFormation のテンプレートを作成する。 former2 https://github.com/iann0036/former2 Former2 から CloudFormation を生成してみた インストール: 1 2 3 4 git clone https://github.com/iann0036/former2.git sudo /Applications/Docker.app/Contents/MacOS/install remove-vmnetd sudo /Applications/Docker.app/Contents/MacOS/install vmnetd docker-compose up -d

2024年6月25日 · 1 分

ECS: aws-cli

ECS: aws-cli curl, unzip は入っていること 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 ARG BASE_IMAGE=myimage-cicd-appbase ARG TAG=latest FROM ${BASE_IMAGE}:${TAG} as server ARG USERNAME=ubuntu ARG GROUPNAME=ubuntu ARG PASSWORD=ubuntu ARG UID=1000 ARG GID=1000 ENV APP_BASE=/usr/src/app \ LIB_BASE=/usr/src/lib \ POETRY_VERSION=1.0.10 \ PATH="/root/.poetry/bin:$PATH" RUN mkdir -p /var/run/gunicorn && mkdir -p /storage RUN apt-get update && apt-get install -y sudo RUN groupadd -g ${GID} ${GROUPNAME} && \ useradd -m -s /bin/bash -u ${UID} -g ${GID} -G sudo ${USERNAME} --home-dir ${APP_BASE} && \ echo ${USERNAME}:${PASSWORD} | chpasswd && \ echo "${USERNAME} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # aws-cli RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" RUN unzip awscliv2.zip RUN sudo ./aws/install # Application COPY . ${APP_BASE} WORKDIR ${APP_BASE} RUN pip install pip poetry urllib3==1.26.15 -U && \ poetry config virtualenvs.create false && \ poetry install && pip install urllib3==1.26.15 pyOpenSSL -U RUN chown -R ${USERNAME}:${GROUPNAME} ${APP_BASE} RUN chmod 777 /run/gunicorn USER ${USERNAME} CMD ["/usr/src/app/docker/codebuild/entry_web.sh", "/usr/src/app"]

2024年1月7日 · 1 分

macOS: ls: .: Operation not permitted

macOS: ls: .: Operation not permitted このエラーは、macOSのセキュリティ機能によって、ターミナルのコマンドが特定のディレクトリに対して制限されている可能性があります¹²。例えば、DownloadsやDocumentsなどのディレクトリは、プライバシー保護のためにアクセス権が制限されています²。 この場合、システム環境設定から、ターミナルに対してフルディスクアクセスを許可する必要があります¹²。具体的な手順は以下の通りです。 システム環境設定を開きます。 セキュリティとプライバシーを選択します。 プライバシータブをクリックします。 左側のメニューからフルディスクアクセスを選択します。 鍵のアイコンをクリックしてロックを解除します。 パスワードを入力します。 +ボタンをクリックしてターミナルを追加します。 ターミナルを再起動します。 これで、lsコマンドなどが正常に動作するはずです。試してみてください。 ソース: Bing との会話 2023/5/3 (1) macOS の「Operation not permitted」を回避する【du/ls/mv/cp …. https://qiita.com/KEINOS/items/0366f1c281b574a79cfb. (2) ターミナルでコマンド実行時に「Operation not permitted」が出 …. https://qiita.com/Tatsu88/items/f50f850b0c8f4a2c1bf2. (3) unix - ls: Operation not Permitted - Stack Overflow. https://stackoverflow.com/questions/25717501/ls-operation-not-permitted. (4) 突然の「Operation not permitted」-Dockerが採用する …. https://www.creationline.com/lab/46861. 設定 > プライバシーとセキュリティ > フルディスクアクセス

2023年5月2日 · 1 分