Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
PFA pour "Paradigme de Field Augmenté". Ce gem permet de le gérer de façon simple.
Add this line to your application's Gemfile:
gem 'pfa'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install pfa
On commence toujours par instancier un nouveau paradigme.
require 'pfa'
pfa = PFA::new
Ou on définit directement toutes les valeurs cf. ci-dessous
Ensuite, on le renseigne en lui ajoutant des nœuds :
pfa.add :incident_declencheur, {t:"0+12+0", d:"Louis tue Harlan, le violeur de Selma"}
pdf.add :pivot1, {t:"0,23,15", d:"Louise décide de fuir au Mexique."}
# etc.
Il faut aussi définir le "zéro" absolu du film et son temps de fin.
Ce "zéro" permettra de rectifier tous les temps quelle que soit la vidéo utilisée. Par exemple, ce zéro peut être le timecode de la toute première image du film, ou le timecode de l'apparition du titre. Tous les autres temps seront donnés normalement.
pfa.zero = "0:00:25"
pfa.end_time = "1:58:56"
On peut aller très vite en définissant tout :
require 'pfa'
data_paradigme = {
zero: 35,
end_time: 2*60+15,
incident_declencheur: {t:'0+10+25', d:"LUI rencontre ELLE pour la première fois."},
pivot1: {t:'0:25;56', d:"<description du premier pivot"},
developpement_part1: {t: 30*60, d:"<description de la première partie du développement>"}
# etc. avec toutes les données requises (cf. ci-dessous)
# ...
}
pfa = PFA.new(data_paradigme)
pfa.to_img
# => produit l'image du paradigme
# Ou
pfa.to_img(**{as: :default})
# => Produit l'image avec d'autres dimension
Noter les différentes formes que peut prendre le temps : une horloge normale ("0:23:45"), une horloge avec des "+" (attention : ce n'est pas une addition, c'est juste un signe plus facile à écrire), une horloge avec des virgules ("0,3,15" — plus facile à écrire aussi), un nombre de secondes (3752), et même un temps
Time
(Time.at(152)).
Pour pouvoir être construit, un PFA doit définir au moins les nœuds suivants. Tous ces nœuds doivent être définis avec la méthode pfa#add
et les deux arguments requis, la clé symbolique (p.e. :pivot2
) et une table contenant la clé t:
(timecode), la clé d:
(description) et optionnellement la clé :duree
(nombre de secondes).
:exposition
:incident_declencheur
:pivot1
:developpement_part1
:developpement_part2
:pivot2
:denouement
:climax
Si un de ces nœuds n'est pas défini, ou que les propriétés
zero
etend_time
ne sont pas définies, la construction produira une erreur.
La liste complète des clés utilisables et définissables de la même manière est :
:exposition
:preambule
:incident_perturbateur
:incident_declencheur
:zone_de_refus
:pivot1
:developpement_part1
:premiere_action
:premier_tiers
:cle_de_voute
:developpement_part2
:premiere_action_dev2
:deuxieme_tiers
:crise
:pivot2
:denouement
:premier_action_denouement
:climax
:desinence
Une fois les nœuds du paradigme définis, on peut le construire…
sous forme d'image JPEG :
pfa.to_img
Par défaut, ce sera une image pour un livre (environ A5) d'analyse de film comme ceux produit par la collection « Leçons du cinéma ».
sous forme de fichier HTML (non encore implémenté) :
pfa.to_html
Des options de sortie (premier argument de #to_img
ou #to_html
) permettent d'affiner la sortie attendue.
[À développer]
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/PhilippePerret/pfa.
FAQs
Unknown package
We found that pfa demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.