Hari 56: Laporan Audit PDF dengan Pandoc dan Typst
4 min read

Hari 56: Laporan Audit PDF dengan Pandoc dan Typst

Menyusun laporan audit jadi PDF profesional pakai Pandoc dan Typst tanpa LaTeX. 7 halaman, tabel rapi, dan angka yang berbicara.

devsecops
pandoc
typst
audit report
pdf
vulnerability management
Share

Hari ke-56 dari challenge 60 Days DevSecOps. Kemarin saya baru selesai mengumpulkan data scan dan bikin draf laporan audit. Hari ini tugasnya: ubah draf itu jadi dokumen eksekutif resmi dan ekspor ke PDF.

Kedengarannya sepele? Ternyata di baliknya ada keputusan menarik: gimana cara bikin PDF dengan tabel yang rapi TANPA ribet install LaTeX. Jawabannya: Pandoc + Typst. Mari saya ceritakan.

Dari Draf ke Dokumen Formal

Kemarin (Day 55) saya punya draft-q3.md — semacam draf eksekutif berisi angka dan poin-poin. Tapi dokumen yang mau dibawa ke manajemen harus lebih dari itu. Ia harus bercerita.

Jadi hari ini saya susun dokumen baru: laporan-audit-q3.md dengan 7 bagian:

  1. Executive Summary — penilaian risiko keseluruhan. Jawaban: MEDIUM, dengan 6 temuan aktif (0 Critical, 1 High, 2 Medium, 2 Low, 1 Info).
  2. Ruang Lingkup & Metodologi — 11 lapis tools yang dipakai dan cara pendekatannya.
  3. Key Findings (Baseline) — temuan sebelum remediasi, dari F-01 sampai F-10.
  4. Mitigation Evidence (After) — bukti perbaikan lengkap dengan angkanya.
  5. Residual Risk — risiko yang masih tersisa, plus risiko yang sengaja diterima (dengan alasannya).
  6. Rekomendasi & Roadmap — apa yang harus dikerjakan segera dan jangka menengah.
  7. Konklusi — closing yang jujur.

Dokumen ini bedanya dengan draf: ia berbicara ke pembaca non-teknis. Bukan daftar CVE panjang, tapi dampak dan bukti.

Rahasia Halaman Judul: YAML Front Matter

Supaya PDF-nya punya halaman judul rapi (judul, subtitle, penulis, tanggal), saya tambahkan metadata di paling atas file:

---
title: "Laporan Audit Keamanan Q3"
subtitle: "SecureBank API — 60 Days DevSecOps Mastery Challenge"
author: "DevSecOps Engineer"
date: "6 Agustus 2026"
---

Pandoc membaca metadata ini dan otomatis membuat halaman judul. Tanpa front matter, judul cuma diambil dari heading pertama.

Export PDF: Pandoc + Typst (Tanpa LaTeX)

Cara klasik bikin PDF dari Markdown adalah pakai LaTeX — tapi install-nya besar dan lama. Pandoc versi baru punya jalan pintas: engine Typst.

pandoc laporan-audit-q3.md --pdf-engine=typst -o laporan-audit-q3.pdf

Satu baris. Hasilnya? PDF 7 halaman yang valid, dengan semua tabel ter-render rapi secara native. Typst lebih ringan dari LaTeX dan dipasang cukup lewat Homebrew.

Verifikasi hasilnya tanpa perlu buka aplikasi PDF:

file laporan-audit-q3.pdf
# PDF document, version 1.7, 7 pages

Kenapa Angka-angka Ini Penting

Yang saya suka dari dokumen ini: semua angkanya bukan karangan — hasil scan ulang kemarin. Contoh tren yang saya tulis di tabel "Sebelum vs Sesudah":

Layer Sebelum Sesudah
Dependensi Go 4 CVE (1 Critical) 0 Critical/High (1 Info)
IaC (Trivy) 14 temuan 2 Low
K8s manifest 16 misconfig 0
Cloud (Prowler) 132 FAIL / 4 Critical 106 FAIL

Inilah yang membuat laporan eksekutif bisa dipercaya: setiap klaim perbaikan ada buktinya — dari catatan hari tertentu (Day 07, 10, 23, 33, 51, 52–54).

Jujur soal Risiko yang Tersisa

Bagian paling penting justru di "Residual Risk". Di sini saya menulis apa yang BELUM beres dan alasannya:

  • CVE-2026-39822 (High) di stdlib image — solusinya rebuild image dengan Go lebih baru.
  • API tanpa TLS — perlu terminasi TLS.
  • Risiko yang sengaja diterima: belum ada WAF (dijadwalkan Q4), node lab yang NotReady, artefak red team di repo (khusus lab).

Dokumen profesional tidak menyembunyikan sisa risiko. Ia mendokumentasikannya dengan jujur dan kasih rencana tindak. Itu justru membangun kepercayaan.

Kesimpulan

Pelajaran hari ini:

  1. Draf ≠ dokumen final. Dokumen eksekutif harus bercerita dengan dampak, bukan daftar kerentanan.
  2. Pandoc + Typst = PDF tanpa sakit kepala. Tabel rapi, 7 halaman, satu baris perintah, tanpa LaTeX.
  3. Angka yang berbicara lebih kuat dari narasi. Setiap klaim perbaikan di laporan saya bersumber dari scan ulang yang terverifikasi.
  4. Jujur tentang sisa risiko justru bikin laporan kredibel.

Dokumen final ada di repo: chalange-devsecops — lihat securebank-api/security/audit-reports/laporan-audit-q3.pdf.

Besok: minta AI mereview nada bahasa dokumen ini supaya makin pas dibaca CISO/CTO.

Enjoyed this article? Share it!

Share

Diskusi & Komentar

Artikel Terkait