Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ropsec: a package for easing operations securit...
Search
Ildikó Czeller
July 11, 2019
Programming
640
2
Share
ropsec: a package for easing operations security for the R user
Ildikó Czeller
July 11, 2019
More Decks by Ildikó Czeller
See All by Ildikó Czeller
Making Email Campaigns More Effective: Send Time Optimization
czeildi
0
350
belgrade2018_satrday_oop_Ildi_Czeller.pdf
czeildi
0
110
The essentials to work with object-oriented systems in R
czeildi
0
110
Making email campaigns more effective: Send time optimization
czeildi
0
110
Other Decks in Programming
See All in Programming
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
450
NakouPAY説明用
annouim0
0
260
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
490
iOS機能開発のAI環境と起きた変化
ryunakayama
0
190
Kingdom of the Machine
yui_knk
2
900
Back to the roots of date
jinroq
0
420
ハーネスエンジニアリングとは?
kinopeee
13
6.1k
tRPCの概要と少しだけパフォーマンス
misoton665
2
240
Swift Concurrency Type System
inamiy
1
550
ルールルルルルRubyの中身の予備知識 ── RubyKaigiの前に予習しなイカ?
ydah
1
210
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
150
エラー処理の温故知新 / history of error handling technic
ryotanakaya
6
1.5k
Featured
See All Featured
Skip the Path - Find Your Career Trail
mkilby
1
110
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
720
Navigating Team Friction
lara
192
16k
Fireside Chat
paigeccino
42
3.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
380
Faster Mobile Websites
deanohume
310
31k
Balancing Empowerment & Direction
lara
6
1.1k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
510
A Tale of Four Properties
chriscoyier
163
24k
30 Presentation Tips
portentint
PRO
1
280
Typedesign – Prime Four
hannesfritz
42
3k
Transcript
{ropsec}: R OPerations SECurity unconf ‘18 project on GitHub
... but unnecessarily hard @czeildi Data Scientist @Emarsys security is
important ...
Are you who you say you are? verify authenticity of
commits @czeildi Data Scientist @Emarsys
without signing @czeildi Data Scientist @Emarsys
with signing @czeildi Data Scientist @Emarsys
• Person 1 as person 1: good commit • Person
2 as person 2: good commit • Person 3 as person 1: evil commit @czeildi Data Scientist @Emarsys
@czeildi Data Scientist @Emarsys GitHub / web of trust sign
with , GitHub verifies with
@czeildi Data Scientist @Emarsys GitHub / web of trust sign
with , GitHub verifies with
specific technology • OpenPGP: standard • gpg : low-level •
ropsec : end2end @czeildi Data Scientist @Emarsys
ropsec::sign_commits_with_key() Do you want to sign future commits with `9958986BA31B2E1E`?
This will set your user.email from
[email protected]
to
[email protected]
. 1: Yes 2: No reduce risk of mistake @czeildi Data Scientist @Emarsys
ropsec::store_public_key() Public GPG key is uploaded to GitHub. Unauthorized request.
Check your token. Uploaded key is unverified, emails do not match. Delete the key (https://github.com/settings/keys) and try again. communicate status @czeildi Data Scientist @Emarsys
• askYesNo, getPass::getPass • git2r::config • gpg::gpg_keygen testing global changes
@czeildi Data Scientist @Emarsys
#throws error if password prompt cancelled: stub(generate_key, "getPass::getPass", NULL) expect_error(
generate_key("John Doe", "
[email protected]
"), "GPG key generation cancelled by user" ) testing global changes @czeildi Data Scientist @Emarsys
ropsec::full_on_audit()$suggestions • Use SSH key of size at least 2048
• Install a PAM module for password strength testing like pam_cracklib audit your computer in detail @czeildi Data Scientist @Emarsys
{ropsec}: available on GitHub • sign your commits • audit
your computer