<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on make me: APe</title><link>https://apealive.net/tags/security/</link><description>Recent content in Security on make me: APe</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 10 Feb 2026 14:00:00 +0000</lastBuildDate><atom:link href="https://apealive.net/tags/security/index.xml" rel="self" type="application/rss+xml"/><item><title>CLI-first Password Manager: Gopass</title><link>https://apealive.net/post/gopass-tutorial/</link><pubDate>Tue, 10 Feb 2026 14:00:00 +0000</pubDate><guid>https://apealive.net/post/gopass-tutorial/</guid><description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/gopasspw/gopass" target="_blank" rel="noopener noreferrer"&gt;gopass&lt;/a&gt;
&lt;/strong&gt; is a modern, interactive UNIX password manager wrapper designed for secure, multi-store (e.g., combining independent stores like &lt;code&gt;personal&lt;/code&gt; and &lt;code&gt;acme&lt;/code&gt; for work), and Git-native secret operations. This guide covers setting up gopass from foundation to team-mount configuration utilizing &lt;strong&gt;&lt;code&gt;age&lt;/code&gt;&lt;/strong&gt; encryption.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
Since &lt;code&gt;gopass&lt;/code&gt; is fully backward-compatible with the standard &lt;code&gt;pass&lt;/code&gt; directory structure and commands, you can also review my core &lt;strong&gt;&lt;a href="https://apealive.net/post/unix-pass-cheat-sheet/"&gt;UNIX Password Manager (pass) Cheat Sheet&lt;/a&gt;
&lt;/strong&gt; for standard references.&lt;/p&gt;</description></item><item><title>UNIX Password Manager (pass) Cheat Sheet and Getting Started Guide</title><link>https://apealive.net/post/unix-pass-cheat-sheet/</link><pubDate>Fri, 17 Mar 2023 13:39:51 +0000</pubDate><guid>https://apealive.net/post/unix-pass-cheat-sheet/</guid><description>&lt;p&gt;This article covers &lt;strong&gt;UNIX Password Manager (pass) Cheat Sheet and Getting Started Guide&lt;/strong&gt;, originally published as a secure &lt;a href="https://gist.github.com/epcim/882ac539fe6c32a3077a1e9d9f4b842e" target="_blank" rel="noopener noreferrer"&gt;GitHub Gist&lt;/a&gt;
 snippet.&lt;/p&gt;
&lt;h1 id="pass-cheat-sheetguide"&gt;&lt;code&gt;pass&lt;/code&gt; cheat sheet/guide&lt;a class="heading-anchor" href="#pass-cheat-sheetguide" aria-hidden="true"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Getting started guide to the unix password manager &lt;code&gt;pass&lt;/code&gt;. Manage &lt;code&gt;gpg&lt;/code&gt; encripted passwords (files) in
a standar directory-like hierarchy. Such files can be copied or stored in a &lt;code&gt;git&lt;/code&gt; repository.&lt;/p&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;a class="heading-anchor" href="#requirements" aria-hidden="true"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install pass (standard unix password manager):&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ubuntu/Debian:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo apt-get install pass
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Others platforms.&lt;/p&gt;</description></item><item><title>Some Sugar from a DevOps Life: Secure File Syncing &amp; Cloud Secrets</title><link>https://apealive.net/snippets/some-sugar-from-devops-life/</link><pubDate>Sat, 21 Jan 2023 14:19:28 +0000</pubDate><guid>https://apealive.net/snippets/some-sugar-from-devops-life/</guid><description>&lt;p&gt;This is a curated collection of secure file synchronization, cloud infrastructure utilities, and secret management recipes compiled from my public GitHub Gists, representing some sweet shortcuts from a DevOps life.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="-keyring-secrets-management-and-cli"&gt;🔑 keyring, secrets management and CLI&lt;a class="heading-anchor" href="#-keyring-secrets-management-and-cli" aria-hidden="true"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Published: 2026-04-01T05:44:09Z | Original Link: &lt;a href="https://gist.github.com/epcim/479188c2a98468ed9c0187386a54e23a" target="_blank" rel="noopener noreferrer"&gt;Gist Link&lt;/a&gt;
&lt;/em&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;# gopass
EDITOR=vi gopass insert me/api/xyz_api_key
XYZ_API_KEY=&amp;#34;$(gopass -o me/api/xyz_api_key)&amp;#34;


# python
python -m keyring set XYZ_API_KEY &amp;lt;username&amp;gt;
python -m keyring get XYZ_API_KEY &amp;lt;username&amp;gt;


# MacOS
get_secret() {
 security find-generic-password -a &amp;#34;$USER&amp;#34; -s &amp;#34;$1&amp;#34; -w
}
export XYZ_API_KEY=$(get_secret XYZ_API_KEY)
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;
&lt;h2 id="-gcrio-image-statistics"&gt;🔑 gcr.io image statistics&lt;a class="heading-anchor" href="#-gcrio-image-statistics" aria-hidden="true"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Published: 2024-08-22T08:14:27Z | Original Link: &lt;a href="https://gist.github.com/epcim/dded1df6176ef162b693bffd08cc5ba3" target="_blank" rel="noopener noreferrer"&gt;Gist Link&lt;/a&gt;
&lt;/em&gt;&lt;/p&gt;</description></item><item><title>SOPS Secrets Management Integration inside Makefiles</title><link>https://apealive.net/snippets/sops-makefile-seal-unseal/</link><pubDate>Wed, 29 Jun 2022 11:59:46 +0000</pubDate><guid>https://apealive.net/snippets/sops-makefile-seal-unseal/</guid><description>&lt;p&gt;This article covers &lt;strong&gt;SOPS Secrets Management Integration inside Makefiles&lt;/strong&gt;, originally published as a secure &lt;a href="https://gist.github.com/epcim/2738c2d95f62eea9e73772eda574cf50" target="_blank" rel="noopener noreferrer"&gt;GitHub Gist&lt;/a&gt;
 snippet.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;seal-sops: ## SOPS Encrypt all secrets path matching [_sec|secret|config|*.secret*]
	@find $(PTH) -path &amp;#34;*/_sec/*&amp;#34; -type f -o -path &amp;#34;*/secret/*&amp;#34; -type f -o -path &amp;#34;*/config/*&amp;#34; -name &amp;#34;*.secret*&amp;#34; -type f |\
		egrep -v &amp;#39;(\.enc|\.asc|\.sealed|\.matrix)&amp;#39; |\
		while read file; do \
		 ./scripts/seal-sops $$file;\
		done;


unseal-sops: ## SOPS Decrypt all secrets (suffix: .enc and .enc.yaml)
	@find $(PTH) -name &amp;#34;*.enc&amp;#34; -type f -o -name &amp;#34;*.enc.*&amp;#34; -type f |\
		while read file; do \
		 ./scripts/unseal-sops $$file;\
		done;
#!/bin/bash -e


# sops-seal, encrypt file if modified (adds .enc before(as) its suffix)
sops-seal() {


 file=$1
 fullname=&amp;#34;${file##*/}&amp;#34;
 dirname=&amp;#34;${file%/*}&amp;#34;
 basename=&amp;#34;${fullname%.*}&amp;#34;
 extension=&amp;#34;.${fullname##*.}&amp;#34;


 # If the file is in the same directory with the script,
 # path likely will not include any directory seperator.
 [[ &amp;#34;$dirname&amp;#34; == &amp;#34;$path&amp;#34; ]] &amp;amp;&amp;amp; dirname=&amp;#34;.&amp;#34;


 # If the file has no extension, correct the variable accordingly.
 [[ &amp;#34;$extension&amp;#34; == &amp;#34;.$basename&amp;#34; ]] &amp;amp;&amp;amp; extension=&amp;#34;&amp;#34;


 # Destination file
 dest=&amp;#34;${dirname}/${basename}.enc${extension}&amp;#34;;


 [[ ! -e &amp;#34;$dest&amp;#34; ]] &amp;amp;&amp;amp; {
 sops -e --output &amp;#34;$dest&amp;#34; &amp;#34;$file&amp;#34;;
 } || {
 # if changed
 diff $file &amp;lt;(sops --config ${SOPS_CONFIG:-.sops.yaml} -d &amp;#34;$dest&amp;#34;) &amp;gt; /dev/null ||\
 { rm &amp;#34;$dest&amp;#34;; echo &amp;#34; ${dest}&amp;#34;; sops -e --config ${SOPS_CONFIG:-.sops.yaml} --output &amp;#34;$dest&amp;#34; &amp;#34;$file&amp;#34;;};
 }
 git add -f ${dest} 
}


sops-seal $@
#!/bin/bash


# sops-unseal, decrypt files (while removing `.enc.` file.enc.suffix)
sops-unseal() {
 for file in $(ls $@); do
 ex=&amp;#34;.${file##*.}&amp;#34;;
 fp=&amp;#34;${file%.enc*}&amp;#34;;
 #[[ &amp;#34;$ex&amp;#34; == &amp;#34;.$fp&amp;#34; ]] &amp;amp;&amp;amp; ex=&amp;#34;&amp;#34; # fix, no filename suffix
 dest=&amp;#34;$fp${ex#.enc}&amp;#34;;


 echo &amp;#34; ${dest}&amp;#34;;
	sops -d --config ${SOPS_CONFIG:-.sops.yaml} --output &amp;#34;$dest&amp;#34; &amp;#34;$file&amp;#34;; \
 done
}


sops-unseal $@
&lt;/code&gt;&lt;/pre&gt;</description></item></channel></rss>