深入解析 simpliRecycle:六个应用组成的流水线,如何把废料回收场从过磅一路管到增值税发票

大多数废料回收场至今仍靠纸质过磅单、微信或 LINE 上传的磅秤照片,以及每周末靠人工对账的 Excel 表格来运转。这套办法平时能凑合用,直到出问题为止:门口报错了一次价格,一批铜料在场内堆了一个月没人发现,或者会计在月底要花两天时间,把发票和实际过磅的货物逐一对上。由 Simplico 开发的场站运营平台 simpliRecycle,正是为了补上这个缺口而设计——从供应商的卡车开上磅秤的那一刻,一直追踪到增值税发票收款完成,全部在一套互联系统中完成。

Continue reading “深入解析 simpliRecycle:六个应用组成的流水线,如何把废料回收场从过磅一路管到增值税发票”

simpliRecycle徹底解説:計量から消費税インボイス発行まで、6つのアプリで回すスクラップヤード運営

多くのスクラップリサイクルヤードは、いまだに紙の計量伝票、LINEやWhatsAppで送られてくる秤の写真、そして週末にだれかが手作業で突き合わせるExcelシートで運営されています。それでも普段は何とか回りますが、問題が起きると一気に表面化します。ゲートで価格を誤って伝えてしまう、銅くずのロットが誰にも気づかれないまま1か月ヤードに滞留する、あるいは経理担当者が月末に実際に秤を通った量とインボイスを突き合わせるのに丸2日かかる、といった具合です。Simplicoが開発したデポ運営プラットフォームsimpliRecycleは、まさにこのギャップを埋めるために設計されています。仕入先のトラックが秤に乗った瞬間から、消費税インボイスの入金が完了するまでを、一つの連携システムで追跡します。

Continue reading “simpliRecycle徹底解説:計量から消費税インボイス発行まで、6つのアプリで回すスクラップヤード運営”

เจาะลึก simpliRecycle: ระบบ 6 แอปที่บริหารลานรับซื้อของเก่าตั้งแต่ชั่งน้ำหนักจนถึงออกใบกำกับภาษี

ลานรับซื้อของเก่าส่วนใหญ่ในไทยยังทำงานด้วยใบชั่งน้ำหนักกระดาษ รูปถ่ายหน้าจอตาชั่งที่ส่งกันทาง LINE หรือ WhatsApp และไฟล์ Excel ที่ต้องมานั่งกระทบยอดกันทุกสิ้นสัปดาห์ วิธีนี้พอใช้ได้จนกว่าจะเกิดปัญหา เช่น ราคาที่หน้าลานถูกแจ้งผิด ทองแดงหนึ่งล็อตค้างอยู่ในลานเป็นเดือนโดยไม่มีใครสังเกต หรือฝ่ายบัญชีต้องใช้เวลาสองวันช่วงปิดบัญชีเพื่อจับคู่ใบแจ้งหนี้กับของที่ผ่านตาชั่งจริง simpliRecycle แพลตฟอร์มบริหารลานรับซื้อของเก่าที่พัฒนาโดย Simplico ถูกออกแบบมาเพื่อปิดช่องว่างนี้ — ติดตามวัสดุตั้งแต่รถบรรทุกของซัพพลายเออร์แล่นเข้าตาชั่ง ไปจนถึงใบกำกับภาษีมูลค่าเพิ่มได้รับการชำระ ในระบบเดียวที่เชื่อมโยงกันทั้งหมด

Continue reading “เจาะลึก simpliRecycle: ระบบ 6 แอปที่บริหารลานรับซื้อของเก่าตั้งแต่ชั่งน้ำหนักจนถึงออกใบกำกับภาษี”

Inside simpliRecycle: How a Six-App Pipeline Runs a Scrap Yard from Weigh-In to VAT Invoice

Most scrap recycling depots run on a mix of paper weigh tickets, WhatsApp photos of scale readings, and a spreadsheet someone reconciles at the end of the week. It works, until it doesn’t: a price gets misquoted at the gate, a lot of copper sits in the yard for a month without anyone noticing, or the accountant spends two days at month-end trying to match invoices back to what actually crossed the scale. simpliRecycle, a depot operations platform built by Simplico, is designed to close that gap — tracking material from the moment a supplier’s truck rolls onto the scale to the moment a VAT invoice is paid, in one connected system.

Continue reading “Inside simpliRecycle: How a Six-App Pipeline Runs a Scrap Yard from Weigh-In to VAT Invoice”

如何使用小语言模型(SLM)从 Wazuh 日志与防火墙 Syslog 中检测网络攻击

安全运营中心(SOC)每天都被大量告警淹没。一家中型企业若在数百台终端上运行 Wazuh,再加上 FortiGate 等防火墙转发的 Syslog,每天轻松产生数万条事件。传统的基于规则的关联分析擅长捕捉已知模式,但对长尾威胁往往力不从心:表面上互不相关、实际上语义相关的告警群、缓慢渗透的侦察行为,或只有人类分析师才能识别出的可疑上下文。

Continue reading “如何使用小语言模型(SLM)从 Wazuh 日志与防火墙 Syslog 中检测网络攻击”

小規模言語モデル(SLM)でWazuhログとファイアウォールSyslogからサイバー攻撃を検知する

セキュリティオペレーションセンター(SOC)は日々大量のアラートに埋もれています。数百台のエンドポイントでWazuhを運用し、さらにFortiGateなどのファイアウォールからSyslogを受信している中規模企業では、1日に数万件のイベントが容易に発生します。従来のルールベースの相関分析は既知のパターンには強い一方、ロングテールの脅威には弱いという課題があります。個々には無関係に見えるが意味的には関連するアラートの連続、じわじわと進行する偵察活動、あるいは人間のアナリストでなければ気づけない文脈などです。

Continue reading “小規模言語モデル(SLM)でWazuhログとファイアウォールSyslogからサイバー攻撃を検知する”

การใช้ Small Language Model (SLM) ตรวจจับการโจมตีทางไซเบอร์จาก Wazuh Log และ Firewall Syslog

ศูนย์ปฏิบัติการความปลอดภัย (SOC) ต้องเผชิญกับปริมาณ alert มหาศาลทุกวัน องค์กรขนาดกลางที่รัน Wazuh บน endpoint หลายร้อยเครื่อง บวกกับ firewall อย่าง FortiGate ที่ส่ง syslog เข้ามา สามารถสร้าง event ได้หลักหมื่นรายการต่อวันโดยง่าย การทำ correlation ด้วย rule แบบดั้งเดิมจับรูปแบบที่รู้จักได้ดี แต่มักพลาด "หางยาว" ของภัยคุกคาม เช่น alert หลายรายการที่แยกกันดูไม่เกี่ยวข้องแต่จริง ๆ เชื่อมโยงกัน การลาดตระเวนแบบช้า ๆ (low-and-slow reconnaissance) หรือบริบทที่นักวิเคราะห์มนุษย์เท่านั้นจะมองออกว่าน่าสงสัย

Continue reading “การใช้ Small Language Model (SLM) ตรวจจับการโจมตีทางไซเบอร์จาก Wazuh Log และ Firewall Syslog”

Using Small Language Models to Detect Cyber Attacks from Wazuh Logs and Firewall Syslog

Security operations centers drown in alerts. A mid-sized enterprise running Wazuh across a few hundred endpoints, plus a FortiGate or similar firewall forwarding syslog, can easily generate tens of thousands of events per day. Traditional rule-based correlation catches known patterns, but it struggles with the long tail: alert bursts that are technically distinct but semantically related, low-and-slow reconnaissance, or context that only a human analyst would recognize as suspicious.


This is where a small language model (SLM) — not a massive frontier model, but a compact 7B–14B parameter model running on-premises — earns its place in the pipeline. It doesn’t replace Wazuh’s detection engine or your SIEM correlation rules. It sits downstream of them, turning structured alert noise into analyst-ready reasoning.

Why an SLM, not an LLM

For SOC workloads, three constraints usually rule out large hosted models:

  • Data residency. Enterprise clients in regulated sectors rarely allow raw security logs to leave their network, which rules out most API-based frontier models.
  • Latency and cost at volume. Scoring thousands of alert clusters a day needs a model that’s cheap and fast per call, not one billed per token at frontier rates.
  • The task doesn’t need frontier reasoning. Classifying an alert burst against MITRE ATT&CK techniques, or writing a two-sentence incident summary, is well within reach of a well-prompted 7B–14B model.

Models like Llama 3.1 8B, Qwen2.5 14B, or Phi-4, served locally through vLLM or Ollama, hit the right balance: good enough instruction-following for structured JSON output, small enough to run on a single GPU inside the client’s own environment.

Where the SLM sits in the pipeline

The mistake to avoid is feeding raw logs directly into the model. Wazuh and your firewall already do normalization — use that. The SLM’s job starts after aggregation, not before it.

flowchart TD
    A["Wazuh agents + FortiGate syslog"] --> B["Wazuh manager: rule matching & normalization"]
    B --> C["OpenSearch: alert aggregation by source IP / time window"]
    C --> D["SLM scoring service: classify, summarize, map to MITRE ATT&CK"]
    D --> E["DFIR-IRIS: enriched case creation"]
    E --> F["Shuffle SOAR: branch on SLM verdict"]
    F --> G["PagerDuty: human analyst escalation"]

Wazuh alerts are already structured JSON — rule ID, severity level, agent, source and destination IPs, and the raw log line. Aggregate correlated alerts into short windows (say, five minutes, grouped by source IP or user) before they ever reach the model. This keeps the SLM reasoning over compact event sequences instead of parsing firehose text, which both lowers cost and improves accuracy.

What the SLM is actually good at

Rule engines are precise but brittle. They’re excellent at "this exact log pattern occurred," and weak at "this sequence of otherwise-unremarkable events looks like an attack in progress." That gap is where an SLM adds value:

  • Incident summarization. Turning a cluster of twelve related Wazuh alerts into a two-sentence plain-language summary an on-call analyst can read in five seconds, instead of scrolling through raw logs.
  • Pattern reasoning across log sources. Correlating a burst of FortiGate connection denials with a subsequent run of Wazuh authentication failures on the same source IP, and describing why that combination resembles password spraying or credential stuffing — reasoning that static correlation rules often miss unless someone wrote a rule for that exact combination in advance.
  • False-positive suppression. Scoring alerts against short embedded context (asset criticality, known maintenance windows, expected admin behavior) to cut noise before a case is even opened in DFIR-IRIS.

Structured output, not free text

The model should never hand back a paragraph for a SOAR platform to parse with regex. Prompt it to return strict JSON:

{
  "severity": "high",
  "mitre_technique": "T1110.003 - Password Spraying",
  "summary": "17 failed logins across 4 accounts from a single external IP within 6 minutes, followed by one successful login.",
  "recommended_action": "disable_account_and_escalate",
  "confidence": 0.82
}

Shuffle can then branch directly on severity and recommended_action fields, routing high-confidence, high-severity cases straight to PagerDuty while lower-confidence ones queue for analyst review.

Guardrails matter more than accuracy

The single most important design decision is what the model is not allowed to do. An SLM in a SOC pipeline should be advisory only — it summarizes, classifies, and recommends, but it never auto-closes a case or auto-remediates a system. Human review stays in the loop for anything above a defined severity threshold. This isn’t just caution for its own sake; it’s the difference between a defensible SOC process and one that can’t answer for a false negative during a client audit.

Getting started without labeled data

Most organizations don’t have a clean dataset of "alert cluster → correct verdict" pairs to fine-tune on, and that’s fine to start. Strong few-shot prompting — a handful of example alert clusters with their correct MITRE mapping and severity, embedded directly in the system prompt alongside your organization’s specific rule descriptions — gets a 7B–14B model to reasonable accuracy immediately. Fine-tuning becomes worthwhile once you’ve accumulated a few hundred real, analyst-verified incidents to train on.

The result is a SOC pipeline where Wazuh and your firewall still do what they’re best at — fast, deterministic detection — while the SLM handles the messier, more contextual layer of reasoning that used to require a tired analyst squinting at a dashboard at 2 a.m.

如何用 Django 从零搭建 ERP:数据模型、工作流与系统架构

对大多数公司来说,Odoo 和 ERPNext 已经能够很好地解决 ERP 的问题。如果你的业务流程能落在标准模块配置选项的 20% 之内,那么定制现有平台几乎总是比从零构建更划算——我们之前撰写的 ERPNext 实施指南、以及关于 ERP 项目为何失败的文章,正是基于这个原因。

Continue reading “如何用 Django 从零搭建 ERP:数据模型、工作流与系统架构”

Djangoでゼロから作るERP:データモデル、ワークフロー、アーキテクチャ

OdooやERPNextは、ほとんどの企業にとってERPの課題を十分に解決してくれます。自社の業務プロセスが標準モジュールの設定項目の20%程度に収まるのであれば、既存プラットフォームをカスタマイズするほうが、ゼロから構築するよりもほぼ確実に安上がりです——私たちがERPNextの導入ガイドやERPプロジェクトが失敗する理由について記事を書いてきたのも、まさにこの理由からです。

Continue reading “Djangoでゼロから作るERP:データモデル、ワークフロー、アーキテクチャ”